Il a été remplacé à un moment donné par le « Linux Security Knowledge
Base ». Cette documentation est également disponible dans Debian via le
paquet lksb
. Il est à nouveau de retour en tant que le
Lasg.
Un très bon exemple de ce type d'attaque utilisant /tmp est détaillé dans
Le
programme mystérieusement exploitable de façon persistente
(concours)
et L'explication
du programme mystérieusement exploitable de façon persistente
(Notez
que l'incident est lié à Debian). C'est de manière basique une attaque dans
laquel un utilisateur local cache profondément une application setuid
vulnérable en faisant un lien dur sur celle-ci, évitant de manière efficace
toute mise à jour (ou suppression) du binaire lui-même réalisé par
l'administrateur du système. Dpkg a été récemment corrigé pour empêcher cela
(voir 225692
), mais
d'autres binaires setuid (non contrôlés par le gestionnaire de paquets) sont
risqués si les partitions ne sont pas mises en place correctement.
L'empreinte dans Debian 3.0 et les versions précédentes n'était pas aussi
réduire car certains services inetd
étaient activés par défaut.
Les installations standard de Debian 2.2 installaient également le serveur
NFS ainsi que le serveur telnet
Cela est désirable si vous mettez en placer un chroot de développement, par exemple
Par exemple, dans Debian Woody, elle est d'environ 400 à 500 Mo, essayez ceci :
$ 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 47762
Beaucoup d'intrusions ne sont faites que pour avoir accès aux ressources pour effectuer des activités illégales (attaques de déni de service, envoi de spams, serveurs FTP illicites, pollution de DNS, etc.) plus que pour obtenir des données confidentielles du système compromis.
Vous pouvez créer (sur un autre système) un paquet bidon avec
equivs
Debian Security Advisories (DSA)
Bien que les bibliothèques aient été supprimées du système de fichiers, aucun i-node ne sera nettoyé tant qu'un programme a encore un descripteur de fichier pointant dessus
Ceci s'est produit, par exemple, dans la mise à jour de la libc6 2.2.x à
la 2.3.x à cause de problèmes d'authentification NSS, voir http://lists.debian.org/debian-glibc/2003/debian-glibc-200303/msg00276.html
.
Sauf si vous avez installé un métapaquet de noyau comme
kernel-image-2.4-686
qui va toujours tirer la dernière révision
mineure de noyau pour une version de noyau et une architecture donnée
Un exemple d'un tel script appelé testnet
est disponible dans l'article Remotely rebooting
Debian GNU/Linux machines
. Un script de test de connectivité réseau
plus élaboré est disponible dans l'article Testing network
connectivity
.
Configurer une console série est en dehors du cadre de ce document, pour plus
d'informations, veuillez lire le Serial HOWTO
et
le Remote
Serial Console HOWTO
.
Le fichier /etc/securetty
est un fichier de configuration qui
appartient au paquet login
.
Ou ttyvX pour GNU/FreeBSD et ttyE0 pour GNU/KNetBSD.
Ou comX pour GNU/Hurd, cuaaX pour GNU/FreeBSD et ttyXX pour GNU/KNetBSD.
La configuration par défaut dans Woody inclut 12 consoles locales tty et vc, ainsi que le périphérique console, mais ne permet pas les connexions distantes. Dans Sarge, la configuration par défaut fournit 64 consoles pour les consoles tty et vc. Vous pouvez les supprimer en toute sécurité si vous n'en utilisez pas tant.
Recherchez les appels getty.
Cela inclut le gestionnaire de paquet dpkg
car les scripts
d'installation (pre et pos) et de suppression (pre et post) sont à
/var/lib/dpkg/
et aussi Smartlit
Cependant, cette dépendance n'est pas fixe. Veuillez lire le Bogue 112965
.
Libpam-chroot
n'a pas encore été testé en profondeur, il
fonctionne pour login
, mais il est possible qu'il ne soit pas
facile de mettre en place l'environnement pour d'autres programmes
Configurer HISTSIZE à une très grande valeur peut poser des problèmes sous certains shells car l'historique est gardé en mémoire pour la session de chaque utilisateur. Il peut être plus prudent de positionner cela à une valeur assez élevée et de sauvergarder les fichiers d'historiques des utilisateurs (si vous avez besoin de tout l'historique de l'utilisateur pour une raison ou une autre)
Sans l'attribut ajout-uniquement les utilisateurs seraient capables de vider le contenu du fichier des historiques avec > .bash_history.
Les ttys sont créées pour les connexions locales et à distance par ssh et telnet
Chpasswd
ne sait pas gérer la génération de mots de passe MD5, il
faut donc lui donner le mot de passe sous sa forme cryptée avant de l'utiliser
avec l'option -e.
assurez-vous d'utiliser des majuscules car spawn ne fonctionnera pas
il y a un très bon article sur celui-ci écrit par Lance Spitzner
Notez que ce correctif entre en conflit avec des correctifs déjà inclus dans le paquet de source du noyau Debian. Vous devrez utiliser le noyau d'origine (sans correctifs Debian). Vous pouvez faire cela en suivant les étapes suivantes :
# 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
Pour plus d'informations, consultez #194225
, #199519
, #206458
, #203759
, #204424
, #210762
, #211213
et la discussion
sur debian-devel
Si commune, en fait, qu'elles ont été la base de 20 % des failles de
sécurité rapportés cette année, comme déterminé par les statistiques de la
base de données des failles de l'ICAT
Dans les versions précédentes, checksecurity était intégré dans cron et le
fichier était /etc/cron.daily/standard
Dans Debian, les paquets kernel-source-version
copient
les sources sous
/usr/src/kernel-source-version.tar.bz2
, remplacez
simplement version par la version de noyau des sources ques vous
avez installés
Pour reproduire ceci (exemple fourni par Felix von Leitner sur la liste de diffusion bugtraq) :
hôte a (eth0 connecté sur l'eth0 de l'hôte b): ifconfig eth0 10.0.0.1 ifconfig eth1 23.0.0.1 tcpserver -RHl localhost 23.0.0.1 8000 echo fnord hôte b: ifconfig eth0 10.0.0.2 route add 23.0.0.1 gw 10.0.0.1 telnet 23.0.0.1 8000
Cela semble, cependant, ne pas fonctionner avec les services liés à 127.0.0.1, vous pourriez devoir écrire des tests utilisant des sockets raw.
Le fait que ce comportement puisse être changé par le routage a été décrit par Matthew G. Marsh dans l'enfilade sur 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
Il existe des correctifs disponibles pour ce comportement comme décrit dans
l'enfilade sur bugtraq à http://www.linuxvirtualserver.org/~julian/#hidden
et http://www.fefe.de/linux-eth-forwarding.diff
.
Un attaquant peut avoir beaucoup de problèmes à transférer un accès après une configuration de l'adresse IP s'il n'est pas le domaine de broadcast (même réseau) que l'hôte attaqué. Si l'attaque passe par un routeur, il peut être assez difficile pour les réponses de retourner quelque part.
gdm n'ajoutera pas -nolisten tcp s'il trouve -query ou -indirect sur la ligne de commande car cela ne pourrait pas fonctionner.
Pour récupérer la liste des démons de courrier disponibles dans Debian, essayez :
$ apt-cache search mail-transport-agent
La liste n'inclura pas qmail
, qui est distribué seulement comme
code source dans le paquet qmail-src
.
Une liste des serveurs/démons supportant ces protocoles dans Debian peut être récupérée avec :
$ apt-cache search pop3-server $ apt-cache search imap-server
Notez que selon votre version de bind, il se peut que vous n'ayez pas l'option -g, en particulier si vous utilisez Woody et que vous installez bind9 (9.2.1-2.woody).
sauf si vous utilisez l'option instdir lors de l'appel à
dpkg
mais alors la prison chroot peut être un petit peu plus
complexe
Elle essaie de les faire fonctionner avec le minimum de privilèges, ce qui inclut de faire tourner les démons avec leurs propres utilisateurs au lieu de les exécuter sous root.
À la différence des pare-feux personnels d'autres systèmes d'exploitation,
Debian GNU/Linux ne fournit pas (encore) d'interface de génération de
pare-feu qui puisse créer des règles les limitant par processus ou par
utilisateur. Cependant, le code iptables peut être configuré pour faire cela
(voir le module propriétaire (owner) dans la page de manuel
iptables(8)
)
Des traductions sont disponibles dans jusqu'à dix langues
Le questionnaire de
compétence
complet est disponible au CVE
Certains systèmes d'exploitation ont déjà été touchés par des problèmes de
mises à jour automatiques comme la faille de mises
à jour de logiciels de Mac OS X
.
FIXME: la faille d'Internet Explorer sur la gestion des chaînes de certicat a probablement un impact sur les mises à jour de sécurité de Microsoft Windows.
Certains d'entre eux sont fournis en installant le paquet
harden-remoteaudit
.
Cependant, la base de données des impreintes de Queso
est plutôt
ancienne
Si vous utilisez ce dernier paquet et que vous utilisez une Debian officielle,
la base de données ne sera pas mise à jour avec les mises à jour de sécurité.
Vous devrez soit utiliser clamav-getfiles
du paquet
clamav-freshclam
pour générer de nouveaux clamav-data
ou mettre à jour à partir de l'emplacement des responsables :
deb http://people.debian.org/~zugschlus/clamav-data/ / deb-src http://people.debian.org/~zugschlus/clamav-data/ /
Pour plus d'exemples sur la façon de configurer gnupg
, consultez
/usr/share/doc/mutt/examples/gpg.rc
.
Vous pouvez aussi vouloir utiliser l'option --quiet
(-q) pour réduire la sortie de apt-get
, ce qui
empêchera la génération de toute sortie si aucun paquet n'est installé.
Notez que certains paquets peuvent ne pas utiliser
debconf
et les mises à jour seront bloquées car les paquets
demanderont des entrées de la part de l'utilisateur pendant la configuration.
C'est un problème courant car beaucoup d'utilisateurs veulent conserver un système stable tout en mettant à jour certains paquets avec unstable pour obtenir les dernières fonctionnalités. Ce besoin provient de l'évolution plus rapide de certains projets que le temps entre les distributions stable de Debian.
Une façon aisée de faire cela est d'utiliser un cédérom autonome (Live CD),
comme Knoppix Std
qui
incluerait à la fois les outils d'intégrité de fichier et la base de donnée
pour votre système.
Il existe 28 fonctionnalités incluant : 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 et CAP_SYS_TTY_CONFIG. Elles peuvent être toutes désactivées pour renforcer votre noyau.
Vous n'avez pas besoin d'installer lcap
pour faire cela, mais
c'est plus facile que de configurer /proc/sys/kernel/cap-bound
à
la main.
Vous utiliserez généralement un pare-feu pont pour que le pare-feu lui-même ne soit pas détectable, voir Configuration d'un pare-feu pont, Annexe D
Si vous êtes aventureux, vous pouvez vous connecter au système et sauver les informations sur tous les processus en fonctionnement (vous en aurez beaucoup dans /proc/nnn/). Il est possible d'avoir l'intégralité du code exécutable depuis la mémoire, même si l'attaquant a supprimé les fichiers exécutables du disque. Puis tirez sur le cordon d'alimentation.
En fait, c'est l'outil utilisé pour construire les CD-ROM pour le projet
Gibraltar
(un pare-feu sur
un CD-ROM autonome basé sur la distribution Debian).
Voici une liste de quelques CERT, pour la liste complète, consultez le FIRST Member
Team information
(FIRST est le Forum of Incident Response and
Security Teams) : AusCERT
(Australie), UNAM-CERT
(Mexique) CERT-Funet
(Finlande), DFN-CERT
(Allemagne), RUS-CERT
(Allemagne), +
CERT-IT
(Italie),
JPCERT/CC
(Japon), UNINETT CERT
(Norvège), HR-CERT
(Croatie) CERT Polskay
(Pologne), RU-CERT
(Russie), SI-CERT
(Slovénie) IRIS-CERT
(Espagne), SWITCH-CERT
(Suisse), TWCERT/CC
(Taiwan), et CERT/CC
(États-Unis).
Par exemple, basé sur les données de Securityfocus, il pourrait sembler que
Windows NT est plus sûr que Linux, ce qui est une assertion discutable. Après
tout, les distributions Linux fournissent habituellement beaucoup plus
d'applications en comparison de Windows NT de Microsoft. Ces problèmes de
failles comptabilisées sont mieux décrits dans Why Open Source
Software / Free Software (OSS/FS)? Look at the Numbers!
par David
A. Wheeler
Sans diminuer le fait que d'autres distributions, comme Red Hat ou Mandrake, prennent aussi en compte la sécurité dans leurs installations standard en demandant à l'utilisateur de sélectionne des profils de sécurité ou en utilisant des assistants pour aider la configuration de pare-feux personnels.
Notez que ceci est de la « sécurité par l'obscurité » et ne vaudra probablement pas l'effort à long terme.
Si vous utilisez un noyau implémentant le contrôle d'accès obligatoire (« Mandatory Access Control » ou MAC) (RSBAC/SElinux), vous pouvez éviter de changer cette configuration en autorisant simplement l'utilisateur sshd à exécuter l'appel système chroot().
Notez qu'ils n'y a pas de fichiers SETUID. Cela rend plus difficile pour les
utilisateurs distants de s'échapper de l'environnement de chroot
.
Cependant, il empêche également les utilisateurs de changer leurs mots de
passe, car le programme passwd
ne peut pas modificer les fichiers
/etc/passwd
ou /etc/shadow
.
Manuel de sécurisation de Debian
Version: 3.4, Sun, 06 Nov 2005 22:34:04 +0100jfs@debian.org
debian-l10n-french@lists.debian.org