Forum Noamweb
Non sei collegato [Login - Registrati]
Vai alla fine

Versione per la stampa  
Autore: Oggetto: Hardening di base su sistemi basati su RedHat Linux
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:38
Hardening di base su sistemi basati su RedHat Linux


PREMESSA

Abbiamo pensato di raccogliere in questo 3D e di mettere a disposizione dei nostri clienti (e non solo...) alcune informazioni utili per rendere più sicuro il proprio server Linux.
Ovviamente, quanto segue dev'essere considerato come una traccia approssimativa, da non prendere troppo alla lettera. Il concetto di sicurezza è molto ampio e non può esaurirsi nell'applicazione di alcune regole schematiche, soprattutto quando non se ne capisce il significato. Infatti, prima di applicarle, vi consiglio di documentarvi anche presso altre fonti per evitare di causare danni alla vostra macchina e per essere sicuri di poter tornare indietro qualora qualcosa dovesse andare storto.
Dunque, poiché la responsabilità di ciò che fate è esclusivamente vostra, non seguite i suggerimenti che non comprendete!

Detto questo, mi sembra doveroso far notare che, sebbene i seguenti suggerimenti sono basati sull'esperienza del sottoscritto su distro Linux basate su RedHat, applicando le opportune modifiche possono diventare valide anche su altre distribuzioni.

Siete pronti? Iniziamo! :)

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:39
SINTESI DEI PASSI DA SEGUIRE



    Tenere aggiornato il software ed applicare le patch
    Disabilitare Telnet
    Rendere i permessi più restrittivi
    Impedire agli utenti l'accesso ai compilatori
    Modificare il file host.conf
    Installare CHKROOTKIT
    Installare ROOT KIT HUNTER
    Installare LOGWATCH
    Disabilitare l'accesso Root "diretto"
    Impostare un messaggio da inviare via email all'amministratore in caso di login come root
    Consentire la connessione ad SSH soltanto ad alcuni indirizzi IP
    Installare un firewall
    Creare /tmp su una partizione separata
    Rendere più sicura la memoria condivisa
    Rimuovere i pacchetti non necessari
    Modificare il php.ini
    Nascondere i banner di Apache
    Applicare una buona politica di gestione delle password


Appena il tempo disponibile lo consentirà, vi mostrerò i dettagli di ciascuno di questi passi. ;)
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:40
TENERE AGGIORNATO IL SOFTWARE ED APPLICARE LE PATCH


Si tratta certamente della prima cosa da fare. Mantenendo aggiornato il software ad applicando le patch si eliminano gran parte delle falle di sicurezza del software installato sul nostro sistema.

Tuttavia, fate attenzione ad installare soltanto versioni "stabili" del software, evitando versioni "alfa", "beta", etc.. e soprattutto prelevatele da siti ufficiali!

E' possibile automatizzare gli aggiornamenti tramite il classico "up2date" oppure tramite l'ottimo "yum" ( http://linux.duke.edu/projects/yum/ ), ma se preferite farli manualmente, è necessario scaricare i pacchetti "rpm" aggiornati ed installarli tramite il comando:

rpm -Fvh [pacchetti da aggiornare]

Il comando "-F" di rpm consente di aggiornare un pacchetto soltanto se questo è già presente nel sistema, altrimenti non lo installa. Nell'elenco dei pacchetti da aggiornare è possibile utilizzare anche caratteri jolly.

E' molto importante che venga aggiornato anche il kernel però, anzichè aggiornare quello esistente con il comando -F di rpm, sarebbe meglio affiancarlo installandolo con il comando:

rpm -ivh [nuovo kernel.rpm]

Così facendo, se il nuovo kernel non dovesse funzionare bene, avremo sempre la possibilità di avviare con il vecchio.

:saluto:

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:40
DISABILITARE TELNET


Le distribuzione più recenti raramente attivano "telnet" durante l'installazione. Ad ogni modo, dal momento che è stato sostituito da SSH che, come certamente saprete, è molto più sicuro, sarebbe il caso di accertarsi che non sia attivo e, in caso affermativo, di disabilitarlo.

Loggatevi come root e modificate il file /etc/xinetd.d/telnet con il vostro editor preferito (es. pico, vi, etc.) in modo da sostituire

disable = no

in

disable = yes

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:41
RENDERE I PERMESSI PIU' RESTRITTIVI


E' sempre bene eliminare utenti e gruppi inutilizzati. Per farlo potreste, per esempio, digitare nella vostra shell i seguenti comandi (come utente "root"):

userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
groupdel news
groupdel uucp
groupdel games
groupdel dip

Gli utenti esistenti, invece, dovrebbero essere limitati nelle loro possibilità. Un buono spunto per inibire loro l'accesso a file e comandi importanti potrebbe essere il seguente:

chmod 700 /bin/linuxconf
chmod 750 /bin/mt
chmod 750 /bin/setserial
chmod 750 /sbin/badblocks
chmod 750 /sbin/ctrlaltdel
chmod 750 /sbin/chkconfig
chmod 750 /sbin/debugfs
chmod 750 /sbin/depmod
chmod 6750 /sbin/dump
chmod 750 /sbin/dumpe2fs
chmod 750 /sbin/fdisk
chmod 750 /sbin/fsck
chmod 750 /sbin/fsck.ext2
chmod 750 /sbin/fsck.minix
chmod 750 /sbin/ftl_check
chmod 750 /sbin/ftl_format
chmod 750 /sbin/halt
chmod 750 /sbin/hdparm
chmod 750 /sbin/hwclock
chmod 750 /sbin/ifconfig
chmod 750 /sbin/ifdown
chmod 750 /sbin/ifport
chmod 750 /sbin/ifup
chmod 750 /sbin/ifuser
chmod 750 /sbin/init
chmod 750 /sbin/insmod
chmod 750 /sbin/killall5
chmod 750 /sbin/lilo
chmod 750 /sbin/mingetty
chmod 750 /sbin/mkbootdisk
chmod 750 /sbin/mke2fs
chmod 750 /sbin/mkfs
chmod 750 /sbin/mkfs.ext2
chmod 750 /sbin/mkfs.minix
chmod 750 /sbin/mkfs.msdos
chmod 750 /sbin/mkinitrd
chmod 750 /sbin/mkraid
chmod 750 /sbin/mkswap
chmod 750 /sbin/modinfo
chmod 750 /sbin/modprobe
chmod 2750 /sbin/netreport
chmod 750 /sbin/portmap
chmod 750 /sbin/quotaon
chmod 6750 /sbin/restore
chmod 750 /sbin/runlevel
chmod 750 /sbin/stinit
chmod 750 /sbin/swapon
chmod 750 /sbin/tune2fs
chmod 750 /usr/bin/eject
chmod 4750 /usr/bin/gpasswd
chmod 4755 /usr/bin/lpr
chmod 750 /usr/sbin/atd
chmod 750 /usr/sbin/atrun
chmod 750 /usr/sbin/crond
chmod 750 /usr/sbin/edquota
chmod 750 /usr/sbin/exportfs
chmod 750 /usr/sbin/groupadd
chmod 750 /usr/sbin/groupdel
chmod 750 /usr/sbin/groupmod
chmod 750 /usr/sbin/grpck
chmod 750 /usr/sbin/grpconv
chmod 750 /usr/sbin/grpunconv
chmod 750 /usr/sbin/in.identd
chmod 750 /sbin/klogd
chmod 750 /usr/sbin/logrotate
chmod 2750 /usr/sbin/lpc
chmod 740 /usr/sbin/lpd
chmod 755 /usr/sbin/lsof
chmod 550 /usr/sbin/makemap
chmod 750 /usr/sbin/mouseconfig
chmod 750 /usr/sbin/newusers
chmod 750 /usr/sbin/ntpdate
chmod 750 /usr/sbin/ntpq
chmod 750 /usr/sbin/ntptime
chmod 750 /usr/sbin/ntptrace
chmod 750 /usr/sbin/ntsysv
chmod 750 /usr/sbin/pwck
chmod 750 /usr/sbin/pwconv
chmod 750 /usr/sbin/pwunconv
chmod 550 /usr/sbin/quotastats
chmod 750 /usr/sbin/rdev
chmod 550 /usr/sbin/repquota
chmod 750 /usr/sbin/rpc.mountd
chmod 750 /usr/sbin/rpc.nfsd
chmod 750 /usr/sbin/rpc.rquotad
chmod 750 /sbin/rpc.statd
chmod 750 /usr/sbin/rpcinfo
chmod 750 /usr/sbin/setup
chmod 750 /usr/sbin/showmount
chmod 750 /sbin/syslogd
chmod 750 /usr/sbin/tcpd
chmod 750 /usr/sbin/timeconfig
chmod 750 /usr/sbin/tmpwatch
chmod 750 /usr/sbin/tunelp
chmod 750 /usr/sbin/useradd
chmod 750 /usr/sbin/userdel
chmod 4750 /usr/sbin/userhelper
chmod 750 /usr/sbin/usermod
chmod 4750 /usr/sbin/usernetctl
chmod 750 /usr/sbin/vipw
chmod 755 /bin/mount
chmod 755 /bin/umount
chmod 755 /bin/ping
chmod 755 /usr/bin/at
chmod 0 /usr/bin/rcp
chmod 0 /usr/bin/rlogin
chmod 0 /usr/bin/rsh
chmod 750 /usr/sbin/usernetctl
chmod 755 /usr/sbin/traceroute
chmod 500 /usr/bin/lpr
chmod 500 /usr/bin/lprm
chmod 500 /usr/bin/lpq

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:41
IMPEDIRE AGLI UTENTI L'ACCESSO AI COMPILATORI


Non è conveniente che gli utenti possano compilare programmi senza la vostra autorizzazione.
Sarebbe bene, quindi, impostare i seguenti permessi:


chmod 700 /usr/bin/wget
chmod 700 /usr/local/bin/lynx
chmod 700 /usr/bin/bcc
chmod 700 /usr/bin/byacc
chmod 700 /usr/bin/cc
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/i386-redhat-linux-gcc
chmod 700 /usr/bin/perlcc
chmod 700 /usr/bin/yacc
chmod 700 /usr/bin/*ncftp*

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 5/10/2004 at 18:42
MODIFICARE IL FILE HOST.CONF


Suggerisco di modificare il file /etc/host.conf in modo che contenga le seguenti impostazioni:


order bind,hosts
multi on
nospoof on
spoofalert on

[Modificato il 15-4-2005 da Shazan]
View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 15/4/2005 at 10:19
INSTALLARE CHKROOTKIT


Suggerisco di installare Chkrootkit per verificare periodicamente che non vi siano installati rootkits e trojan horses. Purtroppo spesso i report sono pieni di falsi positivi (cioè chkrootkit crede che la macchina sia infetta o compromessa anche quando ciò non è vero...) tuttavia confrontando i report possiamo verificare che non vi siano variazioni sospette da un giorno all'altro, soprattutto se non abbiamo installato nulla.

Potete trovare il pacchetto rpm pronto per la vostra distribuzione nell'ottimo repository di DAG all'url http://dag.wieers.com/packages/chkrootkit/

Verificate che l'rpm abbia inserito il comando in cron in modo che venga eseguito quotidianamente con l'invio del report via email, eventualmente potrete aggiungerlo voi stessi.

La riga dovrà somigliare alla seguente:
5 3 * * * chkrootkit | mail -s "nome del server chkrootkit output" email

In questo modo CHKROOTKIT invierà il report all'indirizzo da voi indicato come email tutti i giorni alle 03:05.

[Modificato il 15-4-2005 da Shazan]




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 31/7/2005 at 17:15
INSTALLARE ROOTKIT HUNTER


Rootkit Hunter è un ottimo software per verificare la presenza di eventuali rootkits, troiani, backdoors o altre anomalie nel filesystem.

Per installarlo:
- loggatevi come utente root
- scaricate l'ultima versione di "Rootkit Hunter" dalla pagina http://www.rootkit.nl/projects/rootkit_hunter.html
- scompattate il pacchetto scaricato
- entrate nella nuova directory appena creata
- lanciate il comando "./installer.sh"

Per eseguirlo, occorre richiamare il comando rkhunter (solitamente installato in /usr/local/bin) unitamente a delle opzioni.
Le più utili sono --update per aggiornarlo e --checkall per eseguire un controllo completo della macchina.

Per ulteriori informazioni, vi suggerisco di visitare direttamente l'homepage del progetto all'URL http://www.rootkit.nl/




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente
Shazan
Super Amministratore
*********


Avatar


Risposte: 1430
Registrato il: 5/10/2004
Utente offline


[*] Inviato il 1/5/2015 at 17:50
IMPOSTARE UN MESSAGGIO DA INVIARE VIA EMAIL IN CASO DI LOGIN COME ROOT


Per ricevere una notifica via email, qualora avvenisse un accesso come utente root, è possibile procedere come segue:

Installare il pacchetto "mailx" -> yum install mailx

Editare il file .bash_profile -> vi /root/.bash_profile

Inserire in coda la seguente riga:

echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access on HOSTNAME" indirizzoemaildidestinazione

Al posto di "HOSTNAME" andrà inserito l'indirizzo IP o il nome del server, ed al posto di "indirizzoemaildidestinazione" l'email a cui desiderate ricevere l'alert.




View User's Profile Visita la pagina dell utente Scorri tutte le risposte per utente

  Vai all'inizio

Powered by XMB 1.9.11
XMB Forum Software © 2001-2012 The XMB Group