OVH Community, votre nouvel espace communautaire.

Portsentry script Installation automatique pour ipables et release OVH


Geoffroy
04/12/2007, 19h17
Ce n'est pas la bonne syntaxe pour passer le flag en question à emerge. D'autre part, il ne vaut mieux pas procéder comme celà si vous voulez pouvoir mettre à jour facilement ce paquet. Tout est dans la doc de portage.

nocomp
04/12/2007, 10h55
salut,
je pensais qu il parlait de son script d auto install pas de portsentry en lui meme.
incroyable qu un si petit script ne peux pas tourner sous gentoo....... il me reste quoi comme autre option en ids? snort?
remerciments

esperanza
04/12/2007, 10h51
Citation Envoyé par nocomp
Pourquoi tant de soucis pour installer ca sur gentoo alors que sur unbuntu je viens de l install en une sec sans soucis?

il est pas compatible avec gentoo ?
A priori Gillou t'avait déjà répondu...

nocomp
04/12/2007, 10h25
Bonjour tout le monde,
j ai des petits soucis à l install de portsentry.

emerge portsentry donne ca:
Code:
mes_scripts # emerge portsentry
Calculating dependencies   
!!! All ebuilds that could satisfy "portsentry" have been masked.
!!! One of the following masked packages is required to complete your request:
- net-analyzer/portsentry-1.2 (masked by: ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or 
refer to the Gentoo Handbook.

 progrv # emerge portsentry ACCEPT_KEYWORDS="~amd64"           
Calculating dependencies   
!!! All ebuilds that could satisfy "portsentry" have been masked.
!!! One of the following masked packages is required to complete your request:
- net-analyzer/portsentry-1.2 (masked by: ~amd64 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or 
refer to the Gentoo Handbook.

 progrv # emerge ACCEPT_KEYWORDS="~amd64" portsentry
Calculating dependencies   
emerge: there are no ebuilds to satisfy "ACCEPT_KEYWORDS=~amd64".
Pourquoi tant de soucis pour installer ca sur gentoo alors que sur unbuntu je viens de l install en une sec sans soucis?

il est pas compatible avec gentoo ?

remerciments

Gillou
04/12/2007, 01h02
> je suis sous gentoo ovh 2 64b, est-ce à cause de ma config ?

oui, tu peux supprimer les fichiers, c'est pas fait pour gentoo.

Gillou.

nocomp
04/12/2007, 00h28
Citation Envoyé par Gillou
Bonsoir,

> de plus à chaques fois que je le lance je recoit un mail d ovh me
> signalant un defaut qui a apparut sur le serveur.
> qqun a une idée de comment regler ca?

Ce script a bloqué les Ips d'OVH qui permettent de tester si ton serveur est ok ou ko ; il faut que tu ajoutes dans ce script les ips d'OVH afin qu'il ne les stop pas dans iptables.

Sous ssh Tapes "iptables -L" et regarde dans la liste pour voir s'il y a pas des ips d'OVH

"iptables -F" videra la liste d'ip bloqué et tu n'auras plus l'erreur signalant un défaut qui a apparut sur le serveur.


Quelques ips d'OVH à ne pas bloquer:
proxy.ovh.net
proxy.p19.ovh.net
proxy.rbx.ovh.net
ping.ovh.net
IP.250
IP.249

Pour enlever le demarrage automatique si l'installation n'a pas réussi
Edite le fichier /etc/rc.d/rc.local
et enlève les deux lignes:
Code:
#Démarrage automatique de Portsentry
/bin/portsentry start

Ce script est un peu vieux, merci de ne pas l'installer si vous avez un doute (il était prévu à l'epoque pour une redhat OVH release 1.55)
salut gilou,
merci bien pour ta reponse, j apprecie bcp.
le prob c est que portsentry ne sais pas du totu installé une fois le script lancé,et le fichier /etc/rc.d/rc.local n existe pas:

# ls /etc/rc.d/rc.local
ls: /etc/rc.d/rc.local: Aucun fichier ou répertoire de ce type

je ssui sous gentoo ovh 2 64b ,est ce à cause de ma config?
remerciments

Gillou
04/12/2007, 00h02
Bonsoir,

> de plus à chaques fois que je le lance je recoit un mail d ovh me
> signalant un defaut qui a apparut sur le serveur.
> qqun a une idée de comment regler ca?

Ce script a bloqué les Ips d'OVH qui permettent de tester si ton serveur est ok ou ko ; il faut que tu ajoutes dans ce script les ips d'OVH afin qu'il ne les stop pas dans iptables.

Sous ssh Tapes "iptables -L" et regarde dans la liste pour voir s'il y a pas des ips d'OVH

"iptables -F" videra la liste d'ip bloqué et tu n'auras plus l'erreur signalant un défaut qui a apparut sur le serveur.


Quelques ips d'OVH à ne pas bloquer:
proxy.ovh.net
proxy.p19.ovh.net
proxy.rbx.ovh.net
ping.ovh.net
IP.250
IP.249

Pour enlever le demarrage automatique si l'installation n'a pas réussi
Edite le fichier /etc/rc.d/rc.local
et enlève les deux lignes:
Code:
#Démarrage automatique de Portsentry
/bin/portsentry start

Ce script est un peu vieux, merci de ne pas l'installer si vous avez un doute (il était prévu à l'epoque pour une redhat OVH release 1.55)

