Linux

Firewall

Wichtig!

Bei der Einrichtung ist zu beachten, dass die Firewallregeln zu löschen, nicht von extern durchgeführt werden sollte.

Update

sudo apt update

nftables deinstallieren

sudo apt purge nftables

iptables installieren

sudo apt install iptables

Neustart

sudo reboot

Firewallregeln anzeigen

sudo iptables -L
sudo iptables -L -v -n

per shell script

Datei erstellen

sudo nano /usr/local/sbin/myiptables

Script in Datei einfügen

#!/bin/bash
echo "Initializing Firewall ..."

# Clear all other rules
iptables -F
iptables -X

# Loopback communication
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT

# Statefull Inspection
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

# ICMP Ping
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

# DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

# HTTP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

# HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

# NODE
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 3000 -j ACCEPT

# NODE-RED
iptables -A INPUT -p tcp --dport 1880 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1880 -j ACCEPT

# Ports DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

echo "Firewall is configured and active! :-)"

Script aktivieren

bash myiptables

Reboot

noch offen …

fgdfgfg https://www.cyberciti.biz/faq/how-to-save-iptables-firewall-rules-permanently-on-linux/

Firewallregeln löschen (nicht von extern)

sudo iptables -F

Firewallregeln speichern

sudo iptables-save
sudo reboot

Input zulassen

sudo iptables -P INPUT ACCEPT

Verkehr für Ports zulassen

ssh

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

node

sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT

node-red

sudo iptables -A INPUT -p tcp --dport 1880 -j ACCEPT

http

 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

https

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

ftp-data

sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT

ftp

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

mysqli

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Firewallregeln speichern

sudo iptables-save

Ports sperren oder weitere zulassen

smtp

sudo iptables -A INPUT -p tcp --dport 25 -j DROP

pop3

sudo iptables -A INPUT -p tcp --dport 110 -j DROP 

imap2

sudo iptables -A INPUT -p tcp --dport 143 -j DROP

submissions

sudo iptables -A INPUT -p tcp --dport 465 -j ACCEPT

submission

sudo iptables -A INPUT -p tcp --dport 587 -j ACCEPT

imaps

sudo iptables -A INPUT -p tcp --dport 993 -j DROP

pop3s

sudo iptables -A INPUT -p tcp --dport 995 -j DROP

domain

sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT

http-alt

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

tproxy

sudo iptables -A INPUT -p tcp --dport 587 -j ACCEPT 

Erfolgreich installiert und konfiguriert : 09.04.2022