# Debian Light Firewall ## Introduction Ce firewall léger est inspiré de celui fournit par [Nicolargo sur cette page](http://blog.nicolargo.com/2013/03/mes-5-premieres-minutes-sur-un-serveur-debian.html). ## Installation ### Makefile L'installation se fait par un makefile: ```bash make install ``` ## Configuration Editer le fichier `/etc/lfirewall/lfirewall.conf` et tester votre configuration ## Utilisation du firewall ### Test Le test se fait en tapant la commande suivante: ```bash $ sudo lfirewall test ``` ### Arrêt Stopper se fait grâce au mot clé `dropall` ce qui arrête toutes les connexions. Pour supprimer tous les blocages utiliser `clear` : ```bash sudo lfirewall clear ``` Et pour fermer toutes les connexions (**ATTENTION: toutes les connexions seront fermées, y compris SSH**) : ```bash sudo lfirewall dropall ``` #### Démarrage automatique du firewall Après avoir testé (vous devez au moins pouvoir ouvrir une session SSH une fois le firewall en route), vous pouvez mettre en place le service ##### Obsolète: ancien système de démarrage (SysVinit) Le fichier `lfirewall` doit être placé dans `/etc/init.d` (il faut donc modifier le makefile ```bash sudo systemctl enable firewall.service sudo systemctl start firewall.service ``` ##### Systemd Mettez en place un système de démarrage utilisant `systemd`. Cette page donne un exemple complet: [How to write startup script for systemd](https://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemd) # TODO - Exemple de portscanner : [GitHub - mfinelli/firewall: Set of bash scripts to generate a firewall in Linux using iptables. Based on: https://wiki.archlinux.org/index.php/Simple_stateful_firewall](https://github.com/mfinelli/firewall) - Chargement d'un fichier shell: 1. Lister des fonctions d'un fichier shell ([source](https://stackoverflow.com/a/5868245/1011366)) : `typeset -f | awk '/ \(\) $/ && !/^main / {print $1}'` 2. utiliser les fonctions commençant par `lfirewall_set`: `lfirewall_set_input_1`, etc # Références ## Affichage de messages avec systemctl https://bugs.freedesktop.org/show_bug.cgi?id=43753