GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire la configurazione iniziale del server CentOS 7

Introduzione

System CentOS 7 è molto diverso dai suoi predecessori precedenti. Con qualsiasi server, l'obiettivo principale dovrebbe essere sempre la sicurezza. Molti utenti sono vittime di infiltrazioni dannose sui loro server a causa della mancanza di limiti di sicurezza stabiliti fin dall'inizio. Cominciamo sulla strada giusta gettando le nostre fondamenta con sicurezza. Questo how-to ti aiuterà con la tua configurazione iniziale su CentOS 7 in modo da poter proteggere correttamente il tuo server dandoti la massima tranquillità sapendo che il tuo server è protetto.

Di cosa hai bisogno?

È necessario un server CentOS 7 configurato con un indirizzo IP statico. Se non disponi già di un server, prendi in considerazione un server di alta qualità da Atlantic.net e sarai attivo in meno di 30 secondi.

Preparazione del server

Per iniziare, accedi al tuo server CentOS 7 tramite SSH o la console VNC che si trova qui. I server Atlantic.Net Cloud sono impostati come installazioni minime per evitare che pacchetti non necessari vengano installati e mai utilizzati. Se alcuni pacchetti software a cui sei abituato non sono installati per impostazione predefinita, sentiti libero di installarli secondo necessità.

Assicuriamoci che il tuo server sia completamente aggiornato.

yum update

Possiamo continuare il processo e proteggere il tuo server con il server aggiornato.

Aggiorna la password di root di CentOS 7

Digita il seguente comando per attivare la tua richiesta e segui le istruzioni sullo schermo per aggiornare/confermare la tua password di root:

passwd

Crea un nuovo utente con privilegi sudo

Dopo aver aggiornato con successo la tua password, ti consigliamo di creare un nuovo utente con autorizzazioni sudo/root. Poiché l'utente amministratore tipico per molti sistemi operativi Linux come CentOS 7 è "root", creeremo un nuovo utente amministratore che verrà utilizzato per le attività di amministrazione quotidiane. La creazione di un nuovo utente con permessi di root aumenterà la sicurezza dell'accesso al tuo server. Gli utenti indesiderati prendono di mira l'utente root perché sanno che è l'utente amministratore predefinito. Tuttavia, quando crei un nuovo utente con autorizzazioni sudo/root e quindi disabiliti l'utente root predefinito, non sapranno mai con quale utente accedere.

Digita il seguente comando per creare il tuo nuovo utente sostituendo "utente1" con il tuo nome utente e conferma.

adduser user1

Crea una password per quell'utente digitando il seguente comando per attivare la tua richiesta e seguendo le istruzioni sullo schermo per aggiornare/confermare la tua password "utente1":

passwd user1

Dopo aver creato un nuovo utente e la password, è il momento di aggiungere l'utente al gruppo sudo wheel. In CentOS 7, una volta aggiunti al gruppo sudo wheel, vengono automaticamente assegnati permessi sudo/root. Esegui il comando seguente per aggiungere l'utente al gruppo sudo wheel.

 gpasswd -a user1 wheel

Infine, dopo aver creato l'utente con autorizzazioni sudo/root, puoi uscire dalla sessione e accedere nuovamente con il tuo "utente1" per verificare le modifiche apportate. In alternativa, puoi eseguire il comando seguente e cambiare gli utenti da root a "user1", che ti chiederà la parola d'ordine di quell'utente.

su - user1

Configura accesso SSH

La porta 22 è la porta predefinita per le connessioni remote tramite SSH nei sistemi Linux. Modificando la porta ssh, aumenterai la sicurezza del tuo server impedendo agli attacchi di forza bruta e agli utenti indesiderati di raggiungere il tuo server utilizzando la porta predefinita. Per questo tutorial, userò Port 5022 come esempio.

Apri il tuo file di configurazione SSH, trova la riga Port, rimuovi il # e cambia il numero 22 nella tua porta personalizzata. Salva ed esci.

sudo vi /etc/ssh/sshd_config
#Port 22
Port 5022

Affinché il tuo sistema aggiorni le impostazioni dal file di configurazione SSH, dobbiamo riavviare sshd.

sudo systemctl restart sshd.service

