Leider gibt es kein solches Skript, das ich jemals gesehen habe und das im Lernmodus oder im passiven Modus ausgeführt werden kann, um die gesamte Netzwerknutzung zu protokollieren, die Ergebnisse zu erfassen und mithilfe iptables
der Protokolle eine tatsächliche Firewall zu generieren .
Am besten beginnen Sie einfach und fügen die verschiedenen Teile kontinuierlich hinzu, wenn Sie verstehen, welche Dienste Ihr System bereitstellt. Sie müssen Tools verwenden, netstat
um festzustellen, welche Ports für die verschiedenen von Ihnen gehosteten Dienste verwendet werden und welche IP-Adressen auf sie zugreifen.
$ sudo netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:890 0.0.0.0:* LISTEN 26149/ypbind
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 26226/python
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 26221/./hpiod
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 26237/snmpd
tcp 0 0 0.0.0.0:809 0.0.0.0:* LISTEN 26067/rpc.statd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 26321/smbd
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 26292/sendmail
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 26038/portmap
tcp 0 0 0.0.0.0:35604 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 26249/sshd
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26257/cupsd
tcp 0 0 :::22 :::* LISTEN 26249/sshd
tcp 0 0 :::631 :::* LISTEN 26257/cupsd
ANMERKUNG: Oben sehen Sie, welche Dienste auf einem Server ausgeführt werden, die TCP-Verbindungen akzeptieren, dh auf Verbindungen an verschiedenen Ports "warten".
Es ist ein Kinderspiel, mit Dingen wie SSH (Port 22) und HTTP (Port 80) zu beginnen, wenn diese für Ihr System typisch sind, also würde ich diese Art von Diensten auf einmal in Massen ausführen. Bei anderen Diensten wie LDAP oder NIS möchten Sie diese möglicherweise kontrollierter ausführen, um sicherzustellen, dass bei der Einführung keine Probleme auftreten.
Tools wie FireHOL , Firewall Builder (fwbuilder) und eztables können hilfreich sein, wenn Sie dieses Projekt angreifen, da sie eine schöne Abstraktionsebene bieten, da keine benutzerdefinierten iptable
Regeln von Hand erstellt werden müssen, was schwierig sein kann.
FireHOL
FireHOL ist eine Sprache (und ein Programm zum Ausführen), die sichere, zustandsbehaftete Firewalls jeder Komplexität aus leicht verständlichen, für Menschen lesbaren Konfigurationen erstellt.
Beispiel
transparent_squid 8080 "squid root" inface eth0
interface eth0 mylan
policy accept
interface ppp+ internet
server smtp accept
server http accept
server ftp accept
server ssh accept src example.firehol.org
client all accept
router mylan2internet inface eth0 outface ppp+
masquerade
route all accept
fwbuilder
Fwbuilder ist ein einzigartiges grafisches Firewall-Tool, mit dem der Benutzer Objekte erstellen und diese Objekte dann per Drag & Drop in Firewalls ziehen kann, um ein leistungsstarkes Sicherheitssystem für einen einzelnen PC oder ein Netzwerk von PCs zu erstellen. Fwbuilder unterstützt eine Vielzahl von Firewalls (Cisco ASA / PIX, Linux iptables, iBSilter von FreeBSD, pf von OpenBSD usw.), sodass die Regeln auf mehreren Plattformen bereitgestellt werden können. Werfen wir einen Blick auf die Verwendung von Fwbuilder unter Linux, was mit einem leistungsstarken Sicherheitssystem möglicherweise zu einer lebenslangen Angelegenheit wird.
Beispiel
eztables
Mit Eztables können Sie schnell eine Firewall konfigurieren, ohne jemals iptables zu berühren. Die Syntax der Firewall-Regeln ist einfach zu lesen und anzuwenden.
So erlauben Sie dem gesamten Internet den Zugriff auf Ihren Webserver über TCP-Port 80:
allow_in any $eth0 any 80/tcp
Eztables ist so konzipiert, dass es einfach und dennoch leistungsstark ist. Es spielt keine Rolle, ob Sie Ihren Laptop schützen, einen Heimrouter einrichten oder eine Unternehmensfirewall erstellen möchten.
Verwenden von Fail2Ban
Wenn eine rudimentäre iptables
Firewall vorhanden ist, möchten Sie diese wahrscheinlich mit einem Tool wie Fail2Ban ergänzen .
Auszug
Fail2ban durchsucht Protokolldateien (z. B. / var / log / apache / error_log) und verbietet IPs, die böswillige Anzeichen aufweisen - zu viele Kennwortfehler, Suche nach Exploits usw. Im Allgemeinen wird Fail2Ban dann zum Aktualisieren von Firewall-Regeln verwendet, um die IP-Adressen abzulehnen für eine bestimmte Zeitspanne, obwohl auch jede andere Aktion (z. B. das Senden einer E-Mail) konfiguriert werden kann. Fail2Ban wird standardmäßig mit Filtern für verschiedene Dienste (Apache, Kurier, SSH usw.) geliefert.
Die Verwendung solcher Tools hilft dabei, die Belastung zu begrenzen, die Ihr System aushalten muss, wenn Sie es weiter härten. Auch wenn Sie ziemlich davon überzeugt sind, dass Ihr System gehärtet wurde, möchten Sie Fail2Ban möglicherweise weiterhin als Teil Ihrer Sicherheitsmaßnahmen verwenden.
Verweise