Consigli protezione avanzata per i server Linux

A+ A-

Linux ha un modello di sicurezza in-built in luogo di default. Tuttavia, è necessario per sintonizzare in su e personalizzare secondo il vostro bisogno, che può aiutare a rendere il sistema più sicuro. Linux è più difficile da gestire, ma offre più opzioni di flessibilità e di configurazione. In questo articolo, ci fornirà approfondimenti su "scatola Come proteggere Linux" o "indurimento una Linux Box".

Sistema di sicurezza fisica

Per configurare il BIOS, abbiamo bisogno di disabilitare l'avvio da CD / DVD, dispositivi esterni, unità floppy nel BIOS. In seguito, abilitare la password del BIOS e anche proteggere GRUB con password per limitare l'accesso fisico del sistema.

partizioni del disco

E 'importante avere partizioni diverse per ottenere la sicurezza dei dati più elevato, nel caso se alcuna perdita di dati accade. Creando partizioni differenti, i dati possono essere memorizzati in un gruppo separato. Quando si verifica una perdita di dati inaspettato, solo i dati di quella partizione verrà danneggiato, mentre i dati sulle altre partizioni sopravvive. Assicurarsi che ogni sistema Linux ha le seguenti partizioni separate e assicurarsi di avere le applicazioni di terze parti da installare su sistemi di file separati in / opt.

 /
/avvio
/ usr
/ var
/casa
/ tmp
/optare

Minimizzare i pacchetti da ridurre al minimo la vulnerabilità

Vuoi davvero di installare una sorta di servizi nel sistema Linux? Si consiglia di evitare di installare pacchetti inutili per evitare vulnerabilità nei pacchetti. Utilizzare il comando 'chkconfig' per scoprire i servizi che sono in esecuzione sul runlevel 3.

 # / Sbin / chkconfig --list | grep '3: il'

Per disabilitare i servizi non desiderati, utilizzare il seguente comando -

 # Chkconfig serviceName off

Per rimuovere i pacchetti, utilizzare il seguente comando -

 # Sudo apt-get remove package-name

Controllare ascolto Porte di rete

Per vedere tutte le porte aperte e programmi associati, utilizzare il comando 'netstat' come illustrato di seguito -

 # Netstat -tulpn

L'esempio di output dovrebbe essere come questo -

 Le connessioni attive su Internet (solo server)
Proto Recv-Q Send-Q Indirizzo locale Indirizzo esterno Stato PID / nome del programma
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1301 / mysqld     
tcp 0 0 0.0.0.0:9418 0.0.0.0:* LISTEN 1020 / git-daemon 
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 787 / smbd        
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1484 / nginx      
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1546 / dnsmasq    
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5643 / cupsd      
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 787 / smbd        
tcp 0 0 0.0.0.0:902 0.0.0.0:* LISTEN 1380 / vmware-authdla
tcp6 0 0 ::: 9418 ::: * LISTEN 1020 / git-daemon 
tcp6 0 0 ::: 139 ::: * LISTEN 787 / smbd        
tcp6 0 0 ::: 80 ::: * LISTEN 1484 / nginx      
tcp6 0 0 :: 1: 631 ::: * LISTEN 5643 / cupsd      
tcp6 0 0 ::: 445 ::: * LISTEN 787 / smbd        
tcp6 0 0 ::: 902 ::: * LISTEN 1380 / vmware-authdla
UDP 0 0 0.0.0.0:5353~~number=plural 0.0.0.0:*~~number=plural 4357 / cromo-sopracciglia
udp 0 0 0.0.0.0:5353 0.0.0.0:* 943 / avahi-daemon: R
udp 0 0 0.0.0.0:51888 0.0.0.0:* 943 / avahi-daemon: R
udp 0 0 0.0.0.0:44499 0.0.0.0:* 7895 / dhclient   
udp 0 0 127.0.1.1:53 0.0.0.0:* 1546 / dnsmasq    
udp 0 0 0.0.0.0:68 0.0.0.0:* 7895 / dhclient   
udp 0 0 0.0.0.0:68 0.0.0.0:* 7834 / dhclient   
udp 0 0 192.168.1.255:137 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.1.151:137 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.223.255:137 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.223.188:137 0.0.0.0:* 1728 / nmbd       
udp 0 0 0.0.0.0:137 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.1.255:138 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.1.151:138 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.223.255:138 0.0.0.0:* 1728 / nmbd       
udp 0 0 192.168.223.188:138 0.0.0.0:* 1728 / nmbd       
udp 0 0 0.0.0.0:138 0.0.0.0:* 1728 / nmbd       
udp 0 0 0.0.0.0:29066 0.0.0.0:* 7834 / dhclient   
udp 0 0 0.0.0.0:631 0.0.0.0:* 1101 / cups-sfogliati
udp6 0 0 ::: 5353 ::: * 943 / avahi-daemon: R
udp6 0 0 ::: 51003 ::: * 7834 / dhclient   
udp6 0 0 ::: 6628 ::: * 7895 / dhclient   
udp6 0 0 ::: 55857 ::: * 943 / avahi-daemon: R