SSH è stato ora configurato per utilizzare la porta 5022 e, se tenti di accedere utilizzando la porta 22, il tuo accesso non riuscirà. Tuttavia, non uscire dalla sessione poiché è necessario configurare prima la porta personalizzata nella parte di configurazione dei firewall, che configureremo nei passaggi successivi.

Limita accesso root

Poiché abbiamo controllato un nuovo utente con autorizzazioni di root e creato una porta ssh personalizzata, mantieni l'utente root effettivo disponibile e vulnerabile su SSH sul tuo server. Limitiamo l'accesso dell'utente root al server locale e concediamo l'autorizzazione al nuovo utente solo tramite SSH.

Apri il file di configurazione SSH, trova la riga PermitRootLogin, rimuovi il # e cambialo da yes a no.

sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

Affinché il tuo sistema aggiorni le nuove impostazioni nel file di configurazione SSH, dobbiamo riavviare il servizio sshd.

sudo systemctl restart sshd.service

Nota:ora avrai l'utente root disabilitato nell'apportare tali modifiche, quindi devi accedere al tuo server con il "cappello" utente che hai creato. Tuttavia, non uscire dalla sessione; dobbiamo configurare la porta personalizzata sul firewall nei prossimi passaggi.

Crea una chiave SSH privata

Chiavi SSH pubbliche/private sono ottime funzionalità aggiuntive che aumentano la sicurezza nel metodo di un server. Tuttavia, la configurazione richiede un po' più di sforzo. La domanda è:il tuo server vale la sicurezza extra? Se desideri implementare le seguenti funzionalità di sicurezza, puoi continuare con i passaggi successivi. Procediamo e generiamo la chiave SSH.

ssh-keygen

Se desideri modificare la posizione in cui verrà salvata la chiave SSH, puoi specificarla qui. Tuttavia, la posizione predefinita in cui è archiviato dovrebbe essere OK. Premi Invio quando ti viene richiesto con la seguente domanda, quindi inserisci una passphrase, a meno che tu non ne voglia una.

Enter file in which to save the key (/home/user1/.ssh/id_rsa):

Questa è la pagina predefinita durante l'installazione di chiavi SSH su un server CentOS 7

La configurazione della chiave SSH è fondamentale. Dobbiamo copiare l'intera stringa di chiavi in ​​un documento Word/Blocco note. La chiave può essere visualizzata nella seguente posizione con il comando cat.

cat ~/.ssh/id_rsa.pub

Copia la chiave SSH, che inizia con ssh-rsa e termina con [email protected], in un documento Word/Blocco note per aggiungerla al file di configurazione in seguito.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]

Una volta che la chiave SSH è stata archiviata in modo sicuro, la directory per le chiavi SSH necessita di autorizzazioni limitate, che solo il proprietario può leggere, scrivere ed eseguire il file.

chmod 700 .ssh

All'interno della directory SSH deve essere aggiunto un file contenente la SSH Key, semplicemente utilizzando il proprio editor (in questo caso VI) al seguente percorso:

vi .ssh/authorized_keys

Incolla la chiave SSH, quindi salva ed esci utilizzando il formato VI.

Infine, dobbiamo limitare i permessi del file authorized_keys che abbiamo appena creato in modo che solo il proprietario possa leggere e scrivere.

chmod 600 .ssh/authorized_keys

Ora possiamo verificare che la chiave funzioni chiudendo la sessione e digitando [email protected] o i tuoi server ospitati nella tua console SSH. Inoltre, puoi fare clic "qui" per vedere il nostro articolo Come generare e utilizzare le chiavi SSH per ulteriori informazioni.

Regole di base del firewall

sudo systemctl start firewalld

Successivamente, aggiungeremo una regola per consentire alla porta SSH personalizzata 5022 creata in precedenza di accedere pubblicamente al server. Allo stesso tempo, rimuoveremo la precedente regola predefinita che consente l'accesso SSH su TCP/22.

sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh

Se disponi di un server web, potresti voler consentire alle seguenti regole di accedere ai tuoi siti su Internet.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Puoi usarlo per regole simili relative a tutti i sistemi che desideri siano accessibili pubblicamente. Questo server di prova è configurato per ospitare un sito Web e servizi di posta elettronica, quindi oltre alle regole SSH e HTTP(S) aggiornate, sono state aggiunte regole aggiuntive per POP3, IMAP e SMTP sicuri.

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Affinché Firewalld accetti tali impostazioni, è necessario riavviare il firewall.

sudo firewall-cmd --reload

Le tue impostazioni saranno state salvate e sarai pronto per procedere.
Per verificare tutti i servizi/porte disponibili, esegui quanto segue:

sudo firewall-cmd --permanent --list-all

Questa è la pagina predefinita dopo aver configurato le regole Firewalld su un server CentOS 7

Sincronizzazione ora NTP

L'NTP (Network Time Protocol) viene utilizzato per sincronizzare l'ora e la data dei computer sulla rete per rimanere accurati e aggiornati. Iniziamo installando l'NTP (se non è stato installato) e configurando il servizio per la sincronizzazione con i loro server.

sudo yum install ntp

Una volta installato il servizio NTP, dobbiamo assicurarci che il servizio sia attivo.

sudo systemctl start ntpd

Ora che il servizio è stato avviato, consentiamo al server NTP di aggiornare costantemente i server dal server NTP.

sudo systemctl enable ntpd

Aggiungi file di scambio

Un file Swap è semplicemente una piccola quantità di spazio creata su un disco rigido del server per simulare la RAM. Se il server sta esaurendo la memoria, esaminerà il disco rigido e allevierà il carico inducendo il sistema a pensare di avere più memoria. Imposteremo il file di scambio sul disco rigido per aumentare un po' di più le prestazioni del server.

Inizia controllando le tue risorse per assicurarti di poter aggiungere il file. Quando esegui il comando seguente, vedrai la percentuale di spazio sul disco rigido attualmente in uso.

df -h

Quando crei un file di scambio, di solito vuoi aggiungere metà della tua RAM esistente fino a 4 GB (se hai 1 GB di RAM effettiva, aggiungi un file da 512 MB). In questa parte, aggiungerò un file di scambio da 512 MB all'unità. Il modo in cui viene calcolato è di 1024 x 512 MB =524288 dimensioni del blocco.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Ora che abbiamo aggiunto un file di scambio, è necessario creare un'area per procedere.

sudo mkswap /swapfile

Con il file di scambio creato e l'area file di scambio aggiunta, possiamo aggiungere autorizzazioni al file in modo che solo il proprietario possa leggere e scrivere.

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Ora che il file di scambio ha le autorizzazioni appropriate, possiamo andare avanti e attivarlo.

sudo swapon /swapfile

Puoi verificare il file di scambio appena aggiunto con quanto segue.

sudo swapon -s

Per rendere il file Swap sempre attivo anche dopo un riavvio, dobbiamo configurarlo di conseguenza.

sudo vi /etc/fstab

Incolla il comando seguente in fondo al file, salva il lavoro ed esci.

/swapfile              swap   swap     defaults     0 0

Infine, verifica se il tuo file di scambio è attivato digitando il seguente comando:

free -m

Questa è la pagina predefinita dopo aver creato un file di scambio su un server CentOS 7

E poi?

Con ciò, ora hai un server con solide basi di sicurezza, che ti dà la tranquillità di sapere che il tuo server è protetto. Ora puoi procedere con la costruzione della tua piattaforma in base alle tue esigenze. Grazie per averci seguito e non esitare a ricontrollare con noi per ulteriori aggiornamenti.

Scopri di più sui nostri servizi di hosting VPS e sul prezzo di hosting VPS.


Linux
  1. Come configurare un server SFTP su CentOS

  2. Come configurare il server SysLog su CentOS 7 / RHEL 7

  3. Come configurare il server NFS su CentOS 7 / RHEL 7

  4. Come configurare il server NTP in CentOS?

  5. Come configurare VSFTPD su CentOS 7.x?

CentOS 8 – Configurazione iniziale del server

Procedura:configurazione iniziale del server Ubuntu 15.04

Procedura:Configurazione iniziale del server Fedora 21

Procedura:configurazione iniziale del server Debian 8.2

Configurazione iniziale del server con Ubuntu 18.04

Come configurare HAProxy su CentOS 8