nocomp
03/12/2007, 23h02
salut gillou,
ce soir je voullais me mettre à installer portsentry,et innutile de te dire comme j etais super joisse de trouver ce script.
malheureusement l install s est passsée sans succes,j ai ces erreurs qui me reviennent quand je le lance:
Code:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Statut d'erreur report� d'erreurs pr�c�dentes.
portsent.sh: line 40: cd: /home/ovh/src/portsentry_beta: Aucun fichier ou r�pertoire de ce type
make: *** Pas de r�gle pour fabriquer la cible � linux �. Arr�t.
portsent.sh: line 44: cd: /usr/local/psionic/portsentry: Aucun fichier ou r�pertoire de ce type
Can't open /usr/local/psionic/portsentry/portsentry.conf: Aucun fichier ou r�pertoire de ce type.
Can't open /usr/local/psionic/portsentry/portsentry.conf: Aucun fichier ou r�pertoire de ce type.
cat: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 55: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 56: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 60: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 62: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 66: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 67: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 68: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 69: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 70: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 71: /usr/local/psionic/portsentry/portsentry.ignore: Aucun fichier ou r�pertoire de ce type
cat: /etc/rc.d/rc.local: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 123: /etc/rc.d/rc.local: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 124: /etc/rc.d/rc.local: Aucun fichier ou r�pertoire de ce type
portsent.sh: line 125: /etc/rc.d/rc.local: Aucun fichier ou r�pertoire de ce type
de plus à chaques fois que je le lance je recoit un mail d ovh me signalant un defaut qui a apparut sur le serveur.
qqun a une idée de comment regler ca?
remerciments

mpraljak
18/09/2006, 13h22
Salut,
Juste une petite idee... y'aurait pas moyen de faire un script d'install pour debian?
Je viens d'essayer de me faire ca a la main mais c'est une problematique.
Si une ame charitable daigne le faire, je suis preneur.
A+

eRike
17/02/2005, 09h24
illegalparty écrivait :
Oui les Ip sont bloquées temporairement et ce script installe Portsentry.
@+
Merci pour ces précisions illegalparty

illegalparty
16/02/2005, 18h43
Oui les Ip sont bloquées temporairement et ce script installe Portsentry.
@+

André
16/02/2005, 17h37
Oui j'ai bien installé ce script, et cela fonctionne parfaitement.

Au niveau du blocage temporaire des IP, je ne sais pas... aucune idee...

eRike
16/02/2005, 12h14
André écrivait :
Bonjour,

Je ne comprends pas... j'ai bien installé PORTSENTRY sur mon dédié, à priori il fonctionne, mais lorsque je fais un "iptables -L", je ne vois pas les IP qu'il bloque ????