Utilizzare Secure Shell (SSH)

SSH è un protocollo di sicurezza che utilizza la crittografia della tecnologia durante la comunicazione con il server. Mai accedere direttamente come utente root solo se necessario. Utilizzare "sudo" per eseguire i comandi. sudo che è specificato nel file / etc / sudoers può essere modificato con l'utilità "visudo" che si apre nell'editor VI. Aprire il file di configurazione SSH principale ed effettuare i seguenti parametri per limitare gli utenti per l'accesso.

 # vi / etc / ssh / sshd_config

Per disabilitare l'autenticazione come root, aggiungere la seguente riga -

 PermitRootLogin no

Per consentire agli utenti specifici, aggiungere la seguente riga -

 AllowUsers nome utente

Per usare SSH Protocol 2 versione, aggiungere la seguente riga -

 protocollo 2

Tenere sistema aggiornato

Tenere sempre il sistema aggiornato con le ultime uscite patch, fix di sicurezza e del kernel quando è disponibile.

 $ Sudo apt-get update       
$ Sudo apt-get l'aggiornamento      
$ Sudo apt-get dist-upgrade

Disabilitare chiavetta USB per rilevare

Per disabilitare la chiavetta USB per rilevare, dovremmo creare un file '/etc/modprobe.d/no-usb' e aggiungendo sotto la linea non rileva di memorizzazione USB.

 installare usb-storage / bin / true

Accendere SELinux

Security-Enhanced Linux (SELinux) è un meccanismo di sicurezza di controllo di accesso obbligatoria prevista nel kernel. Disabilitare SELinux significa rimuovere meccanismo di sicurezza dal sistema. Per ottenere lo stato di modalità di SELinux dalla riga di comando, utilizzare il seguente comando -

 # sestatus

Per abilitare SELinux, utilizzare il seguente comando -

 # Setenforce enforcing

Spegni IPv6

Per disattivare IPv6, / aprire il file / etc sysconfig / network e aggiungere le seguenti righe -

 NETWORKING_IPV6 = no
IPV6INIT = no

Applicazione password più

Un certo numero di utenti utilizzano password molli o deboli e la loro password potrebbe essere violato con un dizionario based o forza bruta attacchi. Per evitare questo, il file /etc/pam.d/system-auth aperto e aggiungere il seguente linee-

 /lib/security/$ISA/pam_cracklib.so retry = 3 = 8 minlen lcredit = -1 ucredit = -2 dcredit = -2 ocredit = -1

Disabilitare Ctrl + Alt + Canc in inittab

Nella maggior parte delle distribuzioni Linux, premendo il tasto 'CTRL-ALT-CANC' prenderà il sistema per riavviare il processo. Per disabilitare il file Ctrl + Alt + chiave in inittab Elimina, aperto '/ etc / inittab' e aggiungere i seguenti comandi -

 # Trappola CTRL-ALT-CANC
#ca :: ctrlaltdel: / sbin / shutdown -r now -T3

Esaminare i registri regolarmente

Qui di seguito sono i file di log di default nomi comuni di Linux e il loro utilizzo -

  • / var / log / message - Dove sono disponibili i log di sistema integrali o log delle attività correnti.
  • /var/log/auth.log - i registri di autenticazione.
  • /var/log/kern.log - log del kernel.
  • /var/log/cron.log - i registri crond (job cron).
  • log del server di posta - / var / log / maillog.
  • /var/log/boot.log - registro di avvio del sistema.
  • /var/log/mysqld.log - file di log del server di database MySQL.
  • / var / log / secure - log di autenticazione.
  • / var / log / utmp o / var / log / wtmp: file di record di login.
  • /var/log/yum.lo g: Yum file di log.

Controllare i file di cui sopra regolarmente per trovare eventuali errori.

Complimenti! Ora, si sa "Suggerimenti per la sicurezza Hardening per server Linux". Impareremo di più su questi tipi di comandi nel nostro prossimo post Linux. Continua a leggere!