[parano] Sécurisation ultime de passerelles sous Gentoo

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

[parano] Sécurisation ultime de passerelles sous Gentoo

Messagepar moon006 » 11 Sep 2008 15:14

Bonjour tout le monde :)

Pour commencer, voici le schéma des mes deux installations :

Code: Tout sélectionner
Internet <=> Freebox <=> Passerelle sous Gentoo <=> Réseau local


Il y a une installation de ce type chez moi et l'autre à mon bureau (respectivement 192.168.1.0 et 192.168.2.0).

Au niveau software, les passerelles sont comme suit :

- Gentoo tenue à jour (glsa-check par mail régulier entre autres) sur kernel récent (>= 2.6.24)
Iptables plutôt restrictif : Aucun port n'est ouvert en direct sur la passerelle (INPUT en DROP), l'accès est seulement autorisé par ex pour le port SSH 22 à mon IP du bureau depuis la maison et l'inverse.
- Openswan entre les deux pour avoir un VPN.

Malgré cela, il semblerait qu'une intrusion ait eu lieu sur une de mes passerelles : j'ai retrouvé dans un fichier binaire (libgmp.so) un morceau de texte modifié d'un site que je n'ai jamais visité !

Donc immédiatement j'ai pris les dispositions qui s'imposaient, c'est à dire coupure de la machine, remplacement du disque dur et installation d'une Gentoo toute propre, au cas où la machine aurait été compromise.

Mais le problème est qu'aujourd'hui, malgré ce que je considère presque comme une forteresse informatique, je n'ai plus l'impression que mes passerelles sont sécurisées.

En vrac, j'ai pensé à cela :

- Passage à un noyau "Hardened" grsec
- Montage de / en readonly (même si mount -o remount,rw résoud ça vite fait)

Qu'en pensez-vous ?

Merci ! :idea:
moon006
Matelot
Matelot
 
Messages: 3
Inscrit le: 11 Sep 2008 10:16

Messagepar Gesp » 11 Sep 2008 16:20

Malgré cela, il semblerait qu'une intrusion ait eu lieu sur une de mes passerelles : j'ai retrouvé dans un fichier binaire (libgmp.so) un morceau de texte modifié d'un site que je n'ai jamais visité !


Un morceau de quelle taille?

