[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pare-feu : ouverture de ports à reception d'un mail



salut,

Je souhaite donc fermer le port SSH, et l'ouvrir quand mon relais de
messagerie reçoit un mail.
Avez-vous déjà mis cela en oeuvre ?
oui. Pour ma part, c'est du portknoking maison:

phase 1:
fabricer@FR-PORT:~$ echo | mail -s "ouvrir ssh" robot@mon.domaine.fr

phase2:
sur le serveur de mail, j'intercepte tout ce qui est envoyé au destinataire robot et je lui applique le script suivant:


# on stocke le mail qui nous arrive par le stdin dans un fichier temporaire
mail=`mktemp -t robot.XXXXXX`

cat > $mail

from=`grep "^From: " $mail |sed "s/^From: //g"`
sujet=`grep "^Subject: " $mail |sed "s/^Subject: //g"`
logfile=/var/log/robot.log
logprefix="`date +'%b %d %T'` `hostname` $from"

if [ -n "`grep '^Subject: ouvrir ssh' $mail`" -o "$extension" = "openssh" ]; then
  echo "$logprefix ouvre le ssh" >> $logfile
  echo "sshd: ALL" >> /etc/hosts.allow
elif [ -n "`grep '^Subject: fermer ssh' $mail`" -o "$extension" = "closessh" ]; then
  echo "$logprefix `id` ferme le ssh" >> $logfile
  temp=`mktemp -t robot-sed.XXXXXX`
sed "s/sshd: ALL//g" /etc/hosts.allow > $temp && cat $temp > /etc/hosts.allow && rm $temp
fi

En gros, quand je reçois "ouvrir ssh", je met sshd:ALL dans /etc/hosts.allow
Et quand je reçois "fermer ssh", je vire sshd:ALL de /etc/hosts.allow

phase3:
fabricer@FR-PORT:~$ ssh -p 2201 root@mon.domaine.fr

Et voilà, si ça peut aider. C'est ce que j'utilise depuis 6 ans.


Merci.
de rien ;)

f.




Reply to: