| Forums FUG-FR | |
|
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
FreeBSD >> Réseau et sécurité >> [Résolu] Fichier /etc/hosts.deny absent https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1190500239 Message started by dexinou on 23. Sep 2007 at 00:30 |
|
|
Title: [Résolu] Fichier /etc/hosts.deny absent Post by dexinou on 23. Sep 2007 at 00:30
Bonjour,
j'ai remarqué que le fichier hosts.deny était absent et qu'on devait dorénavent regroupé tout dans hosts.allow Mais le problème c'est que j'ai regroupé une liste d'adresse ip bannie que je récupère grace à un script dans le fichier /var/log/auth.log et ensuite l'inclus dans /var/log/blacklist.log et envoi tout dans /etc/hosts.deny Mais alors comment faire pour indiquer au fichier hosts.allow de faire un deny sur le fichier /var/log/blacklist.log ? Merci de votre aide. |
|
Title: Re: Fichier /etc/hosts.deny absent Post by francis on 23. Sep 2007 at 14:26 dexinou wrote on 23. Sep 2007 at 00:30:
Heu... où tu as vu ça ? Je viens de vérifier pour 6.2 et CURRENT, et hosts_access(5) dit plutôt ça: Quote:
dexinou wrote on 23. Sep 2007 at 00:30:
Je suis peut-être passé à côté, mais je crois pas qu'il existe de mécanisme d'inclusion pour sourcer un autre fichier depuis /etc/hosts.{allow,deny}. Mais sur le principe, le script a quand même l'avantage d'intercaler quelques vérifications avant de balancer des adresses prises dans un log vers un dispositif de contrôle d'accès. |
|
Title: Re: Fichier /etc/hosts.deny absent Post by dexinou on 23. Sep 2007 at 19:36
Effectivement, je sais plus ou j'avais lu ça mais vu que mon fichier /etc/hosts.deny était absent de mon système j'en avais déduit qu'il n'existait pas dans freebsd 6.2
Je te montre le script que j'utilise sur un autre serveur basé sur Debian GNU/Linux et qui fonctionne parfaitement: Code (]#!/bin/sh #on commence par récupérer l'ip des vilains méchants a partir du log, et on la met dans un fichier cat /var/log/auth.log | grep "Failed" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >/var/log/blacklist.log cat /var/log/auth.log | grep "Illegal" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >>/var/log/blacklist.log #pour chaque ip on compte combien il y a eu d'erreurs d'authentification for i in `cat /var/log/blacklist.log` ; do nberreurs1=`cat /var/log/auth.log | grep "Failed" | grep $i | wc -l` nberreurs2=`cat /var/log/auth.log | grep "Illegal" | grep $i | wc -l` let nberreurs=$nberreurs1+$nberreurs2 #s'il y a eu plus de 3 erreurs et que l'ip n'est pas déjà blacklistée et bien on la blackliste ! if [ "$nberreurs" -ge "3" ):
je te montre enfin le fichier /etc/hosts.deny de la distribe une fois le script lancé: Code (]# See the manual pages hosts_access(5), hosts_options(5) # and /usr/doc/netbase/portmapper.txt.gz # # Example: ALL: some.host.name, .some.domain # ALL EXCEPT in.fingerd: other.host.name, .other.domain # # If you're going to protect the portmapper use the name "portmap" for the # daemon name. Remember that you can only use the keyword "ALL" and IP # addresses (NOT host or domain names) for the portmapper. See portmap(8) # and /usr/doc/portmap/portmapper.txt.gz for further information. # # The PARANOID wildcard matches any host whose name does not match its # address. # You may wish to enable this to ensure any programs that don't # validate looked up hostnames still leave understandable logs. In past # versions of Debian this has been the default. # ALL: PARANOID ALL: 201.14.47.146 ALL: 202.54.130.157 ALL: 211.66.128.125 ALL: 216.47.142.239 ALL: 217.117.141.179 ALL: 217.20.175.55 ALL: 217.73.102.225 ALL: 218.189.207.134 ALL: 62.68.203.206 ALL: 70.85.166.250 ALL: 71.180.57.79 ALL: 74.86.131.195 ALL: 77.92.146.10[/code):
par ça: Code (]if [ "`cat /etc/hosts.allow | grep $i`" = "" ):
Et remplacer "Illegal" par "Invalid" et rajout de 'invalid" Voici donc le script final si ça intéresse: Code (]#!/bin/sh #on commence par récupérer l'ip des vilains méchants a partir du log, et on met dans un fichier cat /var/log/auth.log | grep "illegal" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >/var/log/blacklist.log cat /var/log/auth.log | grep "invalid" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >>/var/log/blacklist.log cat /var/log/auth.log | grep "Invalid" | awk -F "from" '{ print $2 }' | awk '{ print $1 }' | sort -u >/var/log/blacklist.log #pour chaque ip on compte combien il y a eu d'erreurs d'authentification for i in `cat /var/log/blacklist.log` ; do nberreurs1=`cat /var/log/auth.log | grep "illegal" | grep $i | wc -l` nberreurs2=`cat /var/log/auth.log | grep "invalid" | grep $i | wc -l` nberreurs3=`cat /var/log/auth.log | grep "Invalid" | grep $i | wc -l` let nberreurs=$nberreurs1+$nberreurs2+$nberreurs3 #si il y a eu plus de 3 erreurs et que l'ip n'est pas déjà blacklistée et bien on la blackliste ! if [ "$nberreurs" -ge "3" ):
J'aimerais avoir votre avis. |
|
Title: Re: Fichier /etc/hosts.deny absent Post by dexinou on 23. Sep 2007 at 19:54
Bon je viens de tester, il m'affiche bien les ip Invalid et Failed dans la console mais il ne les envois pas dans le fichier /etc/hosts.allow
[Edit] Erreur de syntaxe de ma part , ça marche. Code (]cat /etc/hosts.allow: ALL : 122.153.173.xxx : deny ALL : 210.6.68.xxx : deny ALL : 212.116.140.xxx : deny ALL : 221.8.79.xxx : deny ALL : 70.102.115.xxx : deny ALL : 86.107.58.xxx : deny[/code):
J'aimerais avoir votre avis sur ça svp Est-ce une bonne idée ? ou on pourrais faire autrement ? Ne vaut-il pas mieux créer le fichier /etc/hosts.deny et faire l'inclusion dedans? Merci |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by Lenine on 23. Sep 2007 at 20:11
Si c'est pour faire du blocage sur du brut force de type ssh ou autre vaut mieux mettre en place un firewall, notament PF qui te permet d'avoir des tables que tu peux charger dynamiquement via ce genre de mécanisme.
|
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by dexinou on 23. Sep 2007 at 20:15 [BSDf]Lenine wrote on 23. Sep 2007 at 20:11:
PF est activé mais comme je suis hypernewbie sur freebsd et encore plus sur PF j'ai pris ce que j'avais sous la main. Mais si tu connais un bon tuto du comment créer des tables et les charger dynamiquemen sur PF je suis preneur et ça m'intéresse beaucoup. |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by Dumpy on 23. Sep 2007 at 22:26 |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by ros on 23. Sep 2007 at 23:55
Soit dit en pasant, les régles allow deny ne sont pas trop dures
Avec un peu d'imagination on peut assez facilement construire un mechanisme simple pour résoudre ce genre de problème. Faut aussi dire que je ne comprends pas le problème de base, généralement on n'autorise pas l'acces à tout le monde sauf michel de chamigny sur oise, sur un aspect purement sécurité c'est un raisonement faible . La meilleure régle consistant à *TOUJOURS* connaitre ses amis. |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by francis on 24. Sep 2007 at 10:27
En passant, il y a déjà BruteForceBlocker, dispo dans les ports. En Perl, ça peux servir de base pour étendre à d'autres services qu'SSH, si besoin était.
Mais je suis bien d'accord avec ros: pourquoi ne pas partir sur une politique "default deny" et whitelister seulement les quelques IPs "amies" ? |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by Lenine on 24. Sep 2007 at 10:32
A confirmer par dexinou, mais visiblement, il n'a pas d'IP Static dont ca complique un peu les choses. Mais il faut regarder du coté de Pfauth à ce moment là.
|
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by dexinou on 24. Sep 2007 at 14:04 [BSDf]Lenine wrote on 24. Sep 2007 at 10:32:
Je n'ai pas d'ip statique mais en fait c'est un ip qui peu restée inchangée pendant des mois mais on redirige via dyndns. C'est juste une petit PME de 5 personnes donc on a décidé de ne pas payer en plus pour une vrai ip statique. Je vais regarder du côté de pfauth. Je voudrais souligner que j'ai testé iptables sur linux et j'essayais de trouver un moyen d'enrichir le pare-feu dynamiquement sans succès mais apparemment PF le fait grâce à ses tables ce qui est formidable. |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by Lenine on 24. Sep 2007 at 14:53 dexinou wrote on 24. Sep 2007 at 14:04:
Je ne veux pas faire de la pub mais Free c'est bien pour un PME de 5 personnes pour peu que tu sois dans une zone dégroupée. IP Statique, bon débit avec une machine en BSD comme passerelles et t'as un accès comme les gros ;) |
|
Title: Re: [Résolu] Fichier /etc/hosts.deny absent Post by dexinou on 24. Sep 2007 at 16:02 [BSDf]Lenine wrote on 24. Sep 2007 at 14:53:
Free serait l'idéale effectivement. Mais pour ça il faudrait habiter en France. :-/ |
|
Forums FUG-FR » Powered by YaBB 2.5.2! YaBB Forum Software © 2000-2026. All Rights Reserved. |