Script de démarrage : "missing LSB tags and overrides" [Fermé]

Signaler
Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020
-
Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020
-
Bonjour tout le monde,

Je suis sur Ubuntu server 16.04.2 LTS
Je souhaite configurer mon pare-feu et filtrer les ports, j'ai placé le script nommé "firewall" ci-dessous dans "/etc/init.d"

#!/bin/sh

###BEGIN INIT INFO
#Provides : firewall
#Required-Start: $remote_fs $syslog
#Required-Stop: $remote_fs $syslog
#Default-Start: 2 3 4 5
#Defautl-Stop: 0 1 6
#Short-Description: Démarre les règles iptables
#Description: Charge la configuration du pare-feu iptables
### END INIT INFO

# Efface toutes les règles précédentes du pare-feu
iptables -t filter -F
iptables -t filter -X

# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Conserve les connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Autorise le loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Autorise les pings
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT


# Autorise les échanges SSH sur le port 22 (uniquement sur l'interface eth0 et avec adresse IP fixe)
iptables -t filter -i enp12s0 --src 192.168.1.13/24 -A INPUT -p TCP --dport 22 -j ACCEPT
iptables -t filter --dst 192.168.1.13/24 -A OUTPUT -p TCP --sport 22 -j ACCEPT

# Autorise les échanges HHTP sur le port 80 (uniquement sur l'interface Ethernet)
iptables -t filter -i eth0 -A INPUT -p TCP --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p TCP --dport 80 -j ACCEPT


# Anti-DDS
iptables -A FORWARD -p TCP --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p UDP -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p ICMP --icmp-type echo-request -m limit --limit 1/second -j ACCEPT

# Anti scan de port
#iptables -A FORWARD -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT


J'ai rendu ce script exécutable à l'aide de chmod et afin de le lancer au démarrage j'ai tapé la commande :

sudo update-rc.d firewall defaults


Résultat :

insserv: warning: script 'K01firewall' missing LSB tags and overrides
insserv: warning: script 'firewall' missing LSB tags and overrides


J'ai pu remarquer plusieurs post sur différent forum rapportant ce problème mais les causes sont systématiquement :
- L'en-tête "#BEGIN INIT INFO" qui ne sont pas configuré (ce qui n'est pas mon cas)
ou
- Des espaces problématiques après les # toujours dans "#BEGIN INIT INFO" (effectivement j'ai tester moi même avec espace, le résultat est pire)

J'ai tester les configurations d'en-tête présente dans "/etc/init.d/README" et "/etc/init.d/skeleton", sans succès.
Je ne suis pas encore bien familier avec les scripts de démarrage donc je ne sais pas si le problème vient vraiment de l'en-tête.

Soit dit en passant, après avoir exécuté le script manuellement et testé les ports ouvert via nmap j'ai pu observer que le scan détecte plusieurs port ouvert qui ne devraient pas l'être :
- 25/tcp open SMTP
- 110/tcp open POP3
- et bien d'autre comme microsoft-ds, domain ...
Alors qu'il ne détecte pas le port SSH qui lui est ouvert (je travail dessus donc il est forcément ouvert)
Donc soit il ne sont pas fermé car ils faisaient partie des connexions "ESTABLISHED" soit mon script ne marche pas, soit nmap est complètement soûl.

Merci d'avance pour vos réponses.

2 réponses

Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020
5 537
Salut,

À tout hasard, le script a été écrit sous GNU/Linux ?

Peux-tu afficher la sortie de ton script avec la commande
cat -A ton_script
, s'il te plaît, merci.

Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020
1
Salut zipe31,

Voila le resultat :