Pourtant, dans mes logs, j'ai bien :
Feb 16 08:07:55 ns30666 portsentry[13292]: attackalert: TCP SYN/Normal scan from host: tlt-usr1-85.dial-up.kraft-s.ru/213.156.201.85 to TCP port: 135
Feb 16 08:07:55 ns30666 portsentry[13292]: attackalert: Host 213.156.201.85 has been blocked via dropped route using command: "/sbin/iptables -I INPUT -s 213.156.201.85 -j DROP"

Par contre, dans mon "iptables -L", je vois bien dans les règles, les IP que je bloque manuellement via la commande : iptables -I INPUT 1 -s 62.141.40.21 -j DROP par exemple...

Vous avez une idée de ce qui se passe ?

Merci pour votre aide,

André
Salut,

Bon alors je n'ai pas encore testé ce script qui m'a l'air bien sympatique..
Pour répondre à ta question, la raison ne serait pas que portsentry bloque l'ip temporairement ? juste au moment ou le serveur se fait scanner..
Pour info, tu a installer portsentry avec ce script?

Cordialement,
Eric

André
16/02/2005, 08h19
Bonjour,

Je ne comprends pas... j'ai bien installé PORTSENTRY sur mon dédié, à priori il fonctionne, mais lorsque je fais un "iptables -L", je ne vois pas les IP qu'il bloque ????

Pourtant, dans mes logs, j'ai bien :
Feb 16 08:07:55 ns30666 portsentry[13292]: attackalert: TCP SYN/Normal scan from host: tlt-usr1-85.dial-up.kraft-s.ru/213.156.201.85 to TCP port: 135
Feb 16 08:07:55 ns30666 portsentry[13292]: attackalert: Host 213.156.201.85 has been blocked via dropped route using command: "/sbin/iptables -I INPUT -s 213.156.201.85 -j DROP"

Par contre, dans mon "iptables -L", je vois bien dans les règles, les IP que je bloque manuellement via la commande : iptables -I INPUT 1 -s 62.141.40.21 -j DROP par exemple...

Vous avez une idée de ce qui se passe ?

Merci pour votre aide,

André

André
13/02/2005, 20h57
Heu... j'ai une suggestion à faire ;-)

Cet excellent script... existe-t-il pour l'install d'IPTABLES + son script de lancement automatique ?

Merci ;-)

André
13/02/2005, 20h56
Merci pour ces réponses, merci, merci.

Je ne l'ai pas encore installé, mais cela ne vas pas tarder,

@ +

illegalparty
13/02/2005, 14h03
a- Portsentry doit "obligatoirement" tourner avec Iptables ?
b- J'ai iptables 1.2.9, est-ce suffisant ?
c- Que ce passe-t-il si Iptable n'est pas ou plus présent ?
a- Oui portsentry se sert d'iptables
b- c'est suffisant mais tu peux le mettre à jour en suivant le tuto d'ovh :
http://guides.ovh.com/FireWall/
c- ça ne marche pas

1/ un copier coller dans un fichier texte,
2/ je modifie l'adresse du répertoire Iptable (mon FW est dans le repertoire iptables-1.2.9) ?
3/ je renome mon fichier texte en install_portsentry.sh
4/ je transfere ce fichier sur mon serveur,
5/ je le lance ?
1- oui
2- non mais tu n'as qu'à rajouter l'adresse IP de ton serveur ou celà est indiqué.
3- oui
4- oui
5- oui

André
12/02/2005, 01h06
Bonjour,

J'avoue qu'en tant que newbie... j'ai un peu de mal à tout comprendre... du coup j'ai quelques interrogations...

Peut-êre pourriez-vous me répondre ?

- Portsentry doit "obligatoirement" tourner avec Iptables ?
- J'ai iptables 1.2.9, est-ce suffisant ?
- Que ce passe-t-il si Iptable n'est pas ou plus présent ?

Le script affiché dans le forum, pour l'utiliser, je fais :

