Introduzione all'indurimento della sicurezza del server Linux

Introduzione all'indurimento della sicurezza del server Linux
Sedere i tuoi server Linux è un'attività difficile e che richiede tempo per gli amministratori di sistema, ma è necessario indurire la sicurezza del server per mantenerlo al sicuro dagli aggressori e dagli hacker di cappelli neri. È possibile proteggere il tuo server configurando il sistema correttamente e installando i software minimi possibile. Ci sono alcuni suggerimenti che possono aiutarti a proteggere il tuo server dalla rete e gli attacchi di escalation dei privilegi.

Aggiorna il tuo kernel

Il kernel obsoleto è sempre soggetto a diversi attacchi di escalation di rete e privilegiati. Quindi puoi aggiornare il tuo kernel usando Apt In Debian o Yum a Fedora.

$ sudo apt-get update
$ sudo apt-get dist-upgrade

Disabilitare i lavori di radice cron

I lavori di Cron in esecuzione per radice o account di alto livello possono essere utilizzati come un modo per ottenere alti privilegi dagli aggressori. Puoi vedere correre lavori di cron da

$ ls /etc /cron*

Regole rigide del firewall

Dovresti bloccare qualsiasi connessione in entrata o in uscita inutili su porte non comuni. Puoi aggiornare le regole dei firewall utilizzando iptables. Iptables è un'utilità molto flessibile e facile da usare utilizzata per bloccare o consentire il traffico in entrata o in uscita. Per installare, scrivere

$ sudo apt-get Installa iptables

Ecco un esempio per bloccare in arrivo la porta FTP usando iptables

$ iptables -a input -p tcp -dport ftp -j drop

Disabilita servizi inutili

Ferma eventuali servizi indesiderati e i demoni in esecuzione sul tuo sistema. È possibile elencare i servizi di esecuzione utilizzando i seguenti comandi.

ubuntu@ubuntu: ~ $ Service --status-all
[ +] Acpid
[ -] Alsa -Utils
[ -] Anacron
[ +] apache-htcacheclean
[ +] Apache2
[ +] AppAmor
[ +] Apport
[ +] Avahi-Daemon
[ +] Binfmt-Support
[ +] Bluetooth
[ -] CGROUPFS -MOUNT
... Snip ..

O usando il seguente comando

$ chkconfig -list | grep '3: on'

Per fermare un servizio, digita

$ sudo service [service_name] stop

O

$ sudo systemctl stop [service_name]

Controlla backdoors e rootkit

Utilità come Rkhunter e Chkrootkit possono essere utilizzate per rilevare backdoor e rootkit noti e sconosciuti. Verificano pacchetti e configurazioni installati per verificare la sicurezza del sistema. Per installare la scrittura,

ubuntu@ubuntu: ~ $ sudo apt -get Installa rkhunter -y

Per scansionare il sistema, digita

ubuntu@ubuntu: ~ $ sudo rkhunter --check
[Rootkit Hunter versione 1.4.6]
Controllo dei comandi di sistema ..
Eseguendo i controlli di comando "stringhe"
Controllo comando "stringhe" [OK]
Eseguendo i controlli delle "biblioteche condivise"
Verificare le variabili di precarico [nessuno trovato]
Controllare le librerie precaricate [nessuna trovata]
Verifica della variabile LD_Library_Path [non trovata]
Esecuzione dei controlli delle proprietà del file
Controllare i prerequisiti [OK]
/usr/sbin/adduser [OK]
/usr/sbin/chroot [OK]
... Snip ..

Controlla le porte di ascolto

Dovresti verificare le porte di ascolto che non vengono utilizzate e le disabilitano. Per verificare la presenza di porte aperte, scrivi.