#!/bin/sh$
$
###BEGIN INIT INFO$
#Provides :^I firewall$
#Required-Start: $remote_fs $syslog$
#Required-Stop: $
#Default-Start: 2 3 4 5$
#Defautl-Stop: $
#Short-Description: DM-CM-)marre les rM-CM-(gles iptables$
#Description: Charge la configuration du pare-feu iptables$
### END INIT INFO$
$
# Efface toutes les rM-CM-(gles prM-CM-)cM-CM-)dentes du pare-feu$
iptables -t filter -F$
iptables -t filter -X$
$
# Bloque tout le trafic$
iptables -t filter -P INPUT DROP$
iptables -t filter -P FORWARD DROP$
iptables -t filter -P OUTPUT DROP$
$
# Conserve les connexions dM-CM-)jM-CM- M-CM-)tablies$
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT$
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT$
$
# Autorise le loopback$
iptables -t filter -A INPUT -i lo -j ACCEPT$
iptables -t filter -A OUTPUT -o lo -j ACCEPT$
$
# Autorise les pings$
iptables -t filter -A INPUT -p icmp -j ACCEPT$
iptables -t filter -A OUTPUT -p icmp -j ACCEPT$
$
$
# Autorise les M-CM-)changes SSH sur le port 22 (uniquement sur l'interface eth0 et avec l'adresse IP de Cybertoy-PC)$
iptables -t filter -i eth0 --src 192.168.1.13/24 -A INPUT -p TCP --dport 22 -j ACCEPT$
iptables -t filter --dst 192.168.1.13/24 -A OUTPUT -p TCP --sport 22 -j ACCEPT$
$
# Autorise les M-CM-)changes HHTP sur le port 80 (uniquement sur l'interface Ethernet)$
iptables -t filter -i enp12s0 -A INPUT -p TCP --dport 80 -j ACCEPT$
iptables -t filter -A OUTPUT -p TCP --dport 80 -j ACCEPT$
$
$
# Anti-DDS (DM-CM-)ni de service)$
iptables -A FORWARD -p TCP --syn -m limit --limit 1/second -j ACCEPT$
iptables -A FORWARD -p UDP -m limit --limit 1/second -j ACCEPT$
iptables -A FORWARD -p ICMP --icmp-type echo-request -m limit --limit 1/second -j ACCEPT$
$
# Anti scan de port$
#iptables -A FORWARD -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT$
$


Et oui je l'ai écrit sous vim directement sur l'os via SSH, pourquoi ? Peut-il y avoir un problème d'encodage ?
Il y a un "^I" devant "Provides" je ne sais pas d'où il sort.

Merci
Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020
5 537
pourquoi ? Peut-il y avoir un problème d'encodage ?
C'est ce que je pensais, mais apparemment non, tout est bon.

Il y a un "^I" devant "Provides" je ne sais pas d'où il sort.
C'est la représentation d'une tabulation, ce qui est tout a fait normal.
Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020
5 537
Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020
1 >
Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020

Merci beaucoup de ton aide.

De pire en pire :

- J'ai trouvé quelques infos sur le paquet insserv :
https://packages.debian.org/fr/sid/insserv
Du coup je me pose quelques questions si je désinstalle le paquet comment vont se chargé les scripts (Je suppose que ça va être dans l'ordre alphabétique) ça risque de poser pas mal de problèmes de dépendance.

- J'ai quand même voulu tenter :
sudo apt remove insserv

Résultat :
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
initramfs-tools : Dépend: initramfs-tools-core (= 0.122ubuntu8.8) mais ne sera pas installé
E: Erreur, pkgProblem::Resolve a généré des ruptures, ce qui a pu être causé par les paquets devant être gardés en l'état.


- J'ai regardé par là :
https://packages.debian.org/fr/sid/initramfs-tools
Puis finalement je me suis rendu compte que je n'avais pas internet
ping -c 3 www.google.fr
ping: unknown host www.google.fr

Je suis pourtant bien connecté à ma box (Bbox) en local. J'accède à mon server via SSH depuis mon pc qui lui a bien internet.
Etant donné que je manipulais iptables je suppose que j'ai du fermé un port utilisé, mais après redémarrage du server rien, toujours pas d'internet. Pourtant le port HTTP est bien ouvert dans les 2 sens.

Là je sèche alors si tu as une idée avant que je lance une resto.

Je te remercie
Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020
5 537 >
Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020

Là je sèche alors si tu as une idée avant que je lance une resto.
Arrête
Iptables
.
Messages postés
9
Date d'inscription
vendredi 24 février 2017
Statut
Membre
Dernière intervention
12 mai 2020
1 >
Messages postés
35687
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
16 octobre 2020

Suis-je bête, j'aurais pu y penser tout seul. ^^
Bon effectivement ça marche sans pare-feu mais ce que je ne comprend pas c'est pourquoi je ne suis plus connecté à internet quand le pare feu est lancé.
Le port 80 étant totalement ouvert (Input et output j'entends) faut-il que j'utilise -nat du style :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ou est-ce qu'un autre port doit être ouvert pour avoir le service internet ?