PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.linux.config > SSH/FTP : Limiter les tentatives d'intrusion
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.linux.config Prise en main d'un système Linux.

SSH/FTP : Limiter les tentatives d'intrusion

Réponse
 
LinkBack Outils de la discussion
Vieux 16/10/2007, 14h18   #1
Zouplaz
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut SSH/FTP : Limiter les tentatives d'intrusion

Bonjour, je cherche à configurer correctement blockhosts pour empecher
les tentatives d'intrusion à répétition et banir temporairement les
adresses IP sources.

J'aurais voulu essayer fail2ban mais il requiert une version de Python
non encore dispo sur ma distribution (CentOS 4.5)

Le problème est que depuis que j'utilise blockhosts je n'arrive plus à
me connecter en FTP sur le serveur.

Ce que je ne comprends pas c'est que blockhosts.py n'est exécuté qu'une
fois pas heure, et que dans l'intervalle il n'apparait pas dans ps - Al
Pourtant quand je tente de me connecter avec un client ftp, j'obtiens
ceci dans /var/log/messages
blockhosts: echo tag: 192.168.1.1-vsftpd@192.168.1.11

Je ne comprends pas comment blockhosts peut s'exécuter sur demande,
d'ailleurs iptables --list retourne ceci :
Chain INPUT (policy ACCEPT)
target prot opt source destination
blockhosts all -- anywhere anywhere

Que fait cette target 'blockhosts' ici, à quoi correspond elle ? Est-ce
que ça signifie que blockhosts.py est exécuté par iptables ? Comme un
filtre ? Mais où est-ce que c'est déclaré ce genre de comportement ?

Voila, si vous avez un peu d'aide à me fournir ça serait sympa !


