Ad un certo punto è stato sostituito da Linux Security Knowledge Base (Nozioni
essenziali di sicurezza in Linux)
. Anche questa documentazione è
fornita in Debian mediante il pacchetto lskb
. Ora è ritornato
nuovamente a chiamarsi Lasg.
Per esempio, in Debian woody si aggira attorno ai 40Mb, provate questo:
$ size=0 $ for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available | grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2 `; do size=$(($size+$i)); done $ echo $size 34234
Molte intrusioni sono fatte solo per ottenere l'accesso alle risorse per compiere attività illegali, (attacchi di tipo denial of service, spam, imbrogliare server ftp, inquinare dns ) piuttosto che ottenere dati confidenziali dai sistemi compromessi.
È possibile creare (su un altro sistema) un finto pacchetto con
equivs
Tra questi i programmi Smartlist e dpkg
, visto che gli script di
installazione (post, pre) e di eliminazione (post, pre) sono in
/var/lib/dpkg/
Questa dipendenza, tuttavia, non è corretta nel pacchetto in Debian 3.0.
Vedete il Bug #112965
.
Libpam-chroot
non è ancora stato testato in maniera approfondita,
funziona per login
ma potrebbe non essere semplice configurare un
ambiente per altri programmi.
Senza il flag append-only gli utenti sarebbero in grado di svuotare il
contenuto del file di history eseguendo >.bash_history
.
I tty sono eseguiti per ogni login locale e remoto attraverso telnet o ssh
Chpasswd
non può gestire la generazione di password MD5, quindi
necessita della password in forma crittata prima di usarlo, con l'opzione
-e.
Provate apt-cache search wordlist
per ottenere una lista di
pacchetti disponibili che potrebbero fornire liste di parole. Queste, inoltre,
possono essere scaricate da molti siti ftp su Intenet. Vedete ftp://ftp.ox.ac.uk/pub/wordlists
o ftp://ftp.cerias.purdue.edu/pub/dict
.
Assicurarsi di usare il maiuscolo altrimenti spawn non funzionerà
C'è un ottimo articolo in proposito scritto da Lance Spitzner
Notate che, che dipende dal pacchetto di sorgente del kernel 2.4 potreste incontrare alcuni problemi applicando la patch al sorgente del kernel. Se questo fosse il vostro caso potreste avere bisogno di un kernel pulito non Debian. Questo può essere fatto con i seguenti passi:
# apt-get install kernel-source-2.4.22 kernel-patch-debian-2.4.22 # tar xjf /usr/src/kernel-source-2.4.22.tar.bz2 # cd kernel-source-2.4.22 # /usr/src/kernel-patches/all/2.4.22/unpatch/debian
Per maggiori informazioni fate riferimento a #194225
, #199519
, #206458
, #203759
, #204424
, #210762
, #211213
e discussione
su debian-devel
Così comune, in effetti, che sono alla base del 20% delle vulnerabilità di
sicurezza riportate tutti gli anni come determinato da statistics from ICAT's
vulnerability database
In Debian, il pacchetto kernel-source-2.X.X
installa il sorgente
in /usr/src/kernel-souce-2.X.X
. Abbiate perciò cura di sostituire
il termine linux con la versione del kernel installato
Per riprodurre questo (esempio fornito da Felix von Leitner nella mailing list bugtraq):
host a (eth0 connected to eth0 of host b): ifconfig eth0 10.0.0.1 ifconfig eth1 23.0.0.1 tcpserver -RHl localhost 23.0.0.1 8000 echo fnord host b: ifconfig eth0 10.0.0.2 route add 23.0.0.1 gw 10.0.0.1 telnet 23.0.0.1 8000
Comunque, non agite con i servizi impostati per l'indirizzo 127.0.0.1, è consigliato effettuare il test usando le raw sockets.
Il fatto che questo comportamento, possa essere modificato cambiando l'instradamento, viene descritto da Matthew G. Marsh nei thread di bugtraq:
eth0 = 1.1.1.1/24 eth1 = 2.2.2.2/24 ip rule add from 1.1.1.1/32 dev lo table 1 prio 15000 ip rule add from 2.2.2.2/32 dev lo table 2 prio 16000 ip route add default dev eth0 table 1 ip route add default dev eth1 table 2
Esistono numerose patch disponibili per ottenere questo comportamento descritte
nei thread di bugtraq, potete trovarle ai seguenti indirizzi: http://www.linuxvirtualserver.org/~julian/#hidden
e http://www.fefe.de/linux-eth-forwarding.diff
.
Un aggressore potrebbe avere molti problemi ad ottenere l'accesso dopo la configurazione degli indirizzi IP se non si trova nel medesimo dominio (stessa rete) dell'host sotto attacco. Se l'attacco è rivolto ad un router è molto difficoltoso per l'aggressore riprovare.
Per ottenere la lista dei demoni di posta disponibili in Debian provare:
$ apt-cache search mail-transport-agent
La lista non includerà qmail
, che è distribuito solamente in
formato sorgente con il pacchetto qmail-src
.
Una lista dei server/demoni che supportano questi protocolli in Debian la potete ottenere con:
$ apt-cache search pop3-server $ apt-cache search imap-server
A meno che non utiliziate l'opzione instdir quando chiamate
dpkg
, ma in questo caso la gabbia chroot potrebbe essere
leggermente più complessa
Cercate di eseguirli con i minimi privilegi, cioè avviando i demoni con il loro relativo utente, invece di eseguirli come root
Ne avrete bisogno solamente se usate NFS (Network File System), NIS (Network Information System) oppure altri servizi basati su RPC.
A dispetto di firewall personali in altri sistemi operativi, Debian GNU/Linux
non fornisce (ancora) una generazione di interfacce per il firewall che
permettano di creare regole limitatamente a processi o utenti. Comunque, il
codice di iptables può essere configurato per farlo (consultare il modulo
relativo alla pagina di manuale iptables(8)
)
Alcuni sistemi operativi sono stati affetti da problemi di aggiornamento
automatico, per esempio la vulnerabilità
del Software Update di Mac OS X
.
FIXME: probabilmente la vulnerabilità relativa alla gestione delle catene di certificati di Internet Explorer ha un impatto sugli aggiornamenti di sicurezza in Microsoft Windows.
Alcuni fra questi sono forniti tramite installazione del pacchetto
harden-remoteaudit
.
Se usate quest'ultimo pacchetto e state usando una Debian uffciale il database
non verrà aggiornato con gli aggiornamenti di sicurezza. Dovrete o usare
clamav-freshclam
, clamav-getfiles
per generare il
pacchetto clamav-data
o aggiornare dal sito del manutentore del
pacchetto:
deb http://people.debian.org/~zugschlus/clamav-data/ / deb-src http://people.debian.org/~zugschlus/clamav-data/ /
Per ulteriori esempi sulle modalità di configurazione di gnupg
,
vedete /usr/share/doc/mutt/examples/gpg.rc
.
Potreste anche utilizzare l'opzione --quiet (-q) per
ridurre l'output di apt-get
, in modo da non mostrare alcun output
se non vengono installati pacchetti.
Bisogna ricordare che alcuni pacchetti potrebbero non utilizzare
debconf
e l'aggiornamento potrebbe bloccarsi a causa dei pacchetti
che richiedono un input da parte dell'utente durante la configurazione.
Questo è un problema comune visto che molti utenti vogliono utilizzare un sistema stable e prendere solo alcuni pacchetti da unstable per disporre di funzionalità più recenti. Questo bisogno nasce dal fatto che alcuni progetti evolvono più rapidamente del tempo che passa tra due release stable di Debian.
Ci sono oltre 28 possibilità, incluse: CAP_BSET, CAP_CHOWN, CAP_FOWNER, CAP_FSETID, CAP_FS_MASK, CAP_FULL_SET, CAP_INIT_EFF_SET, CAP_INIT_INH_SET, CAP_IPC_LOCK, CAP_IPC_OWNER, CAP_KILL, CAP_LEASE, CAP_LINUX_IMMUTABLE, CAP_MKNOD, CAP_NET_ADMIN, CAP_NET_BIND_SERVICE, CAP_NET_RAW, CAP_SETGID, CAP_SETPCAP, CAP_SETUID, CAP_SYS_ADMIN, CAP_SYS_BOOT, CAP_SYS_CHROOT, CAP_SYS_MODULE, CAP_SYS_NICE, CAP_SYS_PACCT, CAP_SYS_PTRACE, CAP_SYS_RAWIO, CAP_SYS_RESOURCE, CAP_SYS_TIME e CAP_SYS_TTY_CONFIG. Tutte queste possono essere disattivate per irrobustire il kernel.
Non si ha bisogno di installare lcap
per fare questo, ma risulta
più semplice che impostare /proc/sys/kernel/cap-bound
manualmente.
Se amate l'avventura, potete salvare informazioni su tutti i processi attivi (se ne ricavano molti da /proc/nnn/): potete ricavare dalla memoria l'intero codice eseguibile, anche se l'attaccante ha cancellato dal disco i file eseguibili, dopodiché... staccare la spina della corrente!
In effetti, questo è lo strumento usato per i CD-Rom del Progetto Gibraltar
, un firewall su CD-Rom
attivo basato sulla distribuzione Debian.
Questa è una lista di alcuni CERT, per una completa consultare FIRST Member Team information
(FIRST è il Forum delle reazioni agli incidenti e Security Team): AusCERT
(Australia), UNAM-CERT
(Messico) CERT-Funet
(Finlandia), DFN-CERT
(Germania), RUS-CERT
(Germania), CERT-IT
(Italia), JPCERT/CC
(Giappone), UNINETT CERT
(Norvegia), CERT Polskay
(Polonia), RU-CERT
(Russia), Sl-CERT
(Slovenia) IRIS-CERT
(Spagna), SWITCH-CERT
(Svizzera), TWCERT/CC
(Taiwan), e CERT/CC
(USA).
Per esempio, stando ai dati di Securityfocus, sembrerebbe che Windows NT sia
più sicuro di Linux; affermazione discutibile: in fondo, le distribuzioni Linux
offrono molti più applicativi rispetto a Windows NT. Questo problema del
conteggio delle vulnerabilità è meglio descritto nel Why Open Source
Software / Free Software (OSS/FS)? Look at the Numbers!
di David A.
Wheeler
Senza sminuire il fatto che alcune distribuzioni, come RedHat e Mandrake, tengono conto della sicurezza nelle loro installazioni standard, facendo scegliere all'utente i profili di sicurezza, o usando programmi di configurazione guidata di firewall personali.
N.B.: ciò significa "sicurezza tramite offuscamento" e a lungo termine, non paga.
Notate che non ci sono file SETUID. Questo rende più difficile uscire
dall'ambiente chroot
agli utenti remoti. Tuttavia impedisce anche
agli utenti di cambiare le loro password visto che il programma
passwd
non può modificare i file /etc/passwd
o
/etc/shadow
.
Securing Debian Manual
Version: 2.97, Fri, 03 Dec 2004 23:31:57 +0000jfs@debian.org