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

  1. impostazione di base
  2. 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


config【Prima del cambiamento】


SELINUX=enforcing


config【dopo la modifica】


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


sshd_config【Prima del cambiamento】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【dopo la modifica】


#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


sshd_config【Prima del cambiamento】


PasswordAuthentication yes


sshd_config【dopo la modifica】


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

Cliccare qui per un profilo.


■Dettagli di contatto.

Per richieste di informazioni sull'articolo, contattateci qui.