azad@ubuntu: ~ $ sudo netstat -ulpnt
Connessioni Internet attive (solo server)
Proto RECV-Q SEND-Q Indirizzo locale Indirizzo estero PID/Nome programma
TCP 0 0 127.0.0.1: 6379 0.0.0.0:* Ascolta 2136/Redis-Server 1
TCP 0 0 0.0.0.0: 111 0.0.0.0:* Ascolta 1273/rpcbind
TCP 0 0 127.0.0.1: 5939 0.0.0.0:* Ascolta 2989/TeamViewerd
TCP 0 0 127.0.0.53:53 0.0.0.0:* Ascolta 1287/Systemd-Resolv
TCP 0 0 0.0.0.0:22 0.0.0.0:* Ascolta il 1939/sshd
TCP 0 0 127.0.0.1: 631 0.0.0.0:* Ascolta 20042/Cupsd
TCP 0 0 127.0.0.1: 5432 0.0.0.0:* Ascolta il 1887/Postgres
TCP 0 0 0.0.0.0:25 0.0.0.0:* Ascolta 31259/Master
... Snip ..

Utilizzare un sistema IDS (test di test di intrusione)

Utilizzare un IDS per controllare i registri della rete e per prevenire eventuali attività dannose. C'è uno sbuffo ID open source disponibile per Linux. Puoi installarlo da,

$ wget https: // www.sbuffo.Org/Downloads/Snort/DAQ-2.0.6.catrame.Gz
$ wget https: // www.sbuffo.org/downloads/snort/snort-2.9.12.catrame.Gz
$ TAR XVZF DAQ-2.0.6.catrame.Gz
$ CD DAQ-2.0.6
$ ./configure && make && sudo make installa
$ tar xvzf snort-2.9.12.catrame.Gz
$ cd snort-2.9.12
$ ./configure --enable-sourcefire && make && sudo make installa

Per monitorare il traffico di rete, digita

ubuntu@ubuntu: ~ $ sudo snort
In esecuzione in modalità dump dei pacchetti
--== Inizializzazione snort ==--
Inizializzazione dei plugin di output!
PCAP DAQ configurato in passivo.
Acquisizione del traffico di rete da "TUN0".
Decodifica IP4 RAW
--== inizializzazione completa ==--
... Snip ..

Disabilita la registrazione come root

Root funge da utente con privilegi completi, ha il potere di fare qualsiasi cosa con il sistema. Invece, dovresti applicare l'utilizzo di Sudo per eseguire comandi amministrativi.

Rimuovere i file di nessun proprietario

I file di proprietà di nessun utente o gruppo possono essere una minaccia per la sicurezza. Dovresti cercare questi file e rimuoverli o assegnare loro un gruppo adeguato. Per cercare questi file, digita

$ find /dir -xdev \ (-nouser -o -nogroup \) -print

Usa SSH e SFTP

Per il trasferimento di file e l'amministrazione remota, utilizzare SSH e SFTP invece di Telnet e altri protocolli insicuri, aperti e non crittografati. Da installare, digitare

$ sudo apt -get install vsftpd -y
$ sudo apt-get install OpenSsh-server -y

Monitorare i registri

Installa e imposta un'utilità analizzatore di registro per controllare regolarmente i registri e i dati degli eventi per prevenire qualsiasi attività sospetta. Tipo

$ sudo apt -get install -y loganalyzer

Disinstallare i software inutilizzati

Installare i software il più minimo possibile per mantenere una piccola superficie di attacco. Più software hai, più possibilità di attacchi hai. Quindi rimuovi qualsiasi software non necessario dal sistema. Per vedere i pacchetti installati, scrivi

$ dpkg -list
$ dpkg - -info
$ Elenco Apt-eGet [pacchetto_name]

Per rimuovere un pacchetto

$ sudo apt -get rimozione [pacchetto_name] -y
$ sudo apt-get pulito

Conlulusione

L'indurimento della sicurezza del server Linux è molto importante per le aziende e le aziende. È un compito difficile e noioso per gli amministratori di sistema. Alcuni processi possono essere automatizzati da alcune utility automatizzate come Selinux e altri software simili. Inoltre, mantenere i software minimi e disabilitare i servizi inutilizzati e le porte riduce la superficie dell'attacco.