1/ un copier coller dans un fichier texte,
2/ je modifie l'adresse du répertoire Iptable (mon FW est dans le repertoire iptables-1.2.9) ?
3/ je renome mon fichier texte en install_portsentry.sh
4/ je transfere ce fichier sur mon serveur,
5/ je le lance ?

Merciiiiiiii,

André

illegalparty
29/01/2005, 12h56
Merci Gillou pour la réponse.
@+

almiron
17/01/2005, 13h04

Gillou
17/01/2005, 11h34
illegalparty écrivait :
Salut,

J'ai déjà Iptable de configurer suivant le guide ovh :
http://guides.ovh.com/FireWall/

l'installation de portsentry va t'elle supprimer mes régles déjà existante ?

Merci
Bonjour illegalparty,

Non PortSentry ne vide pas tes règles dans Iptables, tu peux mettre les deux sans problème en fait tu vas mettre un peu au chomdu PortSentry qui va te dropper beaucoup moins d'ip.

Bonne journée à tous.
Gillou.

net-worker
17/01/2005, 11h01
Gillou écrivait :
Code:
#!/bin/bash
#################################################
# Script   	: install_portsentry.sh
# Auteur 	: Gillou
# Site	: www.Supertoinette.com
# Version   : 1.1
#
# Version 1.1
# -----------
# 22-12-2004
# Ajout de l'IP du backup OVH dans les IP à ignorer
# Ajout du status et couleur
# Suppression de code en double, rectification mineur
#
# Version 1.0
# -----------
# 19-12-2004 
# Initial release
T'es fatigué, Sébastien ?

Merci Gillou, en tous cas

almiron
13/01/2005, 20h15

illegalparty
13/01/2005, 15h50
Salut,

J'ai déjà Iptable de configurer suivant le guide ovh :
http://guides.ovh.com/FireWall/

l'installation de portsentry va t'elle supprimer mes régles déjà existante ?

Merci

Gillou
22/12/2004, 03h54
Code:
#!/bin/bash
#################################################
#
# Script   	: install_portsentry.sh
# Auteur 	: Gillou
# Site	: www.Supertoinette.com
# Version   : 1.1
#
# Version 1.1
# -----------
# 22-12-2004
# Ajout de l'IP du backup OVH dans les IP à ignorer
# Ajout du status et couleur
# Suppression de code en double, rectification mineur
#
# Version 1.0
# -----------
# 19-12-2004 
# Initial release
#
# DESCRIPTION : 
# Installe PortSentry sur un serveur release OVH
# PortSentry permet de détecter les scans de ports
# sur votre serveur et de bloquer l'IP directement
# et très rapidement avec Iptables.
#
# AVERTISSEMENT :
# Vous installez ce script à vos risques et périls,
# je ne pourrai être tenu en aucun cas responsable
# des dommages ou de tous autres faits liés à
# ce script.
#
# INSTALLATION :
#  Avant de lancer ce script remplacer les [IPS]
#  213.186.xx.xxx par les IPs de vos serveurs 
#  afin de ne pas être bloqué par PortSentry.
#
##################################################

REP_SRC='/home/ovh/src';
REP_PSENTRY='/usr/local/psionic/portsentry';
REP_START='/bin/portsentry';
SENTRYIGNORE=$REP_PSENTRY'/portsentry.ignore';
SERVEUR_DOWNLOAD='http://ovh.dl.sourceforge.net/sourceforge/sentrytools/';
VERSION='1.2';

cd $REP_SRC

