Simple and flexible firewall for Linux server
Go to file
Jérémy Dubois f52971a173 Apply policy of IPv4 to IPv6
We close almost all to be sure that nothing works if we don't configure it
2022-01-24 11:09:36 +01:00
.gitignore Add a Vagrantfile for testing 2019-06-04 17:43:26 +02:00
blacklist-countries.sh Modify URL to track country ip blocks 2015-01-12 20:45:27 +01:00
cron_minifirewall Added an example of cron script to daily reload iptables 2011-04-02 12:01:58 +02:00
LICENSE Minifirewall is now under GPLv3 license 2019-06-04 16:53:34 +02:00
minifirewall Update copyright and add version number 2020-12-01 22:55:59 +01:00
minifirewall.conf Apply policy of IPv4 to IPv6 2022-01-24 11:09:36 +01:00
README.md Add warning on port opening for docker 2022-01-12 12:04:56 +01:00
ripe.sh Add delegated CIDR for AFRINIC and LACNIC. 2014-05-09 11:08:32 +02:00
Vagrantfile Add a Vagrantfile for testing 2019-06-04 17:43:26 +02:00

Minifirewall

Minifirewall is shellscripts for easy firewalling on a standalone server we used netfilter/iptables http://netfilter.org/ designed for recent Linux kernel See https://gitea.evolix.org/evolix/minifirewall

Install

install -m 0700 minifirewall /etc/init.d/minifirewall
install -m 0600 minifirewall.conf /etc/default/minifirewall

Config

Edit /etc/default/minifirewall file:

  • If your interface is not eth0, change INT variable
  • If you don't IPv6 : IPv6=off
  • Modify INTLAN variable, probably with your IP/32 or your local network if you trust it
  • Set your trusted and privilegied IP addresses in TRUSTEDIPS and PRIVILEGIEDIPS variables
  • Authorize your +public+ services with SERVICESTCP1 and SERVICESUDP1 variables
  • Authorize your +semi-public+ services (only for TRUSTEDIPS and PRIVILEGIEDIPS ) with SERVICESTCP2 and SERVICESUDP2 variables
  • Authorize your +private+ services (only for TRUSTEDIPS ) with SERVICESTCP3 and SERVICESUDP3 variables
  • Configure your authorizations for external services : DNS, HTTP, HTTPS, SMTP, SSH, NTP
  • Add your specific rules

Docker

To use minifirewall with docker you need to change the variable DOCKER from off to on Then, authorisation for public/semi-public/private ports will also work for dockerized services

WARNING : When the port mapping on the host is different than in the container (ie: listen on :8090 on the host, but the service in the container listen on :8080) you need to use the port used by the container (ie: 8080) in the public/semi-public/private port list

Usage

/etc/init.d/minifirewall start/stop/restart

If you want to add minifirewall in boot sequence:

systemctl enable minifirewall

License

This is an Evolix project and is licensed under the GPLv3, see the LICENSE file for details.