Configurazione iniziale richiesta quando si installa CentOS.
Data di pubblicazione:8 dicembre 2020.
INFOMARTION > Configurazione iniziale richiesta quando si installa CentOS.
Panoramica.
Questa sezione descrive le prime impostazioni necessarie dopo l'installazione di CentOS. È costruito con CentOS 7.6 (1810).
Indice dei contenuti
- impostazione di base
- 1-1. Verifica del sistema operativo
- 1-2. Installazione dello strumento
- 1-3. Disabilitare selinux
- 1-4. utente operativo aggiuntivo
- 1-5. Cambiare la password dell'utente root
- 1-6. Configurazione per proibire l'accesso agli utenti non operativi (proibisce l'accesso all'utente root e ad altri utenti).
- 1-7. sincronizzazione temporale
- 1-8. Impostazioni di autenticazione delle chiavi
- sintesi
1. impostazione di base
Questa sezione descrive le impostazioni di base necessarie subito dopo l'installazione di CentOS.
1-1. Verifica del sistema operativo
Innanzitutto, verificare che sia installato il sistema operativo corretto.
[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
CentOS Linux release 7.6.1810 (Core)" è il sistema operativo installato. Verificare che sia corretto.
1-2. Installazione dello strumento
Subito dopo l'installazione, i comandi di base come ifconfig non possono essere eseguiti. Pertanto, l'installazione viene eseguita in modo che i comandi di base per il networking e altri comandi possano essere eseguiti da yum.
Se necessario, è possibile aggiornare ciò che è già stato installato con "yum -y update".
[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute
net-tools・・・Il comando ifconifg e altri possono essere utilizzati dopo l'installazione.
wget・・・Letteralmente, ma è possibile utilizzare il comando wget. In breve, questo comando invia una richiesta http.
tcpdump・・・Letteralmente, ma è possibile utilizzare il comando tcpdump. In breve, può monitorare le richieste inviate al server.
traceroute・・・Letteralmente, ma è possibile utilizzare il comando traceroute. In breve, mostra il percorso dell'IP di destinazione.
1-3. Disabilitare selinux
Disattivare selinux, poiché è abilitato e potrebbe avere un comportamento inaspettato.
Per cominciare, selinux è un'impostazione legata alla sicurezza. Se siete in grado di usarlo, potete abilitarlo, ma se è difficile, disabilitatelo. La disabilitazione di selinux non rende necessariamente vulnerabile la sicurezza.È più probabile che crei problemi se è abilitato, anche se personalmente non lo capisco bene. La spiegazione semplice è che selinux è una misura di sicurezza dopo che il server è stato violato (configurato per minimizzare i danni in caso di violazione), quindi è più importante adottare misure di sicurezza per evitare che il server venga violato.
Di seguito sono riportati i passaggi per la disattivazione.
[username@hostname ~]$ getenforce
Disabled
Se non è "Disabilitato", può essere modificato con la seguente procedura.
[username@hostname ~]$ vi /etc/selinux/config
SELINUX=enforcing
SELINUX=disabled
'SELINUX' e 'SELINUXTYPE', ma è 'SELINUX' che deve essere modificato. Si noti che se si modifica per errore il "SELINUXTYPE", il server non si avvia.
Riavviate il server e la configurazione avrà effetto.
1-4. utente operativo aggiuntivo
Accedere e lavorare come utente root è pericoloso, quindi aggiungete un utente per accedere. In una fase successiva, disabilitare l'accesso dell'utente root.
Il rischio di lavorare come utente root connesso è che si può fare tutto ciò che si vuole. Il rischio di poter fare qualsiasi cosa è che si possano accidentalmente modificare o cancellare modifiche importanti relative al sistema operativo. Se si utilizza il server per uso personale, ad esempio per hobby o studio, e non si commettono errori così comuni, personalmente non vedo alcun problema ad accedere come utente root. Il motivo principale per non permettere all'utente root di accedere è la separazione dei poteri. Il team di sviluppo delle app utilizza utenti che toccano solo la directory per lo sviluppo delle app. Il team di sviluppo batch utilizza utenti che toccano solo la directory di sviluppo batch. È meglio separare gli utenti in modo che i team necessari possano toccare le directory necessarie, ad esempio
Di seguito sono riportati i passaggi per l'aggiunta di utenti.
[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx
※xxxxxxxx è il nome dell'utente da aggiungere. Impostare qualsiasi password.
1-5. Cambiare la password dell'utente root
Se non si è l'utente root, passare all'utente root con su - ed eseguire il seguente comando
[username@hostname ~]$ su -
[root@hostname ~]# passwd
※Impostare qualsiasi password.
Non abbandonare mai la password iniziale. La password "root" è la peggiore. Anche le password "password" e "1234" sono piuttosto pericolose. È consigliabile un minimo di otto cifre, compresi i simboli alfanumerici.
Questa impostazione della password è molto importante per le misure di sicurezza e deve essere impostata con la massima attenzione. La modifica della password dell'utente root è abbastanza semplice, ma è bene sapere che abbiamo sentito molte storie di incidenti di sicurezza causati da questa operazione. Non date per scontato che nessuno attaccherà il vostro server perché è di piccole dimensioni. L'attaccante accede a un server casuale con il nome utente "root" e la password "root".
1-6. Configurazione per proibire l'accesso agli utenti non operativi (proibisce l'accesso all'utente root e ad altri utenti).
Limitare il numero di utenti che possono accedere. In particolare, gli utenti root non dovrebbero essere autorizzati ad accedere. Se si accede come root, è come se tutte le misure di sicurezza fossero disattivate.
Di seguito sono riportati i passaggi per disabilitare il login dell'utente root e per aggiungere gli utenti che possono accedere. Passare all'utente root e modificare il file di configurazione. (È possibile passare all'utente root con 'su-', ma non è possibile accedere).
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
※xxxxxxxx è il nome dell'utente operativo appena aggiunto.
Si noti che se il nome AllowUsers è errato, nessuno sarà in grado di accedere, quindi controllate attentamente i nomi degli utenti.
Controllare la sintassi e riavviare sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
Una volta effettuato il logout e confermato che non si può accedere come root e che si può accedere come utente operativo aggiunto, il gioco è fatto.
1-7. sincronizzazione temporale
Controllare che l'ora sia sincronizzata. A volte l'ora del server non è sincronizzata, quindi la data e l'ora dell'output del registro vengono emesse in un momento diverso da quello previsto e l'analisi del problema richiede molto tempo.
Verificare l'avvio del processo di sincronizzazione temporale (chronyd). Controllare lo stato di sincronizzazione dell'ora. Si noti che CentOS7 è 'chronyd', mentre i precedenti sono 'ntpd', quindi fate attenzione se siete su 6 o precedenti.
[root@hostname ~]# ps aux | grep chronyd
chrony 567 0.0 1.3 117804 13664 ? SL 5月04 0:04 /usr/sbin/chronyd
root 32489 0.0 0.0 112732 972 pts/1 S+ 16:30 0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
Local time: giorno (del mese) 2020-11-29 16:30:43 JST
Universal time: giorno (del mese) 2020-11-29 07:30:43 UTC
RTC time: giorno (del mese) 2020-11-29 07:30:43
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
È corretto se "Ora locale" corrisponde all'ora corrente, "NTP abilitato" è sì e "NTP sincronizzato" è sì.
1-8. Impostazioni di autenticazione delle chiavi
Per gli utenti operativi appena aggiunti, consentire loro di accedere solo con l'autenticazione tramite chiave.
La semplice disabilitazione dell'autenticazione tramite password aumenta notevolmente la sicurezza. Nel caso dell'autenticazione tramite password, se si utilizza una password complessa, in pratica non sarà possibile effettuare l'accesso, ma la possibilità non è pari allo zero per cento. Tuttavia, nel caso dell'autenticazione tramite chiave, l'accesso è possibile solo se si possiede la chiave; pertanto, se si gestisce la chiave in modo corretto, non sarà possibile effettuare l'accesso.
Di seguito viene descritta la procedura per l'impostazione dell'autenticazione tramite chiave.
[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048
※xxxxxxxx è il nome dell'utente operativo aggiuntivo.
※Dopo aver eseguito il comando "ssh-keygen -t rsa -b 2048", verrà richiesta una risposta, tutti i valori predefiniti e premere "Invio". Si può configurare anche senza password. (L'inserimento di una password offre una sicurezza aggiuntiva come l'autenticazione tramite chiave più password, ma in questo caso non si presuppone alcuna password).
Verificare quindi che la chiave sia stata creata.
[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh
※xxxxxxxx è il nome dell'utente operativo aggiuntivo.
Verificare che la chiave privata "id_rsa" e la chiave pubblica "id_rsa.pub" siano memorizzate.
Rinominare la chiave pubblica e spostare la directory in cui scaricare la chiave privata.
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa
※xxxxxxxx è il nome dell'utente operativo aggiuntivo.
Cancellare la chiave privata (id_rsa) dal server dopo averla spostata localmente.
Spostare /home/xxxxxxxx/id_rsa in locale. (Andare ad esempio su WinSCP).
Dopo lo spostamento, eseguire il comando di cancellazione.
[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa
※xxxxxxxx è il nome utente aggiunto al punto (3).
In questo modo si completa l'impostazione dell'autenticazione delle chiavi. Verificare che sia possibile accedere con la chiave privata creata.
Una volta confermata la possibilità di accedere, l'ultimo passo consiste nel modificare le impostazioni in modo che non sia possibile accedere con la verifica della password.
[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config
PasswordAuthentication yes
PasswordAuthentication no
Controllare la sintassi e riavviare sshd.
[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd
In questo modo si completa l'impostazione dell'autenticazione delle chiavi.
2. sintesi
Abbiamo descritto la configurazione iniziale richiesta al momento dell'installazione di CentOS.
Le informazioni contenute in questo articolo sono il minimo che dovrebbe essere implementato durante l'installazione di CentOS, quindi se si ritiene che ci siano delle carenze dopo aver letto questo articolo, provare a configurarle.
Grazie per aver guardato fino alla fine.
■INFORMATION
Fare clic qui per accedere alla pagina superiore di INFORMAZIONI.
■PROFILE
■Dettagli di contatto.
Per richieste di informazioni sull'articolo, contattateci qui.