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.
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".
#Démarrage automatique de Portsentry /bin/portsentry start
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
illegalparty écrivait :
Oui les Ip sont bloquées temporairement et ce script installe Portsentry.
@+
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é
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 ?
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 ?
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
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
#!/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 "-----------------------------------------------------------";
#!/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 "-----------------------------------------------------------";