Service au démarrage
Bonjour,
J'essaie d'ajouter mon firewall au démarrage du serveur, je lance la commande :
... mais ça fonctionne pas. Je n'ai pas de message d'erreur, aucune trace des scripts dans
aucune action au redémarrage du serveur.
Quelqu'un sait comment faire, ou d’où vient le problème ?
Merci d'avance
https://www.alsacreations.com/tuto/lire/622-Securite-firewall-iptables.html
ubuntu 20.04
J'essaie d'ajouter mon firewall au démarrage du serveur, je lance la commande :
sudo update-rc.d firewall defaults
... mais ça fonctionne pas. Je n'ai pas de message d'erreur, aucune trace des scripts dans
/etc/rcX.d
aucune action au redémarrage du serveur.
Quelqu'un sait comment faire, ou d’où vient le problème ?
Merci d'avance
https://www.alsacreations.com/tuto/lire/622-Securite-firewall-iptables.html
ubuntu 20.04
A voir également:
- Service au démarrage
- Ordinateur lent au démarrage - Guide
- Reinitialiser pc au demarrage - Guide
- Forcer demarrage pc - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
- Problème démarrage windows 10 - Guide
3 réponses
bonjour,
voici le contenu du fichier
en attendant je vais regarder systemctl.
voici le contenu du fichier
#!/bin/sh
# Vider les tables actuelles
iptables -t filter -F
# Vider les règles personnelles
iptables -t filter -X
# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# ---
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# ---
# SSH In
iptables -t filter -A INPUT -p tcp --dport 222-j ACCEPT
# SSH Out
iptables -t filter -A OUTPUT -p tcp --dport 222-j ACCEPT
# 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
# NTP Out
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
# Si vous hébergez un serveur web (Apache) :
# 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
#Si vous hébergez un serveur FTP :
# 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
# Si vous hébergez un serveur de mail avec SMTP, POP3 et IMAP :
# 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
# Si vous hébergez un serveur Mysql :
# Mysql
iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 3306 --syn -j ACCEPT
# Si vous utilisez l'outil de monitoring Monit sur le port 1337 (à modifier selon votre configuration) autorisez cette connexion :
# Monit
# iptables -t filter -A INPUT -p tcp --dport 1337 -j ACCEPT
# Si vous utilisez le moteur de recherche Solr sur le port 8983 (à modifier selon votre configuration) autorisez cette connexion :
# Apache Solr
# iptables -t filter -A OUTPUT -p tcp --dport 8983 -j ACCEPT
# iptables -t filter -A INPUT -p tcp --dport 8983 -j ACCEPT
# Si vous utilisez gitlab sur le port 10080 (à modifier selon votre configuration) autorisez cette connexion :
# Gitlab
iptables -t filter -A OUTPUT -p tcp --dport 10080 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 10080 -j ACCEPT
# Si vous utilisez ntp sur le port 123 (à modifier selon votre configuration) autorisez cette connexion :
# Network Time Protocol
# iptables -t filter -A OUTPUT -p udp --sport 123 -j ACCEPT
# iptables -t filter -A INPUT -p udp --dport 123 -j ACCEPT
# Si vous utilisez le LDAP autorisez cette connexion :
# LDAP
#iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 389 -j ACCEPT
#iptables -t filter -A INPUT -m state --state NEW -p tcp --dport 636 -j ACCEPT
# iptables -t filter -A OUTPUT -m state --state NEW -p tcp --dport 389 -j ACCEPT
# iptables -t filter -A OUTPUT -m state --state NEW -p tcp --dport 636 -j ACCEPT
en attendant je vais regarder systemctl.
Bonjour,
Méthode 1 :
Ce script ne peut pas marcher avec
Exemple :
Méthode 2 :
Ton script en tant que tel pourrait aussi être injecté, ou mieux, appelé depuis
Cela signifie que
Méthode 3 :
Voir la documentation et cet exemple
Bonne chance
Méthode 1 :
/etc/init.d
Ce script ne peut pas marcher avec
update-rc.dcar il ne se conforme pas au squelette attendu par la chaîne de démarrage (comme je te l'ai dit, tu pourrais repartir de /etc/init.d/ssh et corriger la partie dans le bloc
start).
Exemple :
#!/bin/bash # Description: my service # case "$1" in 'start') echo "starting my service" ;; 'stop') echo "stopping my service" ;; esac
Méthode 2 :
/etc/rc.local
Ton script en tant que tel pourrait aussi être injecté, ou mieux, appelé depuis
/etc/rc.local. Sur les debian récentes, on fait plus propre. Si tu regardes le contenu de
/etc/rc.local, tu verras ceci :
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. if test -d /etc/boot.d ; then run-parts /etc/boot.d fi
Cela signifie que
/etc/rc.localinvoque les scripts placés dans
/etc/boot.d. Il suffirait donc de créer ce dossier, y placer ton script (i.e.
/etc/boot.d/firewall) et lui donner les droits en lecture exécution :
sudo mkdir /etc/boot.d
sudo mv /home/toto/firewall /etc/init.d/
sudo chown root:root /etc/init.d/firewall
chmod a+rx /etc/init.d/firewall
Méthode 3 :
systemctl
Voir la documentation et cet exemple
Bonne chance