Questo tutorial copre solo il generale, consigli di sicurezza per CentOS 8/7 che può essere utilizzato per indurire il sistema. La lista di controllo di consigli sono destinati ad essere utilizzati principalmente su vari tipi di server bare-metal o su macchine (fisico o virtuale) che forniscono servizi di rete.

Tuttavia, alcuni consigli possono essere applicati con successo per general-purpose macchine, come Desktop, Laptop, e dimensioni di una carta di single-board computer (Raspberry Pi).

Requisiti

1. Protezione Fisica

Blocco il server camere accesso, utilizzare rack di chiusura e di video sorveglianza. Prendere in considerazione che qualsiasi accesso fisico al server camere possono esporre la tua macchina a gravi problemi di sicurezza.

BIOS le password possono essere modificate reimpostando i jumper sulla scheda madre o scollegando la batteria CMOS. Inoltre, un intruso può rubare l’hard disk o direttamente collegare il nuovo disco rigido alla scheda madre interfacce (SATA, SCSI, ecc), il boot con una distro live di Linux, e duplicare o copiare i dati senza lasciare alcun software traccia.

2. Ridurre Spiare Impatto

In caso di dati altamente sensibili, probabilmente si dovrebbe utilizzare avanzate di protezione fisica come l’inserimento e la chiusura del server in una Gabbia di Faraday o utilizzare un militare TEMPESTA soluzione per ridurre al minimo l’impatto di spiare il sistema via radio o elettrica perdite di emanazioni.

3. Sicuro BIOS/UEFI

Avviare il processo di indurimento della macchina da proteggere BIOS/UEFI impostazioni, in particolare impostare un BIOS/UEFI password e disabilitare l’avvio di dispositivi multimediali (CD, DVD, disabilitare il supporto USB) in modo da impedire agli utenti di modificare le impostazioni del BIOS di sistema o modificare la priorità del dispositivo di avvio e avviare la macchina con un altro mezzo.

Per applicare questo tipo di modifica per la vostra macchina, è necessario consultare il produttore della scheda madre manuale per le istruzioni specifiche.

4. Secure Boot Loader

Impostare un GRUB password per impedire a utenti malintenzionati di manomettere kernel boot sequence o livelli di esecuzione, modificare i parametri del kernel o avviare il sistema in modalità utente singolo per danneggiare il sistema e resettare la password di root per ottenere il controllo privilegiato.

5. Utilizzare Partizioni Distinte

Durante l’installazione CentOS su sistemi inteso come produzione di server dedicati partizioni o dedicato dischi rigidi per le seguenti parti del sistema:

/(root) 
/boot  
/home  
/tmp 
/var 

6. Utilizzare LVM e RAID per la Ridondanza e File di Sistema di Crescita

Il /var la partizione è il luogo in cui i messaggi di log vengono scritti su disco. Questa parte del sistema può crescere in modo esponenziale nella dimensione fortemente il traffico dei server che mettono a disposizione i servizi di rete come server web o file server.

Quindi, utilizzare una partizione di grandi dimensioni per /var o considerare l’impostazione di questa partizione utilizzando i volumi logici (LVM) o combinare più dischi fisici in una virtuale più grande RAID 0 dispositivo di sostenere grandi quantità di dati. Per i dati, la ridondanza considerazione sull’uso di LVM layout sulla cima di il RAID 1 livello.

Per la configurazione di LVM o RAID sui dischi, seguire le nostre guide utili:

  1. Il Disco di installazione di Archiviazione con LVM in Linux
  2. Creare Dischi LVM Utilizzando vgcreate, lvcreate e lvextend
  3. Combinare Più Dischi in Un unico Grande spazio di Archiviazione Virtuale
  4. Creare il RAID 1 che Utilizza Due Dischi in Linux

7. Modificare fstab Opzioni per la protezione dei Dati Partizioni

Partizioni Separate inteso per la memorizzazione di dati e di impedire l’esecuzione di programmi, file di dispositivo o setuid po ‘ su questi tipo di partizioni aggiungendo le seguenti opzioni fstab file, come illustrato nella seguente estratto:

/dev/sda5 	 /nas          ext4    defaults,nosuid,nodev,noexec 1 2

Per evitare privilege escalation di violenza e arbitraria esecuzione di script di creare una partizione separata per /tmp e montarla come nosuid, nodeve noexec.

/dev/sda6  	/tmp         ext4    defaults,nosuid,nodev,noexec 0 0

8. Crittografare i Dischi Rigidi a livello di blocco con LUKS

Al fine di proteggere i dati sensibili snooping in caso di accesso fisico alla macchina hard disk. Ti consiglio di imparare a crittografare il disco, la lettura del nostro articolo Linux Disco Rigido di Crittografia dei Dati con LUKS.

9. Utilizzare PGP e la Crittografia a Chiave Pubblica

Per crittografare dischi, utilizzare PGP e la Crittografia a Chiave Pubblica o di comando OpenSSL per cifrare e decifrare i file con una password, come mostrato in questo articolo Configurare Crittografato Linux Sistema di Archiviazione.