Si tu compares aux fichiers de la distrib propre, est-ce la seule différence?
Tous les paquets qui incluent un timestamp sont pénibles, on ne peut pas juste comparer le md5 du fichier compilé. (et md5 n'est pas totalement sùr, mieux vaudrait utiliser sha1, celui de la machine propre)

Avec chaque distrib, on dépend du temps qui est mis pour mettre à jour les paquets (que ce soit du binaire ou les sources).

sur kernel récent (>= 2.6.24)

2.6.24 stable n'a pas eu de mise à jour depuis mai (2.6.24.7).

Gentoo a été plutôt très lent pour dnsmasq 2008-09-02 alors que debian l'a publié le 31 juillet.
Mais je ne sais même plus si cela avait de l'importance par rapport à la faille dns de Dan Kaminsky.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar moon006 » 11 Sep 2008 18:56

Environ 6-7 lignes ... pas grand chose mais bon !

Sinon, je n'ai pas pu vérifier les hash des fichiers pour une raison simple : à version égale ils sont différents suivant mes machines (compile oblige !).

Pour ce qui est du kernel, est-il vraiment nécessaire d'avoir *toujours* le dernier noyau ?

Sinon, dnsmasq, oui, peut-être, enfin pas de serveur DNS sur cette machine (et j'utilise Bind de toute façon [oui je sais faut utiliser djbdns :D]).

Sinon, pour mes deux idées, vous en pensez quoi ?
moon006
Matelot
Matelot
 
Messages: 3
Inscrit le: 11 Sep 2008 10:16

Messagepar Gesp » 12 Sep 2008 10:52

Sinon, je n'ai pas pu vérifier les hash des fichiers pour une raison simple : à version égale ils sont différents suivant mes machines (compile oblige !).


Pas nécessairement mais c'est effectivement assez pénible à vérifier quand c'est le cas.
Je n'ai regardé que les fichiers inclus dans IPCop (donc pas gcc), les fichiers qui différent sont :
- ceux qui incluent la date/heure de compilation : perl, glibc, vmlinux,...
- les fichiers gzipé sans l'option -n (le nom/date du fichier est inclu) comme par exemple les modules noyau (.o|.ko).gz,
- les fichiers qui incluent le hostname (une dizaine de modules en noyau 2.4, pas encore regardé en 2.6)
- les fichier python .pyc (le fichier est recompilé si le .pyc est moins récent que le source)

Ce n'est pas pour rien que j'ai fait un certain nombre de patch sur ipcop pour réduire le nombre de timestamp inclus. Au moins je peux savoir de manière certaine quand un fichier change et ce que je dois inclure dans une mise à jour.
Il ne reste plus sur ipcop-1.4 qu'une grosse dizaine de fichier qui changent à chaque recompilation (je ne compte pas les fichiers python .pyc pour lesquels je n'ai pas vraiment de solution)

Pour ce qui est du kernel, est-il vraiment nécessaire d'avoir *toujours* le dernier noyau ?

Pas nécessairement, cela dépend de que ta machine utilise, et si elle est vulnérable à distance au problème corrigé. Mais pour en être certain, il faut analyser, ce qui demande du temps, des compétences. La très grande majorité des vulnérabilités du noyau ne sont exploitables qu'à partir d'un accès local mais je ne pourrais pas te dire s'il y en a une exploitable à distance sur ta version de noyau.

En recherchant http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=linux, peut-être
http://cve.mitre.org/cgi-bin/cvename.cg ... -2008-3915 avant 2.6.24.4 si tu as nfs v4 activé.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar moon006 » 12 Sep 2008 14:28

Merci pour toutes ces infos !

J'oubliais un détail important : je me suis mis à utiliser Samhain, qui surveille constamment des modifications éventuelles de fichiers sur le système, des accès, etc ... et permet d'être prévenu en temps réel dans le cas d'alertes d'un certain niveau (par exemple coupure de ce soft, reboot, etc ...).

Pour commencer, je vais passer en hardened-sources, je verrai par la suite :)
moon006
Matelot
Matelot
 
Messages: 3
Inscrit le: 11 Sep 2008 10:16

Messagepar S0l0 » 22 Sep 2008 18:11

:)
- Passage à un noyau "Hardened" grsec
- Montage de / en readonly (même si mount -o remount,rw résoud ça vite fait)

Qu'en pensez-vous ?
Ca sert pas a grand chose pourquoi:
A mon avis car pour attaquer , on commence par une attaque de ta freebox vers ta passerelle(dans tes logs c'est la FB qui t'attaque), puis l'attaque ou la communication ayant reussit a partir de l'a l'attaquant a du prendre la main.
Iptables plutôt restrictif : Aucun port n'est ouvert en direct sur la passerelle (INPUT en DROP), l'accès est seulement autorisé par ex pour le port SSH 22 à mon IP du bureau depuis la maison et l'inverse.
ca veut dire quoi restrictif , le simple fait de faire tourner un serveur shh sur son port par defaut est deja une erreur , il aurait fallu utiliser un autre port voir une fausse banniere pour simuler un autre service c'est meme la base de securisation (encas de faille inconnue ou de mauvaise configuration) ca evite aussi les scan intenpestif.

De meme si ssh est le seul service offert est-ce le seul programme de ce type installer , il pourrait avoir d'autres soft mais non lancer ,un vecteur d'exploitation quoi :)
Installer un kernel securiser c'est bien mais si on peut quand meme insmoder des drivers ou si un pirate peut compiler ses propres exploits sur ta machine a quoi ca sert.

ah!oui il est passee par la http://hep.uchicago.edu/admin/report_072808.html (meme si on t'a pas phalanxer ) l'exploit ssh fait a peu pres 15 characteres :)

bon je suis fatiguer dsl , et je viens de rater 24 min de 24 :shock: :P
Avatar de l’utilisateur
S0l0
Contre-Amiral
Contre-Amiral
 
Messages: 407
Inscrit le: 01 Déc 2005 20:52
Localisation: 21 55


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité