Ricerca nel sito web

Installazione e configurazioni iniziali del server su CentOS 7


Questo tutorial spiegherà i primi passi fondamentali che devi compiere dopo aver installato un sistema CentOS 7 minimo senza ambiente grafico per ottenere informazioni sul sistema installato, l'hardware su cui gira il sistema e configurare altre attività di sistema specifiche, come rete, privilegi di root, software, servizi e altro.

Requisiti

  1. Installazione minima di CentOS 7

Importante: gli utenti di RHEL 7 possono seguire questo articolo per eseguire una configurazione iniziale del server su RHEL 7.

Aggiorna il sistema CentOS 7

Il primo passo che devi eseguire su un sistema CentOS appena installato è assicurarti che il sistema sia aggiornato con le ultime patch di sicurezza del kernel e del sistema, repository software e pacchetti.

Per aggiornare completamente un sistema CentOS 7, immetti i seguenti comandi con privilegi di root.


yum check-update
yum upgrade

Una volta completato il processo di aggiornamento, per liberare spazio su disco è possibile rimuovere tutti i pacchetti scaricati utilizzati nel processo di aggiornamento insieme a tutte le informazioni sui repository memorizzati nella cache eseguendo il comando seguente.


yum clean all

Installa le utilità di sistema su CentOS 7

I seguenti pacchetti di utilità possono rivelarsi utili per l'amministrazione quotidiana del sistema: nano (editor di testo per sostituire l'editor vi), wget, curl (utilità utilizzate per scaricare pacchetti principalmente in rete) net-tools, lsof (utilità per la gestione della rete locale) e bash-completion (completamento automatico della riga di comando).

Installali tutti in un colpo solo eseguendo il comando seguente.


yum install nano wget curl net-tools lsof bash-completion

Configura la rete in CentOS 7

CentOS 7 dispone di un'ampia gamma di strumenti che possono essere utilizzati per configurare e gestire la rete, dalla modifica manuale del file di configurazione della rete all'utilizzo di comandi come ip, ifconfig, nmtui, nmcli o percorso.

L'utilità più semplice che un principiante può utilizzare per gestire e modificare le configurazioni di rete è la riga di comando grafica nmtui.

Per modificare il nome host del sistema tramite l'utilità nmtui, esegui il comando nmtui-hostname, imposta il nome host della tua macchina e premi OK per terminare, come illustrato nello screenshot qui sotto.


nmtui-hostname

Per manipolare un'interfaccia di rete, esegui il comando nmtui-edit, scegli l'interfaccia che desideri modificare e seleziona modifica dal menu a destra, come mostrato nello screenshot seguente.


nmtui-edit

Una volta entrato nell'interfaccia grafica fornita dall'utilità nmtui puoi configurare le impostazioni IP dell'interfaccia di rete come illustrato nello screenshot seguente. Al termine, vai a OK utilizzando il tasto [tab] per salvare la configurazione e uscire.

Per applicare la nuova configurazione dell'interfaccia di rete, esegui il comando nmtui-connect, seleziona l'interfaccia che desideri gestire e premi l'opzione Disattiva/Attiva per disattivare e ripristinare l'interfaccia con le impostazioni IP, come presentato negli screenshot seguenti.


nmtui-connect

Per visualizzare le impostazioni dell'interfaccia di rete, è possibile controllare il contenuto del file di interfaccia oppure eseguire i comandi seguenti.


ifconfig enp0s3
ip a
ping -c2 google.com

Altre utilità utili che possono essere utilizzate per gestire la velocità, lo stato del collegamento o ottenere informazioni sulle interfacce di rete della macchina sono ethtool e mii-tool.


ethtool enp0s3
mii-tool enp0s3

Un aspetto importante della rete della tua macchina è elencare tutti i socket di rete aperti per vedere quali programmi sono in ascolto su quali porte e qual è lo stato delle connessioni di rete stabilite.

Per elencare tutti i server che hanno aperto socket TCP o UDP in stato di ascolto, immetti i seguenti comandi. Tuttavia, il server UDP non elencherà alcuno stato del socket poiché UDP è un protocollo senza connessione che invia solo pacchetti sulla rete e non stabilisce connessioni.


netstat -tulpn
ss -tulpn
lsof -i4 -6

Gestisci i servizi in CentOS 7

CentOS 7 gestisce demoni o servizi tramite l'utilità systemctl. Per elencare lo stato di tutti i servizi, emettere il comando seguente.


systemctl list-units

Per verificare se un demone o un servizio è abilitato per l'avvio automatico all'avvio del sistema, emettere il comando seguente.


systemctl list-unit-files -t service

Per elencare i vecchi servizi SysV presenti nel tuo sistema e disabilitarli esegui i seguenti comandi chkconfig.


chkconfig --list
chkconfig service_name off

5. Disabilita i servizi indesiderati in CentOS 7

Si consiglia dopo aver installato CentOS 7, di elencare quali servizi sono in esecuzione nel sistema eseguendo i comandi di cui sopra e disabilitarli e rimuoverli per ridurre i vettori di attacchi contro il sistema.

Ad esempio, il demone Postfix è installato e abilitato per impostazione predefinita in CentOS 7. Se il tuo sistema non richiede l'esecuzione di un server di posta, è meglio interrompere, disabilitare e rimuovere il servizio postfix immettendo i comandi seguenti .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

Oltre ai comandi netstat, ss, lsof o systemctl, puoi anche eseguire i comandi ps, top o pstree per scoprire e identificare quali servizi indesiderati sono in esecuzione nel tuo sistema e disabilitarli o rimuoverli.

Per impostazione predefinita, l'utilità pstree non è installata in CentOS 7. Per installarla eseguire il seguente comando.


yum install psmisc
pstree -p

Abilita il firewall in CentOs 7

Firewalld è la principale utility firewall con cui interagisce per gestire le regole di iptables.
Per abilitare, avviare e verificare il firewall in CentOS 7, eseguire i seguenti comandi.


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Per aprire un servizio specifico alle connessioni in entrata, verificare prima se l'applicazione è già presente nelle regole firewalld e, poi, aggiungere la regola per il servizio, come mostrato nell'esempio seguente che permette SSH. Utilizza l'opzione --permanent per aggiungere la regola in modo permanente.


firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Nel caso in cui il servizio sia già definito nelle regole firewalld, è possibile aggiungere manualmente la porta del servizio, come mostrato nell'esempio seguente.


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

Abilita le autorizzazioni Sudo sugli account utente

Per concedere i permessi di root per un utente normale, creare prima l'utente emettendo il comando adduser, impostare la password per l'utente e concedere i permessi di root all'utente eseguendo il comando seguente che aggiunge il nuovo utente al gruppo di ruote amministrativo.


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

Per verificare se il nuovo utente ha i privilegi di root, accedi al sistema con le credenziali dell'utente ed esegui il comando yum con autorizzazioni sudo, come mostrato nell'estratto seguente.


su - tecmint
sudo yum update

Configura l'autenticazione con chiave pubblica SSH su CentOS 7

Per proteggere SSH il tuo server e impostare l'autenticazione con chiave pubblica per aumentare la sicurezza del tuo server con una chiave SSH privata per accedere, genera prima una coppia di chiavi SSH con il seguente comando.

Non inserire una passphrase nel caso in cui desideri automatizzare la gestione del server tramite SSH.


ssh-keygen -t RSA

Dopo che le coppie di chiavi SSH sono state generate, copia la chiave sul server a cui desideri connetterti emettendo il comando seguente. Inizialmente, inserisci la password dell'utente SSH remoto per copiare la chiave pubblica.


ssh-copy-id remote_user@SSH_SERVER_IP

Dopo che la chiave pubblica SSH è stata copiata sul server remoto, accedi al server SSH remoto con il seguente comando.


ssh remote_user@SSH_SERVER_IP

Infine, per proteggere il server SSH, assicurati di non consentire l'accesso SSH remoto all'account root aprendo il file SSH di configurazione /etc/ssh/sshd_config con il tuo editor di testo come root e modificalo da Da a No.


PermitRootLogin no

Per applicare l'impostazione è necessario riavviare il servizio SSH in modo che utilizzi la nuova configurazione.


systemctl restart sshd

È tutto! Queste sono solo alcune impostazioni e comandi di base che ogni amministratore di sistema deve conoscere e applicare su un sistema CentOS appena installato o per eseguire attività quotidiane sul sistema.

Per proteggere e rafforzare il server CentOS 7, consulta questi articoli seguenti.

  1. La mega guida per rafforzare e proteggere CentOS 7 - Parte 1
  2. La mega guida per rafforzare e proteggere CentOS 7 - Parte 2

Se hai intenzione di distribuire siti Web su questo sistema CentOS 7, scopri come impostare e configurare lo stack LAMP o lo stack LEMP.