10. Installare Solo l’Importo Minimo dei Pacchetti Richiesti

Evitare di installare irrilevanti o inutili programmi, applicazioni o servizi, per evitare pacchetto di vulnerabilità. Questo può diminuire il rischio che il compromesso di un pezzo di software che può portare alla compromissione di altre applicazioni, parti del sistema, o anche sistemi di file, infine con conseguente danneggiamento di dati o perdita di dati.

11. Aggiornare il sistema di frequente

Aggiornare il sistema regolarmente. Tenere il kernel Linux in sincronia con le ultime patch di sicurezza e tutto il software installato up-to-date con le ultime versioni eseguendo il seguente comando:

# yum update

12. Disabilitare Ctrl+Alt+Canc

Per impedire agli utenti di riavviare il server, una volta che hanno accesso fisico ad una tastiera o tramite una Console Remota di Applicazioni virtualizzati console (KVM, Software di virtualizzazione interface) è necessario disattivare Ctrl+Alt+Del sequenza di tasti da eseguire il seguente comando.

# systemctl mask ctrl-alt-del.target 

13. Rimuovere Inutili Pacchetti Software

Installare il software indispensabile necessarie per la vostra macchina. Mai installare programmi aggiuntivi o servizi. Installare i pacchetti solo da persone di fiducia o repository ufficiali. Il minimo utilizzo di installazione del sistema nel caso in cui la macchina è destinata a gestire la sua vita come un server.

Verificare i pacchetti installati utilizzando uno dei seguenti comandi:

# rpm -qa

Una lista di tutti i pacchetti installati.

# yum list installed >> installed.txt

Consulta l’elenco di software inutile e eliminare un pacchetto eseguendo il seguente comando:

# yum remove package_name

14. Riavviare i Servizi Systemd dopo Demone Aggiornamenti

Utilizzare il seguente esempio di comando per riavviare un servizio di systemd, al fine di applicare i nuovi aggiornamenti.

# systemctl restart httpd.service

15. Rimuovere I Servizi Non Necessari

Identificare i servizi che sono in ascolto su porte specifiche utilizzando il seguente comando ss.

# ss -tulpn

Elenco di tutti i servizi installati con la loro uscita di stato di emettere il seguente comando:

# systemctl list-units -t service

Per esempio, CentOS di default minima di installazione viene fornito con Postfix demone installato di default che viene eseguito dal nome di un master in porta 25. Rimuovere Postfix servizio di rete nel caso in cui la vostra macchina non sarà utilizzato come un server di posta.

# yum remove postfix

16. Crittografare I Dati Trasmessi

Non utilizzare non garantiti protocolli per l’accesso remoto o il trasferimento di file come Telnet, FTPo altro testo normale alta protocolli come SMTP, HTTP, NFS o SMB, che, per impostazione predefinita, non crittografare le sessioni di autenticazione o di dati inviati.

Utilizzare solo sftp, scp per i trasferimenti di file, e SSH o VNC tramite SSH tunnel per console remota o connessioni di accesso dell’interfaccia utente.

In ordine al tunnel di una console VNC tramite SSH utilizzare il seguente esempio che inoltra il VNC porta 5901 dal computer remoto al computer locale:

# ssh -L 5902:localhost:5901 remote_machine

Sulla macchina locale, eseguire il seguente comando per connessione virtuale per l’endpoint remoto.

# vncviewer localhost:5902

17. Di Rete Port Scanning

Condotta porta esterna verifica utilizzando lo strumento Nmap da un sistema remoto tramite LAN. Questo tipo di scansione può essere utilizzato per verificare la vulnerabilità di rete o prova le regole del firewall.

# nmap -sT -O 192.168.1.10

18. Packet-filtering Firewall

Utilizzare firewalld utility per proteggere il sistema di porte, aprire o chiudere specifiche porte dei servizi, in particolare di porte note (<1024).

Installare, avviare, attiva, e di elencare le regole del firewall eseguendo i comandi qui sotto:

# yum install firewalld
# systemctl start firewalld.service
# systemctl enable firewalld.service
# firewall-cmd --list-all

19. Ispezionare i Pacchetti di Protocollo con Tcpdump

Usare tcpdump utilità per sniffare i pacchetti di rete locale e di ispezionare i loro contenuti per il traffico sospetto (origine-destinazione, porte, protocolli TCP/IP, il livello due del traffico, insolito richieste ARP).

Per una migliore analisi delle tcpdump catturato file di uso più avanzato programma come Wireshark.

# tcpdump -i eno16777736 -w tcpdump.pcap

20. Prevenire Attacchi DNS

Ispezionare il contenuto del vostro sistema di risoluzione, in genere /etc/resolv.conf file, che definisce l’indirizzo IP del server DNS da utilizzare per la query per i nomi di dominio, al fine di evitare di ” man-in-the-middle, il traffico non necessario per il root server DNS spoofing o di creare un attacco DOS.

Questa è solo la prima parte. Nella prossima parte parleremo di altri suggerimenti per la sicurezza per CentOS 8/7.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *