Sécuriser son serveur dédié avec Iptables, fail2ban et Rkhunter
Dans ce tutoriel vidéo, nous allons voir comment sécuriser son serveur dédié (sommaire des tutos ici) en configurant 3 logiciels incontournables :
- Iptables : c’est le Firewall des systèmes Linux, il est difficile à manier la première fois mais on peut faire des réglages très fin. Dans ce tutoriel je vous propose une série de règles classiques pour un serveur web.
- Fail2ban : c’est un système qui ban automatiquement tous les utilisateurs qui essayent de se connecter plusieurs fois de suites sans succès sur notre serveur. Ça permet d’éviter les attaques de type brute force.
- Rkhunter : c’est un logiciel qui nous prévient dés que des fichiers sensibles sont modifiés. Autrement dit, un bon détecteur de Backdoor et Rootkit.
Et en bonus, je vous donnerais une astuces pour être prévenue par email dés que quelqu’un se connecte en SSH sur votre serveur. À la fin du tutoriel vous aurez un serveur Web déjà bien sécurisé, mais pas assez à mon goût, d’où la seconde vidéo qui sécurise un peu plus les scripts php avec 2 modules pour apache.
Pour télécharger la vidéo (format mp4), cliquez sur l’image suivante :
Mise en place du Firewall : Iptables
Sans doute la partie la plus importe du tutoriel, la mise en place du Firewall. Normalement il est installé par défaut mais si vous avez des problèmes avec les règles, ça vient sans doute du noyau modifié d’OVH, mais je l’ai déjà expliqué dans la première vidéo.
Fonctionnement de Iptables
Je pense qu’un mini tutoriel sur Iptables, avec les arguments les plus utilisés et ces principes de bases ne fera pas de mal. Je vais faire ça sous forme de liste pour que cela soit plus simple, le but n’étant pas d’être exhaustif.
Si vous faites un iptables -L, vous verez les règles qui définissent votre firewall. En regardant le résultat de plus près, on aperçoit 3 types de chaînes :
- INPUT : correspond aux règles sur le traffic entrant du serveur
- OUTPUT : correspond aux règles pour le traffic sortant du serveur
- FORWARD : les règles permettant de faire des redirections
On constate également que l’on a la politique du firewall sur « ACCEPT » pour toutes les chaînes et ce n’est pas très bon au niveau de la sécurité. Notre démarche va être de tout bloquer (DROP) pour ensuite débloquer petit à petit les ports pour les services que l’on utilise.
Voici une liste des arguments que l’on utilisent fréquemment :
- -t : préciser sur quel table on travaille, par défaut c’est filter qui contient le input, output et forward
- -A : ajoute une règles en fin de chaîne
- -p : précise le protocole de la règle (généralement tcp, udp ou icmp pour le ping)
- –dport : précise le port de destination
- -j : précise la politique à appliquer (accept ou drop la plupart du temps)
- -F : efface toutes les règles (F = Flush)
- -X : efface la chaîne
Configuration des règles
Pour mettre en place un Firewall sur Linux, la plupart du temps on crée un fichier bash avec toutes les commandes iptables que l’on souhaite mettre. Dans mon cas, je remets Iptables à 0, puis je bloque tout, puis je débloque petit à petit les services que j’utilise. Par conséquent, l’ordre est important ! Voici le fichier utilisé pendant la vidéo, n’oubliez pas de modifier le numéro de port pour ssh ou sinon vous serez bloqué (un reboot hardware fera l’affaire pour vous débloquer).
#!/bin/sh ### BEGIN INIT INFO # Provides: Firewall maison # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: # Default-Stop: # X-Interactive: false # Short-Description: Firewall maison ### END INIT INFO # Mise à 0 iptables -t filter -F iptables -t filter -X echo "Mise à 0" # On bloque tout iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP echo "Interdiction" # Ne pas casser les connexions établies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Autorise le loopback (127.0.0.1) iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT echo "Loopback" # ICMP (le ping) iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT echo "Ping ok" # SSH IN/OUT iptables -t filter -A INPUT -p tcp --dport 1337 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 1337 -j ACCEPT echo "SSH ok" # DNS In/Out iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT echo "dns ok" # NTP Out iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT echo "ntp ok" # HTTP + HTTPS Out iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT # HTTP + HTTPS In iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT echo "http ok" # FTP Out iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT # FTP In # imodprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT echo "ftp ok" # Mail SMTP:25 iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT # Mail POP3:110 iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT # Mail IMAP:143 iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT # Mail POP3S:995 iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT echo "mail ok" # Monit iptables -t filter -A INPUT -p tcp --dport 4598 -j ACCEPT # Webmin iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT echo "monitoring ok"
La partie supérieure (le gros bloque de commentaire, à l’exception du shebang qui est obligatoire) est optionnelle mais ça permet d’éviter des warnings dans les fichiers de logs. Au niveau de la difficulté, une fois qu’on à compris une ligne le reste vient tout seul. N’oubliez pas de donner les droits d’exécutions à ce fichier (chmod +x firewall) et de la placer dans le répertoire /etc/init.d/ et de l’activer au démarrage du serveur avec update-rc.d firewall defaults (mais assurez vous bien que le fichier fonctionne correctement avant !!)
J’en profite au passage pour vous donner mon script qui permet de bien remettre à 0 iptables en cas de soucis :
#!/bin/sh echo "Flushing iptables rules..." sleep 1 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
C’est tout du côté du Firewall. Si un jour vous installez des services supplémentaires et que ça ne fonctionne pas, n’oubliez pas de regarder du côté du Firewall, on a tendance à l’oublier lorsque la configuration est finie.
Ban automatique des kikoolol avec fail2ban
La plupart du temps, lorsqu’on essaye de pirater votre serveur, les pirates utilisent la méthode du brute force. C’est-à-dire qu’ils testent tous les mots de passe possible, en partant du plus probable (comme les mots du dictionnaire) au plus improbable (les suites de caractères aléatoires). Avec la puissance de calcul des ordinateurs actuels, ça fonctionne pas trop mal si votre mot de passe est simple. Heureusement on peut facilement le contrer en installant un système qui ban automatiquement les gens qui essayent de se connecter à mainte reprise sans y parvenir.
Configuration simple de fail2ban
Pour commencer, vous devez installer fail2ban avec la ligne de commande apt-get install fail2ban. Ensuite il est recommandé de laisser le fichier de configuration intacte et d’en faire une copie pour le modifier, donc cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.local et puis vi etc/fail2ban/jail.conf.local.
Pour activer un filtre, vous devez placer le champ enabled à true et éventuellement changer le maxretry (nombre de tentative avant le ban) , le bantime (temps de ban) et le port (surtout pour ssh).
Je vous recommande d’activer les filtres suivants : [ssh], [ssh-dos], [apache], [apache-multiport], [apache-noscript], [apache-overflows], [proftpd], [postfix], [couriersmtp] et [courierauth]. Ces filtres sont activés par défaut, vous n’avez rien d’autre à faire à par changer le enabled = false à true.
Ajouter des filtres personnalisés
Les filtres par défaut sont très bien, mais voici quelques filtres personnalisés que vous pouvez retrouver sur internet. Vous n’êtes pas obligé de les activer, c’est du bonus.
Le filtre « apache-404″ permet de bannir les utilisateurs qui font trop d’erreurs 404. Généralement ce sont ceux qui recherchent des pages d’administration à l’arrache en modifiant l’url. En revanche, faites très attention ! Si il manque un élement sur votre site, comme par exemple une image, ça va générer une erreur 404 et ça risque de bannir vos visiteurs.
Le filtre « apache-admin » permet de protéger votre espace d’administration si vous en avez un. Dans mon cas non mais je préfère vous le donner quand même.
Et le dernier, « apache-w00tw00t » permet de bannir un scanner de faille « w00tw00t » fréquemment utilisé, on en retrouve la trace dans les logs.
À ajouter dans le fichier /etc/fail2ban/jail.conf.local :
[apache-404] enabled = true port = http filter = apache-404 logpath = /var/log/apache*/error*.log maxretry = 10 [apache-admin] enabled = true port = http filter = apache-admin logpath = /var/log/apache*/error*.log maxretry = 6 [apache-w00tw00t] enabled = true filter = apache-w00tw00t action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp] logpath = /var/log/apache2/access*.log maxretry = 1
Maintenant vous devez créer 3 fichiers, qui sont des filtres à base d’expression régulière (Regex), dans /etc/fail2ban/filter.d/ :
(Apparement dans la vidéo, j’ai oublié les « .conf » à la fin des fichiers, pensez y donc)
apache-404.conf
# Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision: 471 $ # [Definition] # Option: failregex # Notes.: regex to match the password failure messages in the logfile. The # host must be matched by a group named "host". The tag "" can # be used for standard IP/hostname matching. # Values: TEXT # [client x.x.x.x] File does not exist: /home/www/admin/admin, failregex = [[]client []] File does not exist: .* # # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
apache-admin.conf
# Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision: 471 $ # [Definition] # Option: failregex # Notes.: regex to match the password failure messages in the logfile. The # host must be matched by a group named "host". The tag "" can # be used for standard IP/hostname matching. # Values: TEXT # [client x.x.x.x] File does not exist: /home/www/admin/admin, failregex = [[]client []] File does not exist: .*admin|PMA|mysql # # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex =
apache-w00tw00t.conf
# Fail2Ban configuration file # # Author: Cyril Jaquier # # $Revision: 471 $ # [Definition] # Option: failregex # Notes.: regex to match the password failure messages in the logfile. The # host must be matched by a group named "host". The tag "" can # be used for standard IP/hostname matching. # Values: TEXT # [client x.x.x.x] File does not exist: /home/www/admin/admin, failregex = [[]client []] File does not exist: .*admin|PMA|mysql # # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored. # Values: TEXT # ignoreregex = root@ks367082:/etc/fail2ban/filter.d# cat apache-w00tw00t.conf [Definition] failregex = ^ -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".* ignoreregex =
Ensuite, vous pouvez faire un restart de fail2ban avec /etc/init.d/fail2ban restart et c’est terminé.
Détecteur de backdoor
Le dernier logiciel à installer est un détecteur de Backdoor. Pour l’installer, faites un apt-get install rkhunter et vérifier dans son fichier de configuration /etc/default/rkhunter que report_email est sur root et cron_daily_run à yes.
Vous recevrez des emails en cas si des fichiers sensibles sont modifiées. Attention toutefois, car il peut générer des faux positifs.
Recevoir un email lors d’une connexion ssh
Cette fois-ci c’est plus une astuce qu’un logiciel. Si vous souhaitez recevoir un email dés que quelqu’un se connecte sur un compte d’un utilisateurs système, vous pouvez modifier son fichier ~user/.bashrc et ajouter la ligne suivante : echo ‘Acces SheLL Root’ `who` `date` | mail -s `hostname` Shell Root email@domaine.tld
À chaque connexion, ce bout de code sera exécuté et vous serez avertie. Plutôt pratique si vous êtes parano et souhaitez détecter des intrusions facilement.
En conclusion, avec ces quelques principes de bases vous devriez avoir un serveur sécurisé. N’oubliez pas qu’aucun serveur n’est infaillible et gardez toujours un système à jour pour limiter les risques. Dans la prochaine vidéo, nous verrons comment augmenter la sécurité d’apache et dans une autre vidéo comment mettre en place un système de backup.
Si vous voulez en apprendre plus sur Iptables, je vous recommande ce tutoriel sur le site du zéro.
Si vous avez aimé l’article, n’hésitez pas à le diffuser sur Facebook/Twitter via les boutons ci-dessous. Je vous invite également sur la page facebook du blog (merci d’avance).
Publié le 23 août 2011 par Madrzejewski Alexis dans Serveur Dédié
28 commentaires
Ajouter un commentaire
Ici les commentaires sont en DoFollow, profitez-en mais en abusez pas !
Veuillez ne pas poster de code (php, html ou autre) car il sera bloqué par le site.
Les commentaires ne sont pas immédiatement validés.
Merci de faire une recherche sur Google avant de poser une question.

Pingback: Installation et configuration d’un serveur dédié | Tutoriels-Video
Bonjour tout le monde !
Tout d’abord j’aimerais te remercier,
Alexis, pour tes vidéos très intéressantes.
J’ai fait le fichier firewall avec le même
contenu que toi, j’ai aussi exécuté la commande
update-rc.d firewall defaults, après l’avoir
copier au bon endroit, mais le problème c’est
qu’il ne s’exécute pas au démarrage, j’ai donc
chercher un peu et j’ai trouver un autre moyen
d’activer le script au démarrage, voici ce que
j’ai fait :
dans /etc/rc.local j’ai rajouter, à la fin du fichier,
le chemin de mon script, /root/firewall et au
redémarrage un iptables -L m’indique que le
script s’est exécuter.
Voilà, si ça peu servir à d’autre !
PS : impatient de voir les prochaines vidéos…
Cordialement,
Guillaume.
Merci d’avoir partager ta découverte, je suis certain que ça en aidera plus d’uns !
Effectivement, le script ne s’exécutait pas automatiquement également. Merci donc pour la solution.
Rha oui merci ! Je cherchais le pourquoi du comment depuis quelques heures ^^ et encore merci alexis pour tout ça !
Hello,
J’ai un petit problème, alors que tout fonctionnait à merveille, je n’arrive subitement plus à me connecter à l’un de mes sites via FileZilla, le logiciel reste bloqué à ce stade de la connexion:
« Commande : MLSD »
Après qq recherches, il semble que ça soit lié au Firewall, mais je n’ai pas réussi à trouver de solutions. J’ai également testé la connexion en mode actif, passif, etc sur FileZilla, en vain.
Merci
Arf, une fois j’ai eu un bug à la con dans le même style. J’ai longtemps cherché, pensant que ça venait du Firewall et un simple reboot du serveur à réglé le problème pour moi ^^.
Essaye de voir si ça suffit, sinon bah je vais faire quelques recherches pour voir ce que je peux trouver.
Effectivement, un reboot et ça repart
Tout est OK mnt, je vais tester l’install d’un wordpress, merci mille fois !
voilà la solution pour ftp avec ovh
# FTP Out
iptables -t filter -A OUTPUT -p tcp –dport 20:21 -j ACCEPT
# FTP In
modprobe ip_conntrack_ftp # ligne facultative avec les serveurs OVH
iptables -t filter -A INPUT -p tcp –dport 20:21 -j ACCEPT
iptables -t filter -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
Et bien merci pour ce tutoriel qui pose les bases d’iptables. Très utile car si il est possible de se référer au man, avoir des bases expliquées clairement ne fait pas de mal!
la meme pour le FTP je peux plus m’y connecter …
Échec de la tentative de connexion avec « ECONNREFUSED
jai essayer de tout supprimer les fichier du firewall mais rien i fait ><
Bon tu doit surement etre occuper mais je peux me co en sftp xD mais la on voit toute l’arborescence … bref jcomprend plus rien la ><
Bonjour Serda,
Par défaut, c’est normal. Chaque utilisateur peut remonter jusqu’à la racine du serveur, ce qui représente évidemment une faille de sécurité.
Pour palier à ce problème, il suffit d’ajouter cette ligne dans le fichier de configuration de proftpd (/etc/proftpd/proftpd.conf) : DefaultRoot ~/www
Ça permet « d’emprisonner » les utilisateurs dans leurs répertoires home/www sans qu’il puisse remonter au dessus.
Bonjour, voilà j’ai modifié un peu le script pour une utilisation sans serveur ovh tous se qui sort est autorisé mais tous se qui entre est bloqué sauf les ports autorisé! attention si c’est pour un serveur ovh n’oubliez pas de modifier le OUTPUT par sécurité c’est mieux mais sur un pc distant ou vous activez un a un les port ou vous activez tous le fichier est pas complètement terminé mais j’espère que ca pourra vous aidez
#!/bin/sh
# Mise à Zero
echo « Mise à zero… »
sleep 1
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# On bloque tout
iptables -P INPUT DROP
# iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo « ————- ON INTERDIT TOUS ———— »
echo « ————- INPUT AUTORISER ————- »
# modprobe ip_conntrack_ftp
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# Autorise le loopback (127.0.0.1)
# iptables -A INPUT -i lo -j ACCEPT
# ICMP (le ping)
# iptables -A INPUT -p icmp -j ACCEPT; echo « Ping \ »ICMP\ »"
# FTP Input
# iptables -A INPUT -p tcp –dport 20 -j ACCEPT; echo « FTP tcp »
# FTP Input
# iptables -A INPUT -p tcp –dport 21 -j ACCEPT; echo « FTP udp »
# SSH Input
# iptables -A INPUT -p tcp –dport 22 -j ACCEPT; echo « SSH tcp »
# TELNET Input
# iptables -A INPUT -p tcp –dport 23 -j ACCEPT; echo « TELNET tcp »
# SMTP Input
# iptables -A INPUT -p tcp –dport 25 -j ACCEPT; echo « SMTP tcp »
# DNS Input
# iptables -A INPUT -p tcp –dport 53 -j ACCEPT; echo « DNS tcp »
# iptables -A INPUT -p udp –dport 53 -j ACCEPT; echo « DNS udp »
# DHCP Input
# iptables -A INPUT -p tcp –dport 67 -j ACCEPT; echo « DHCP tcp »
# iptables -A INPUT -p udp –dport 67 -j ACCEPT; echo « DHCP udp »
# HTTP Input
iptables -A INPUT -p tcp –dport 80 -j ACCEPT; echo « HTTP tcp »
# iptables -A INPUT -p udp –dport 80 -j ACCEPT; echo « HTTP udp »
# POP3 Input
# iptables -A INPUT -p tcp –dport 110 -j ACCEPT; echo « POP3 tcp »
# iptables -A INPUT -p udp –dport 110 -j ACCEPT; echo « POP3 udp »
# NNTP Input
# iptables -A INPUT -p tcp –dport 119 -j ACCEPT; echo « NNTP tcp »
# NTP Input
# iptables -A INPUT -p tcp –dport 123 -j ACCEPT; echo « NTP tcp »
# iptables -A INPUT -p udp –dport 123 -j ACCEPT; echo « NTP udp »
# IMAP Input
# iptables -A INPUT -p tcp –dport 143 -j ACCEPT; echo « IMAP tcp »
# HTTPS Input
# iptables -A INPUT -p tcp –dport 443 -j ACCEPT; echo « HTTPS tcp »
# IMAPS Input
# iptables -A INPUT -p tcp –dport 993 -j ACCEPT; echo « IMAPS tcp »
# POP3S Input:
# iptables -A INPUT -p tcp –dport 995 -j ACCEPT; echo « IMAPS tcp »
# MSN Input
iptables -A INPUT -p tcp –dport 1863 -j ACCEPT; echo « MSN tcp »
# MYSQL Input
# iptables -A INPUT -p tcp –dport 3306 -j ACCEPT; echo « MYSQL tcp »
# FACEBOOK Input
iptables -A INPUT -p tcp –dport 5050 -j ACCEPT; echo « FACEBOOK tcp »
# ICQ AIM Input
iptables -A INPUT -p tcp –dport 5190 -j ACCEPT; echo « ICQ AIM tcp »
# YAHOO Input
iptables -A INPUT -p tcp –dport 5222 -j ACCEPT; echo « YAHOO tcp »
# IRC Input
iptables -A INPUT -p tcp –dport 6667 -j ACCEPT; echo « IRC tcp »
# SKYPE Input
iptables -A INPUT -p tcp –dport 61578 -j ACCEPT; echo « SKYPE tcp »
# HTTP-ALT Input
iptables -A INPUT -p tcp –dport 8080 -j ACCEPT; echo « HTTP-ALT tcp »
# iptables -A INPUT -p udp –dport 8080 -j ACCEPT; echo « HTTP-ALT udp »
echo « ——————————————- »
Merci, c’est sympa de poster ton script ! Je suis certain que ça aider plusieurs personnes
ba je l’espère il y a tellement de possibilité possible si ils bloquent encore suffi qu’ils recherchent sur google les port utiliser par leur logiciels, bonne continuation, et bonne chance a tous.
Bonjour,
Pour commencer, merci à toi pour cette série de tutoriels. Ils sont très appréciables.
Je me permet d’intervenir car j’utilise VSFTPD comme serveur FTP et celui-ci se connecte au serveur avec TLS/SSL.
Pour pouvoir le faire fonctionner correctement, il ne faut pas oublier d’ouvrir quelques ports supplémentaires. Voici les lignes que j’ai du ajouter à ton fichier ‘firewall’ :
iptables -A INPUT -p tcp -i eth0 –dport 40000:40100 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 –sport 40000:40100 -j ACCEPT
D’autre part, j’utilise aussi Rsync pour backuper certains répertoires de ma machine sur mon serveur. Rsync utilise le port 873 en TCP par défaut. Il faut donc ouvrir ce port avec ces lignes :
iptables -t filter -A INPUT -p tcp –dport 873 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 873 -j ACCEPT
Bonjour,
super utile le tutoriel, mais je bloque à la fin justement pour l’email lorsque l’on se connecte.
j’ai testé la ligne de commande,mais j’ai l’erreur :
bash : mail : commande introuvable
Je crois qu’il faut installer un paquet pour les mails.. mais je sais pas lequel
merci d’avance
je précise, c’est juste pour envoyer occasionnellement un mail lors de la connexion en ssh (je n’utilise pas de serveur mail)
à bientôt
Bonjour,
Alors personnellement je vous recommande de regarder ce tutoriel : http://www.tutoriels-video.fr/installation-et-configuration-dun-serveur-de-mail-avec-postfix-et-courier/
Vous n’êtes pas forcement obligé de tout faire pour avoir un système de mail qui fonctionne. (je pense à la fin de l’article surtout)
je cherche a banner les robots de download. a tu une failregex pour ca?
Bonjour,
Personnellement je ne connais pas de règle pour bloquer ce genre de robot. Cependant, je me demande si c’est réellement à ce niveau là qu’il faut agir, car un robot de download fera les mêmes logs qu’un utilisateur normal (sauf si on se base par rapport à la quantité, mais c’est difficile de choisir un seuil).
Je commencerais par agir au niveau du fichier robot.txt, et ensuite voir les fichiers de log avec les user-agent renvoyés (et dans ce cas c’est facile de cibler un robot particulier). Cependant, les user-agents ne sont pas fiables et sont facilement falsifiable.
Salut Alexis !
Je suis actuellement en train de reconfigurer mon serveur à 0 (formatage du DD,…)
J’ai donc suivi une nouvelle fois un peu des tutos, par contre je me retrouve avec une belle erreur au niveau de Iptable.
Lorsque le script est lancé, je n’ai plus de connexion sur le port 80 !
Donc plus de surf, ni de apt-get
Je ne trouve pas d’où viens le problème. Le script ne présente pas d’erreur.
Salut !
Alors, petite question bête de ma part : est-ce que t’as bien une ligne qui débloque le port 80 dans ton Firewall ?
Ensuite, es-tu certains que ton script fonctionne correctement ? Ce que je veux dire, c’est que parfois au milieu du script, une règle foire à cause d’une erreur de syntaxe et donc la suite du script n’est pas exécuté. Suffit qu’une de ces règles foire avant ton déblocage de port 80 pour que se soit bloqué vue que la politique par défaut est de tout DROP.
Je te recommande mettre des « echo » un peu partout pour suivre visuellement ton script en cours d’exécution.
Après, tu peut toujours faire un coup de « iptables -L » pour voir si le port 80 est bien débloqué mais je soupçonne une des erreurs évoqué plus haut.
Hum !!
J’ai honte…
J’avais oublié d’ajouter les règles du DNS …
Je l’ai su quand j’ai voulu faire un ping, il n’as pas trouvé l’hote google.fr ^^
Merci de ton attention !
Continue comme ça !
Pour activer le script au démarrage avec la méthode « update-rc.d firewall defaults » il faut simplement changer l’entête du fichier (il doit avoir un soucis) :
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: lsb-demarrage
# Required-Start: $syslog $local_fs $remote_fs
# Required-Stop: $syslog $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Open terminal
# Description: Open terminal
### END INIT INFO
remplacé le par celui ci.
Merci pour tes tutos c’est sympa !
Salut Bobo,
Merci pour l’ajout. Pour être franc quand j’ai fait la vidéo, je ne savais pas à quoi ça servait. Depuis j’ai eu un cours la dessus mais ça reste toujours un peu flou
Bonjour Alexis
J’ai un serveur dédié d’OVH OS fedora 15. j’ai installé fail2ban en ajoutant le filtre personnalisé, j’ai creé 3 fichiers ( apache-404.conf , apache-w00tw00t.conf,
apache-admin.conf ) dans /etc/fail2ban/filter.d/
j’ai redémaré le serveur fail2ban /etc/init.d/fail2ban restart
erreur : Restarting fail2ban (via systemctl): Job failed. See system logs and ‘systemctl status’ for details. échoué
si j’ai enlevé le filtre personnalisé [apache-admin], je n’ai plus erreur ?
J’ai ainsi installé rkhunter , mais je n’ai pas trouvé le fichier rkhunter pour
voir s’il est bien configuré.
Merci