Micro remarque sur le tuto de portsentry

Bonjour,

je suis en train de faire une maquette de portsentry en suivant scrupuleusement le tuto de LOL.

Tout d’abord, une remarque, la commande proposée, qui est soignée au petits oignons, contient une erreur du linotypiste, ou alors, je ne connais pas cette option “debub” :

KILL_RUN_CMD="/sbin/iptables -I INPUT -s $TARGET$ -j DROP && /sbin/iptables -I INPUT -s $TARGET$ -m limit --limit 3/minute --limit-burst 5 -j LOG --log-level debub --log-prefix 'Portsentry: dropping: '"

Du coup, je m’autorise une question, on peut lire dans le tuto (section TCP wrappers) :[quote]Attention, dans le fichiers de configuration par défaut, l’option --log-level est fixée à DEBUG (majuscule), option qui ne fonctionne pas avec rsyslog. Ecrivez donc ‘debug’ en minuscules.[/quote]Mais de quel fichier de configuration s’agit-il ? Car j’ai exploré /etc/portsentry/portsentry.conf, /etc/default/portsentry et /etc/portsentry/portsentry.ignore.static sans trouver trace de “–log-level”

Un petit éclaircissement ?

[EDIT]

  • Tant que j’y suis, je ne comprends pas la présence de 127.0.0.1 et de 0.0.0.0 dans les adresses à ignorer.
  • Sur ma maquette, seuls deux ports sont ouverts 111 et 22, j’aimerais en ouvrir d’autres, mais je ne sais pas comment faire manuellement. Rem : iptables est ouvert au 4 vents = n’est pas configuré.
    [/EDIT]

regarde bien le fichier portsentry.conf & /etc/defaults/portsentry defile le tout doucement ou fait une recherche la ligne est bien dedans (j’ai eu du mal a la trouver moi aussi au debut )

Tout d’abord, merci de me répondre :slightly_smiling:

Effectivement, je l’ai trouvé dans portsentry.conf, dans la section “Dropping route”

Mais le fichier indique qu’il faut décommenter la ligne correspond à l’OS et qu’une seule ligne doit être décommentée. Or, selon le tuto, c’est une autre ligne qui est décommentée : KILL_ROUTE="/sbin/route add -host $TARGET$ reject"

Par contre, cette ligne se retrouve presque à l’identique non pas comme KILL ROUTE, mais comme commande externe KILL_RUN_CMD (section External command) avec l’erreur que j’ai indiquée.

Faut-il comprendre au final que ce DEBUG majuscule aurait été remplacé par un debub minuscule dans cette autre section ? :think:

Pourrais-tu m’éclairer sur mes autres interrogations,stp ?
Si je n’arrive pas à ouvrir manuellement un port, je ne pourrais effectuer aucun test. [EDIT du soir, espoir] OK, il faut installer l’appli qui écoute pour ouvrir un port. Je vais donc installer plein d’applis inutiles … pas très pratique. [/EDIT]
Quant à 127.0.0.1 pourquoi l’ignorer ? Une machine se scanne-t-elle toute seule ? Quant à 0.0.0.0 je ne vois pas ce qu’il désigne … tous les réseaux ? [EDIT] Heureusement, la man page est plus claire que le fichier : It should contain at least the localhost 127.0.0.1, 0.0.0.0 and the IP addresses of all local interfaces. [/EDIT]

Bonjour,

dommage qu’il n’y ait pas de réponse, alors pour ma part j’ai bien remarqué vos observations.

Premièrement c’est pas debub mais debug qu’il faut remplacer. Et d’après ce que j’en ai compris ça doit donner ceci :

[code]###################

External Command#

###################

This is a command that is run when a host connects, it can be whatever

you want it to be (pager, etc.). This command is executed before the

route is dropped or after depending on the KILL_RUN_CMD_FIRST option below

I NEVER RECOMMEND YOU PUT IN RETALIATORY ACTIONS AGAINST THE HOST SCANNING

YOU!

TCP/IP is an unauthenticated protocol and people can make scans appear out

of thin air. The only time it is reasonably safe (and I never think it is

reasonable) to run reverse probe scripts is when using the “classic” -tcp mode.

This mode requires a full connect and is very hard to spoof.

The KILL_RUN_CMD_FIRST value should be set to “1” to force the command

to run before the blocking occurs and should be set to “0” to make the

command run after the blocking has occurred.

KILL_RUN_CMD_FIRST = “1”

#KILL_RUN_CMD="/some/path/here/script $TARGET$ $PORT$ $MODE$"

for examples see /usr/share/doc/portsentry/examples/

KILL_RUN_CMD="/sbin/iptables -I INPUT -s $TARGET$ -j DROP && /sbin/iptables -I INPUT -s $TARGET$ -m limit --limit 3/minute --limit-burst 5 -j LOG --log-level debug --log-prefix 'Portsentry: dropping: '"

[/code]

Par contre j’avais dé-commenté la ligne ci-dessous auparavant d’appliquer le tutoriel de LOL, maintenant je l’ai commenté car je pense que la commande au-dessus “KILL_RUN_CMD=”/sbin/iptables…" va faire doublon :

# iptables support for Linux #KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"

C’est une question bien entendu ?

Bonjour,

j’intervient parce que j’en ai marre de voir ces tutos que tout le monde suit aveuglément alors qu’il ne contiennent pas toujours les meilleurs réglages.

Dans le cas présent, même si le paramétrage présenté fonctionne (mis à part le typo sur “debub”), il est incorrect quant à l’utilisation de la commande externe KILL_RUN_CMD.

Elle n’est PAS faite pour exécuter les commandes de dropping en elle même, mais pour des actions SUPPLEMENTAIRES à l’action de dropping.
La section “# Dropping Routes:#” est faite pour çà. La commande KILL_RUN_CMD présentée dans le wiki est EXACTEMENT la même que celle déjà présente dans une des actions KILL_ROUTE, aucun intérêt.

La bonne méthode est de :

  • décommenter la ligne
  • corriger dans cette ligne DEBUG par debug
  • Commenter la KILL_ROUTE par défaut (il ne peut y en avoir qu’une d’active)

TB