/etc/blockhosts.cfg (ne comportant que les sections que j'ai modifié)

#-----------------------------------------------------------------------
[common]
# common section is variables that may be used by main program, mail, etc

#HOSTS_BLOCKFILE = "/etc/hosts.allow"
# the name of the block-file on your computer - usually hosts.allow or
# hosts.deny, see "man 5 hosts_access" for details on these files.
# default is hosts.allow

#HOST_BLOCKLINE = ["ALL: ", " : deny"]
# the line to output, with Host Ip Address in between the strings above,
# to turn on blocking of that IP address

#VERBOSE = Log.MESSAGE_LEVEL_ERROR #-> error (same as --quiet option)
VERBOSE = Log.MESSAGE_LEVEL_WARNING #-> warning (default)
#VERBOSE = Log.MESSAGE_LEVEL_INFO #-> info (same as --verbose option)
#VERBOSE = Log.MESSAGE_LEVEL_DEBUG #-> debug (same as --debug option)
# logging message levels - each level includes all levels above it

#-----------------------------------------------------------------------
[filters]
# filters section defines configuration for filtering watched hosts
# into the blocked hosts list

COUNT_THRESHOLD = 7
# number of invalid attempts after which host is blocked
# note that actual denial make take one or more attempts - depends on the
# timing of when LOGFILES are updated by the system, and when this script
# gets to run

#AGE_THRESHOLD = 12
# number of hours after which host entry is discarded from hosts.deny
# 24 -> one day, 168 -> one week, 720 -> 30 days, integer values only
# most attackers go away after they are blocked, so to keep hosts.deny
# file size small, no reason to make this any more than, say, half-a-day

WHITELIST = [ "127.0.0.1", "192.168.1.1", "194.146.224.129"]
#WHITELIST = []
#WHITELIST = [ "127.0.0.1", "10\.0\.0\..*", ]
# A list of IP (IPv4) addresses or regular expressions that represent
# a IP (IPv4) address - this is the list of white-listed IP addresses.
# When considering IPs to block, if a IP address maches any item in this
# list, then it will be removed from the block list - so won't be blocked.

#BLACKLIST = []
#BLACKLIST = [ "192.168.10.1", "10\..*", ]
# A list of IP (IPv4) addresses or regular expressions that represent
# a IP (IPv4) address - this is the list of black-listed IP addresses.
# When considering IPs to block, if a IP address maches any item in this
# list, then it will be immediately added to the block list, even if
# COUNT_THRESHOLD may not have been reached.
# IP addresses directly specified in this list without a regular expression
# will be immediately added to the blocked list.
# WHITELIST takes precedence over BLACKLIST - so a match in both will mean
# it is white-listed.

#-----------------------------------------------------------------------
[blockhosts]
# blockhosts section defines the log files to scan and patterns to look for

#LOGFILES = [ "/var/log/secure", ]
#LOGFILES = [ "/var/log/auth.log", ]
LOGFILES = [ "/var/log/secure", "/var/log/xferlog", ]
# default list of logs to process, comma separated, can follow Python
# syntax, should be a sequence (list or tuple) of strings representing
# filenames: 1 or more files, default is single file: /var/log/secure

#LOCKFILE = "/tmp/blockhosts.lock"
# need create/write access to this file, used to make sure only one
# instance of blockhosts.py script writes the HOSTS_BLOCKFILE at one time
# note that the mail/iptables/iproute parts of the program do not serialize

#-----------------------------------------------------------------------
[ipblock]
# ipblock section for enabling protection using TCP/IP level blocking -
# by using null routes, or iptables filtering, all network communication
# is stopped from a particular IP address

#IPBLOCK = ""
#IPBLOCK = "iproute"
IPBLOCK = "iptables"
# "iproute": Do TCP/IP blocking using route commands to setup null-routes.
# ip route add <ip-addr> via 127.0.0.1
# "iptable": Do TCP/IP blocking, using iptables packet filtering.
# iptables --append blockhosts --source <ip-addr> -j DROP

#-----------------------------------------------------------------------
  Réponse avec citation
Vieux 16/10/2007, 14h27   #2
Mihamina Rakotomandimby
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

Zouplaz wrote:
> Bonjour, je cherche à configurer correctement blockhosts pour empecher
> les tentatives d'intrusion à répétition et banir temporairement les
> adresses IP sources.


Connais-tu le port knocking, dans ce domaine?
http://cahierspip.ww7.be/spip.php?article64

Tu peux par exemple configurer ton firewall pour qu'il n'accepte la
connexion sur le 22 que pour une machine qui a fait des tentatives de
connexion sur le port X,Y,Z et ce dans cet ordre.

Il y a une discussion à ce sujet sur fr.comp.securite, ou on débat de
l'efficacité de la technique,...
  Réponse avec citation
Vieux 16/10/2007, 14h50   #3
Kevin Denis
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

Le 16-10-2007, Zouplaz <user@domain.invalid> a écrit:
> Ce que je ne comprends pas c'est que blockhosts.py n'est exécuté qu'une
> fois pas heure, et que dans l'intervalle il n'apparait pas dans ps - Al
>

C'est qu'il doit etre lance par cron. man crontab, man crond.

> Je ne comprends pas comment blockhosts peut s'exécuter sur demande,


c'est le boulot de cron.
--
Kevin
  Réponse avec citation
Vieux 16/10/2007, 16h18   #4
Zouplaz
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

le 16/10/2007 15:50, Kevin Denis nous a dit:
> Le 16-10-2007, Zouplaz <user@domain.invalid> a écrit :
>> Ce que je ne comprends pas c'est que blockhosts.py n'est exécuté qu'une
>> fois pas heure, et que dans l'intervalle il n'apparait pas dans ps - Al
>>

> C'est qu'il doit etre lance par cron. man crontab, man crond.
>
>> Je ne comprends pas comment blockhosts peut s'exécuter sur demande,

>
> c'est le boulot de cron.


Bien sur qu'il s'exécute par cron puisque c'est moi qui ait déclaré la
tâche cron, là n'est pas la question. Ce que je ne comprends pas c'est
que le process n'apparaissent nulle part et que pourtant il se passe
quelque chose à chaque tentative de connexion ftp alors que pour moi il
ne devrait y avoir que traitement par batch et pas à chaque connexion.

Et comme la doc du bidule en question est pas claire.

Si vous avez un autre outil du même genre, je prends

Merci

  Réponse avec citation
Vieux 16/10/2007, 16h34   #5
gerbier
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

Zouplaz wrote:

> Et comme la doc du bidule en question est pas claire.
>
> Si vous avez un autre outil du même genre, je prends


fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page )

le principe est d'utiliser gamin pour surveiller les log (pas de polling)
  Réponse avec citation
Vieux 16/10/2007, 18h44   #6
Zouplaz
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

le 16/10/2007 17:34, gerbier nous a dit:
> Zouplaz wrote:
>
>> Et comme la doc du bidule en question est pas claire.
>>
>> Si vous avez un autre outil du même genre, je prends

>
> fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page )
>
> le principe est d'utiliser gamin pour surveiller les log (pas de polling)


Ah ben voila, c'est celui sur lequel je lorgnais mais manque de bol
CentOS 4.5 ne propose pas la version la python adéquate pour le faire
tourner (il faut une 2.4.x et j'ai une 2.3.x) - Et je préfère éviter les
install tar balls

  Réponse avec citation
Vieux 17/10/2007, 10h52   #7
Pascal Hambourg
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

Salut,

Zouplaz a écrit :
>
> d'ailleurs iptables --list retourne ceci :
> Chain INPUT (policy ACCEPT)
> target prot opt source destination
> blockhosts all -- anywhere anywhere
>
> Que fait cette target 'blockhosts' ici, à quoi correspond elle ?


C'est une chaîne utilisateur qui est appelée par la chaîne INPUT
(paquets entrants à destination de la machine) et qui contient les
règles de blocage d'adresses sources créées par blockhost.

> Est-ce que ça signifie que blockhosts.py est exécuté par iptables ?


Non. C'est juste une chaîne utilisateur qui aurait pu s'appeler
n'importe comment.

> /etc/blockhosts.cfg (ne comportant que les sections que j'ai modifié)

[...]
> # "iptable": Do TCP/IP blocking, using iptables packet filtering.
> # iptables --append blockhosts --source <ip-addr> -j DROP


Voilà, pour chaque adresse bannie une règle est créée dans la chaîne
"blockhost".
  Réponse avec citation
Vieux 17/10/2007, 12h09   #8
Lolotte
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: SSH/FTP : Limiter les tentatives d'intrusion

Précédemment, Zouplaz a écrit :
> Bonjour, je cherche à configurer correctement blockhosts pour empecher
> les tentatives d'intrusion à répétition et banir temporairement les
> adresses IP sources.
>


J'avais aussi des attaques fréquentes sur le port 22, j'ai fait quelques
tout petits changements tout bêtes sans utiliser d'autres outils que
Netfilter et maintenant mon serveur SSH ne voit plus que mes propres
connexions :
- j'ai changé le port du serveur SSH à une valeur haute (y a jusqu'à
65535) non encore utilisée sur mon serveur
- j'ai mis une règle iptables "limit" sur ce port empêchant plus de 2
nouvelles connexions par minute (c'est amplement suffisant pour moi qui
n'ouvre pas 60 000 connexions...) depuis l'Internet

Du coup, ben comme y a plus personne qui répond au 22, ben la plupart
abandonnent au deuxième essai.
Pour l'instant personne n'a trouvé le "bon" port SSH quelque part dans les
65535 parce qu'en général les scans se font sur une liste de ports
prédéfinie parce que sinon c'est trop long et parce que l'objectif c'est
de s'attaquer aux PC administrés par des novices, c'est plus facile.
Enfin, j'ai remarqué que lors d'attaques, les tentatives étaient espacées
de quelques secondes seulement, donc avec max 2/minute, ça devrait
rapidement calmer le script qui essaie d'entrer. Si un jour un entre, il
va quand même s'amuser un moment à trouver le couple user/password qui va
bien à 2 tentatives/minute... et si ça arrive, je le calmerai autrement...

Lolotte



--
(enlever pasdespam pour répondre)
http://www.dansmongrenier.com/ : les pages du manuel, les newsgroups,
recherche whois, les codes postaux, des jeux et plein d'autres bêtises...

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 01h58.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,22453 seconds with 16 queries