if wget $SERVEUR_DOWNLOAD/portsentry-$VERSION.tar.gz -O portsentry-$VERSION.tar.gz; then

	tar -zxvf portsentry-$VERSION.tar.gz
	cd $REP_SRC/portsentry_beta
	rm -rf $REP_PSENTRY
	make linux && make install
	
	cd $REP_PSENTRY
	
	# configuration d'Iptables
	perl -pi -e "s/#KILL_ROUTE=\"\/usr\/local\/bin\/iptables/KILL_ROUTE=\"\/sbin\/iptables/" $REP_PSENTRY/portsentry.conf;
	
	# mise en commentaire de KILL_HOSTS_DENY
	perl -pi -e "s/KILL_HOSTS_DENY=\"ALL\: \$TARGET/#KILL_HOSTS_DENY=\"ALL\: \$TARGET/" $REP_PSENTRY/portsentry.conf;

	#Ajout des IPS qui seront ignorées par PortSentry
	MIPS=$( cat $SENTRYIGNORE | grep '#MES IPS' | grep -iv 'grep' )
      if [ -z "$MIPS" ]; then       
		echo " " >> 			$SENTRYIGNORE;
		echo "#MES IPS" >> 		$SENTRYIGNORE;
		
		# [IPS] ------------------------------------------
		
		echo "#mon serveur 1" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xx" >> 	$SENTRYIGNORE;
		
		echo "#mon serveur 2" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xxx" >> 	$SENTRYIGNORE;
		
		echo "#mon serveur 3" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xxx" >> 	$SENTRYIGNORE;
		
		# -----------------------------------------------
	
		# ICI c'est les IPS des serveurs d'OVH 
		echo "#IP OVH (Ping, Proxy, OVH clef 1, OVH clef 2, Backup)" >> $SENTRYIGNORE;
		echo "213.186.33.13"  >> $SENTRYIGNORE;
		echo "213.186.50.98"  >> $SENTRYIGNORE;
		echo "213.244.20.43"  >> $SENTRYIGNORE;
		echo "213.186.50.100" >> $SENTRYIGNORE;
		echo "213.186.33.44"  >> $SENTRYIGNORE;
	fi;
	
	# Création du fichier de lancement automatique sous SSH de PortSentry (portsentry start)
	rm -f $REP_START;

echo  "#!/bin/bash

OK=\$(echo -e '[ \E[32m\033[1m'\" OK \033[0m ]\" ; tput sgr0)
OFF=\$(echo -e '[ \E[31m\033[1m'\" OFF \033[0m ]\" ; tput sgr0)
REP_PSENTRY='/usr/local/psionic/portsentry';
 
case \"\$1\" in
    start)
        echo \"Démarrage de Portsentry...\"
        ps ax | grep -iw \$REP_PSENTRY'/portsentry -atcp' | grep -iv 'grep' > /dev/null
        if [ \$? != 0 ]; then
          \$REP_PSENTRY/portsentry -atcp
        fi
 
        ps ax | grep -iw \$REP_PSENTRY'/portsentry -audp' | grep -iv 'grep' > /dev/null
        if [ \$? != 0 ]; then
          \$REP_PSENTRY/portsentry -audp
        fi
        echo -e \"Portsentry est maintenant actif !\t\t\" \$OK
    ;;
    stop)
        echo \"Fermeture de Portsentry...\"
        array=(\`ps ax | grep -iw \$REP_PSENTRY'/portsentry' | grep -iv 'grep' | awk '{print \$1}' | cut -f1 -d/ | tr '\n' ' '\`)
        element_count=\${#array[@]}
        index=0
        while [ \"\$index\" -lt \"\$element_count\" ]
        do
          kill -9 \${array[\$index]}
          let \"index = \$index + 1\"
        done
        echo -e \"Portsentry est maintenant stopper !\t\t\" \$OFF
    ;;
    restart)
        \$0 stop  && sleep 3
        \$0 start
    ;;
    status)
        ps ax | grep -iw \$REP_PSENTRY'/portsentry' | grep -iv 'grep' 
        ps ax | grep -iw \$REP_PSENTRY'/portsentry -atcp' | grep -iv 'grep' > /dev/null
        if [ \$? != 0 ]; then
          echo -e \"Portsentry sur tcp est inactif !\t\t\" \$OFF
        else
          echo -e \"Portsentry sur tcp est Actif !\t\t\t\" \$OK
        fi
 
        ps ax | grep -iw \$REP_PSENTRY'/portsentry -audp' | grep -iv 'grep' > /dev/null
        if [ \$? != 0 ]; then
          echo -e \"Portsentry sur udp est inactif !\t\t\" \$OFF
        else
          echo -e \"Portsentry sur udp est Actif !\t\t\t\" \$OK
        fi
    ;;
    *)
    echo \"Usage: \$0 {start|stop|restart|status}\"
    exit 1
esac
exit 0" > $REP_START
	
	chmod +x $REP_START;
	
	# Ajout de Portsentry au démarrage du serveur lors d'un reboot
	DEMARRAGE=$( cat /etc/rc.d/rc.local | grep $REP_START' start' | grep -iv 'grep' )
      if [ -z "$DEMARRAGE" ]; then
      	echo " " >> /etc/rc.d/rc.local
      	echo "#Démarrage automatique de Portsentry" >> /etc/rc.d/rc.local
      	echo "$REP_START start" >> /etc/rc.d/rc.local
	fi;

	echo "--------------------------------------------------------"
	echo "Portsentry a été ajouté au démarrage du serveur dans /etc/rc.d/rc.local"
	echo " "
	echo "--------------------------------------------------------"
	echo "Vous pouvez voir les IP ajoutées par Portsentry dans Iptables"
	echo "avec ceci: iptables -L -v -n "
	echo "ou ceci: iptables -L"
	echo "Vous pouvez supprimer toutes les IP ajoutées dans Iptables"
	echo "avec ceci: iptables -F"
	echo "Vous pouvez retirer juste une IP dans Iptables"
	echo "avec ceci: iptables -D INPUT -s NUMERO_IP -j DROP"
	echo " "
	echo "--------------------------------------------------------"
	echo "Dans $REP_PSENTRY/portsentry.conf vous pouvez lancer un script"
	echo "qui à chaque attaque pourra vous envoyer un email par exemple."
	echo "c'est la commande KILL_RUN_CMD=\"/some/path/here/script \$TARGET\$ \$PORT\$\""
	echo " "
	echo "--------------------------------------------------------"
	echo "Pour lancer Portsentry taper sous SSH: portsentry start"
	echo "Pour arrêter Portsentry taper sous SSH: portsentry stop"
	echo "Pour redémarrer Portsentry taper sous SSH: portsentry restart"
	echo "Pour voir si Portsentry est actif sous SSH: portsentry status"
	echo " "
	echo "--------------------------------------------------------"
	
	exit 0;

fi;

echo " "
echo "-----------------------------------------------------------";
echo "Impossible de télécharger le fichier de Portsentry suivant: ";
echo "$SERVEUR_DOWNLOAD/portsentry-$VERSION.tar.gz";
echo "Fin de ce script.";
echo " "
echo "-----------------------------------------------------------";

Gillou
19/12/2004, 18h22
Code:
#!/bin/bash
##################################################
#
# Script   	: install_portsentry.sh
# Auteur 	: Gillou
# Site	: www.Supertoinette.com
# Version   : 1.0
#
# DESCRIPTION : 
# Installe PortSentry sur un serveur release OVH
# PortSentry permet de détecter les scans de ports
# sur votre serveur et de bloquer l'IP directement
# et très rapidement avec Iptables.
#
# AVERTISSEMENT :
# Vous installez ce script à vos risques et périls,
# je ne pourrai être tenu en aucun cas responsable
# des dommages ou de tous autres faits liés à
# ce script.
#
# INSTALLATION :
#  Avant de lancer ce script remplacer les [IPS]
#  213.186.xx.xxx par les IPs de vos serveurs 
#  afin de ne pas être bloqué par PortSentry.
#
##################################################

REP_SRC='/home/ovh/src';
REP_PSENTRY='/usr/local/psionic/portsentry';
SENTRYIGNORE=$REP_PSENTRY'/portsentry.ignore';
SERVEUR_DOWNLOAD='http://ovh.dl.sourceforge.net/sourceforge/sentrytools/';
VERSION='1.2';

cd $REP_SRC

if wget $SERVEUR_DOWNLOAD/portsentry-$VERSION.tar.gz -O portsentry-$VERSION.tar.gz; then

	wget http://ovh.dl.sourceforge.net/source...ls/portsentry-$VERSION.tar.gz
	tar -zxvf portsentry-$VERSION.tar.gz
	cd $REP_SRC/portsentry_beta
	rm -rf $REP_PSENTRY
	make linux && make install
	
	cd $REP_PSENTRY
	
	# configuration d'Iptables
	perl -pi -e "s/#KILL_ROUTE=\"\/usr\/local\/bin\/iptables/KILL_ROUTE=\"\/sbin\/iptables/" $REP_PSENTRY/portsentry.conf;
	
	# mise en commentaire de KILL_HOSTS_DENY
	perl -pi -e "s/KILL_HOSTS_DENY=\"ALL\: \$TARGET/#KILL_HOSTS_DENY=\"ALL\: \$TARGET/" $REP_PSENTRY/portsentry.conf;

	#Ajout des IPS qui seront ignorées par PortSentry
	MIPS=$( cat $SENTRYIGNORE | grep '#MES IPS' | grep -iv 'grep' )
      if [ -z "$MIPS" ]; then       
		echo " " >> 			$SENTRYIGNORE;
		echo "#MES IPS" >> 		$SENTRYIGNORE;
		
		# [IPS] ------------------------------------------
		
		echo "#mon serveur 1" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xx" >> 	$SENTRYIGNORE;
		
		echo "#mon serveur 2" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xxx" >> 	$SENTRYIGNORE;
		
		echo "#mon serveur 3" >> 	$SENTRYIGNORE;
		# changer ici cette IP par l'IP de votre serveur qui sera ignorée par PortSentry
		echo "213.186.xx.xxx" >> 	$SENTRYIGNORE;
		
		# -----------------------------------------------
	
		# ICI c'est les IPS des serveurs d'OVH 
		echo "#IP ovh" >> 		$SENTRYIGNORE;
		echo "ping.ovh.net" >> 		$SENTRYIGNORE;
		echo "proxy.ovh.net" >> 	$SENTRYIGNORE;
		echo "cache.ovh.net" >> 	$SENTRYIGNORE;
		echo "213.244.20.43" >> 	$SENTRYIGNORE;
		echo "213.186.50.100" >> 	$SENTRYIGNORE;
	fi;
	
	# Création du fichier de lancement automatique sous SSH de PortSentry (portsentry start)
	rm -f /bin/portsentry;

	echo '#!/bin/bash' > /bin/portsentry;
	echo " " >> /bin/portsentry;
	echo "REP_PSENTRY='/usr/local/psionic/portsentry';" >> /bin/portsentry;
	echo " " >> /bin/portsentry;
	echo "case \"\$1\" in" >> /bin/portsentry;
	echo "    start)" >> /bin/portsentry;
	echo "        echo \"Démarrage de Portsentry...\"" >> /bin/portsentry;
	echo "        ps ax | grep -iw \$REP_PSENTRY'/portsentry -atcp' | grep -iv 'grep' > /dev/null" >> /bin/portsentry;
	echo "        if [ \$? != 0 ]; then" >> /bin/portsentry;
	echo "          \$REP_PSENTRY/portsentry -atcp" >> /bin/portsentry;
	echo "        fi" >> /bin/portsentry;
	echo " " >> /bin/portsentry;
	echo "        ps ax | grep -iw \$REP_PSENTRY'/portsentry -audp' | grep -iv 'grep' > /dev/null" >> /bin/portsentry;
	echo "        if [ \$? != 0 ]; then" >> /bin/portsentry;
	echo "          \$REP_PSENTRY/portsentry -audp" >> /bin/portsentry;
	echo "        fi" >> /bin/portsentry;
	echo "        echo \"Portsentry est maintenant actif !\"" >> /bin/portsentry;
	echo "    ;;" >> /bin/portsentry;
	echo "    stop)" >> /bin/portsentry;
	echo "        echo \"Fermeture de Portsentry...\"" >> /bin/portsentry;
	echo "        array=(\`ps ax | grep -iw \$REP_PSENTRY'/portsentry' | grep -iv 'grep' | awk '{print \$1}' | cut -f1 -d/ | tr '\n' ' '\`)" >> /bin/portsentry;
	echo "        element_count=\${#array[@]}" >> /bin/portsentry;
	echo "        index=0" >> /bin/portsentry;
	echo "        while [ \"\$index\" -lt \"\$element_count\" ]" >> /bin/portsentry;
	echo "        do" >> /bin/portsentry;
	echo "          kill -9 \${array[\$index]}" >> /bin/portsentry;
	echo "          let \"index = \$index + 1\"" >> /bin/portsentry;
	echo "        done" >> /bin/portsentry;
	echo "        echo \"Portsentry est maintenant stoppé !\"" >> /bin/portsentry;
	echo "    ;;" >> /bin/portsentry;
	echo "    restart)" >> /bin/portsentry;
	echo "        \$0 stop  && sleep 3" >> /bin/portsentry;
	echo "        \$0 start" >> /bin/portsentry;
	echo "    ;;" >> /bin/portsentry;
	echo "    *)" >> /bin/portsentry;
	echo "    echo \"Usage: \$0 {start|stop|restart}\"" >> /bin/portsentry;
	echo "    exit 1" >> /bin/portsentry;
	echo "esac" >> /bin/portsentry;
	echo "exit 0" >> /bin/portsentry;
	echo " " >> /bin/portsentry;
	
	chmod +x /bin/portsentry;
	
	# Ajout de Portsentry au démarrage du serveur lors d'un reboot
	DEMARRAGE=$( cat /etc/rc.d/rc.local | grep '/bin/portsentry start' | grep -iv 'grep' )
      if [ -z "$DEMARRAGE" ]; then
      	echo " " >> /etc/rc.d/rc.local
      	echo "#Démarrage automatique de Portsentry" >> /etc/rc.d/rc.local
      	echo "/bin/portsentry start" >> /etc/rc.d/rc.local
	fi;

	echo "--------------------------------------------------------"
	echo "Portsentry a été ajouté au démarrage du serveur dans /etc/rc.d/rc.local"
	echo " "
	echo "--------------------------------------------------------"
	echo "Vous pouvez voir les IP ajoutées par Portsentry dans Iptables"
	echo "avec ceci: iptables -L -v -n "
	echo "ou ceci: iptables -L"
	echo "Vous pouvez supprimer toutes les IP ajoutées dans Iptables"
	echo "avec ceci: iptables -F"
	echo "Vous pouvez retirer juste une IP dans Iptables"
	echo "avec ceci: iptables -D INPUT -s NUMERO_IP -j DROP"
	echo " "
	echo "--------------------------------------------------------"
	echo "Dans $REP_PSENTRY/portsentry.conf vous pouvez lancer un script"
	echo "qui à chaque attaque pourra vous envoyer un email par exemple."
	echo "c'est la commande KILL_RUN_CMD=\"/some/path/here/script \$TARGET\$ \$PORT\$\""
	echo " "
	echo "--------------------------------------------------------"
	echo "Pour lancer Portsentry taper sous SSH: portsentry start"
	echo "Pour arrêter Portsentry taper sous SSH: portsentry stop"
	echo "Pour redémarrer Portsentry taper sous SSH: portsentry restart"
	echo "Pour voir si Portsentry est actif sous SSH: ps -ax | grep portsentry"
	echo " "
	echo "--------------------------------------------------------"
	
	exit 0;

fi;

echo " "
echo "-----------------------------------------------------------";
echo "Impossible de télécharger le fichier de Portsentry suivant: ";
echo "$SERVEUR_DOWNLOAD/portsentry-$VERSION.tar.gz";
echo "Fin de ce script.";
echo " "
echo "-----------------------------------------------------------";
Bonsoir,

Pour ceux qui n'ont pas peur ;-)

Voici une installation presque automatique de PortSentry.

Si ça peut vous faire gagner du temps, c'est avec plaisir que je vous envoie
ce bout de code.

Merci à tous ceux qui participent, on apprend beaucoup de choses, c'est très sympa de votre part de faire partager vos connaisances et votre aide.

Merci à fred pour m'avoir fait connaitre PortSentry.

Bonne soirée.
Gillou.