Building Linux Firewall

Erstens haben wir die Einrichtung Squid Proxy-Server müssen in der Lage zu einem transparenten Proxy für die Computer der Kinder führen und den Zugang zu verweigern Websites und einige Viren porn.
Squid kann auf www.squid-cache.org gefunden werden, und ist die am häufigsten verwendeten Proxy-Server unter den meisten Linux-Distributionen haben Pakete für Squid. Die beste Dokumentation für Squid ist die Konfigurationsdatei selbst, die sehr stark kommentiert wird.
Wir werden auf dem Standard-Port, 3128 Squid laufen. Um als transparenter Proxy Squid verwenden wir die folgenden Informationen in der Konfigurationsdatei zu haben (normalerweise / etc / squid / squid.conf):

httpd_accel_host virtuellen
httpd_accel_port 80
httpd_accel_with_proxy auf
httpd_accel_uses_host_header auf

Als nächstes müssen wir, um Squid Access-Listen für das interne Netzwerk definieren, um den Zugang zu Squid haben und Porno-Seiten und gefährliche Dateien zu verhindern. Wir werden dies für unsere gesamte interne Netzwerk zu tun, aber wir werden die transparenten Proxy nur für die Computer der Kinder zu verwenden. Jede Datei kann ein Virus, und die Datei-Erweiterungen, die folgen, sind nur als Beispiel, so wenden Sie sich bitte keine Dateierweiterung man bedenkt, gefährlich hinzuzufügen. In der squid.conf-Datei, fügen wir die folgenden Zeilen:

acl all src 0.0.0.0/0.0.0.0
acl our_network src 192.168.1.0/24
acl porn url_regex-i adult porn sex hardcore Fetisch
acl Downloads urlpath_regex \. exe $ \. rar $ \. zip $ \. pif $ \. scr $
http_access deny porn
http_access deny Downloads
http_access allow our_network
http_access deny all

Die ACL-Namen "porn" enthält eine Liste der Namen, die nicht in der URL erlaubt sind, so dass Sie nicht in der Lage, eine Website, die eines dieser Wörter in ihrem Namen mit dem Proxy-Server Zugriff hat.
Die ACL namens "Downloads" enthält eine Liste von Dateitypen, die nicht erlaubt sind, auf die zugegriffen werden, so dass Sie nicht in der Lage, Download-Dateien mit den Erweiterungen in dieser Liste der Proxy Server verwendet.
Jetzt, da wir eingerichtet haben, den Proxy-Server, lassen Umsetzung der Firewall, um die Sicherheitspolitik, die wir gerade gebaut entsprechen.
Für das Spielgerät, müssen wir herausfinden, wie es funktioniert, wenn wir Gastgeber GameSpy Arcade-Spiele auf sie. Wir gehen auf ihre Websites und wir sehen, dass wir die folgenden Ports, um das Spielgerät nach vorne müssen:

  • 6500 UDP: für GameSpy Arcade
  • 6700 UDP: für GameSpy Tunnel
  

Lassen Sie uns diese Ports:

iptables-t nat-A PREROUTING-p udp - dport 6500-j DNAT - to 192.168.1.200
iptables-t nat-A PREROUTING-p udp - dport 6700-j DNAT - to 192.168.1.200

Für die Spiele-Handheld zu arbeiten, müssen wir auch NAT nicht durchführen, die in der NAT-Regel für unser gesamtes Netzwerk, das am Ende wird aufgenommen werden.
Als nächstes müssen wir den Zugang für den Netzwerkdrucker mit dem Internet zu verweigern. Normalerweise machen wir nicht Filterung in die NAT-Tabelle, aber wir wollen nicht zu tun Masquerading für den Drucker IP-Adresse. Da der Drucker über eine private IP-Adresse verfügt, wird es nicht von außen zugänglich und wir werden auch ausgehende Pakete von eth0 in der POSTROUTING-Kette der nat-Tabelle, damit der Drucker die IP-Adresse nicht NAT Drop ».

iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.100-j DROP

Für die Computer der Kinder werden wir transparenter Proxy durchführen, was bedeutet, dass der Computer die Proxy-Server ohne Konfiguration des Web-Browser verwenden wird. Wir haben bereits den Proxy-Server, so dass nun müssen wir den gesamten Verkehr für TCP-Port 80 an den Proxy-Server umzuleiten. Wir wollen auch den Computer des Kindes auf Zugang TCP-Port 443, die HTTPS ist:

iptables-t nat-A PREROUTING-s 192.168.1.55-p tcp - dport 80-j REDIRECT - to-port 3128
iptables-t nat-A POSTROUTING-o eth0-n 192.168.1.55-p tcp - dport 443-j MASQUERADE

Jetzt Anfragen von 192.168.1.55 auf alle Hosts mit den Ziel-Port 80 oder 443 werden zu unserem Proxy-Server laufen, so ist alles vor Ort gemacht und wir müssen nicht 192.168.1.55 für diese Anträge Maskerade.
Als nächstes wollen wir auf den Computer der Kinder verkleiden müssen, wenn es sendet DNS-Anfragen zu unserem Provider:

iptables-t nat-A POSTROUTING-o eth0-n 192.168.1.55-p udp - dport 53-j MASQUERADE

DNS-Anfragen über Port 53 UDP, so jetzt Computer der Kinder kann keine DNS-Server zugreifen.
Wir wollen es ihnen ermöglichen, die Nutzung von Yahoo! Messenger nur für den Chat (nicht Sprach-oder File-Transfer). Beim Lesen der Yahoo! Messenger zu helfen, sehen wir, dass Yahoo! Messenger nutzt die Ports 20, 23, 25, 80, 119, 5050, 8001 und 8002. Außerdem sehen wir, dass die Gastgeber benötigt für Instant Messaging mit Yahoo! Messenger sind:

  1. scs.msg.yahoo.com
  2. scsa.msg.yahoo.com
  3. scsb.msg.yahoo.com
  4. scsc.msg.yahoo.com

So ist es besser, die Kinder verkleiden Computer die IP-Adresse beim Zugriff auf den Rechner, möchten wir dies zu tun:

iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.55-d scs.msg.yahoo.com-j MASQUERADE
iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.55-d scsa.msg.yahoo.com-j MASQUERADE
iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.55-d scsb.msg.yahoo.com-j MASQUERADE
iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.55-d scsc.msg.yahoo.com-j MASQUERADE

Bei Verwendung eines kanonischen Namen anstatt einer IP-Adresse in der Syntax von iptables, wird die Linux-Router die IP-Adresse (n) des kanonischen Namen zu beheben, und legen Sie die Regeln in den Kernel mit den IP-Adressen. Wenn man kanonischen Namen mehrere IP-Adressen aufgelöst wird, dann wird iptables in den Kernel legen Sie eine Reihe von Vorschriften, die der Anzahl von IP-Adressen aufgelöst, jede Zeile, die eine der IP-Adressen aufgelöst.

 

Jetzt, da wir eingerichtet haben, den Zugang für Computer der Kinder, haben wir den Zugang zu Häfen und anderen Hosts zu verweigern. Wir tun das in der POSTROUTING-Kette der nat-Tabelle:

iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.55-j DROP

Der Laptop-und Desktop-Computer muss in der Lage sein, den Zugang nichts, und so keine speziellen Regeln für sie eingesetzt, mit Ausnahme der MASQUERADE-Regel für unser Netzwerk, die wir jetzt angehängt werden:

iptables-t nat-A POSTROUTING-o eth0-s 192.168.1.0/24-j MASQUERADE

Eine weitere Konfiguration muss in der Tabelle nat getan werden, um die Fähigkeit, um sich in der Ferne auf den Desktop Computer mit VNC bieten. Wir setzen auf VNC-Server auf TCP-Port 9112 auf dem Desktop-Computer verwenden, so müssen wir für diesen Port DNAT wie folgt ausführen:

iptables-t nat-A PREROUTING-p tcp - dport 9112-j DNAT - to 192.168.1.11

Das ist alles, die Konfiguration, die wir brauchen für das lokale Netzwerk. Wir müssen die Einstellung von Firewall-Regeln zur Sicherung der Linux-Router.
Erstens müssen wir SSH auf dem Linux-Router betreiben, so dass wir es können remote verwalten. Zur Sicherung der SSH-Zugang, ist es am besten an einer Kette namens SSH, in der wir gestatten oder verweigern Sie den Zugriff auf SSH. Wenn eine Sicherheitslücke in OpenSSH entdeckt wird, ist es sehr wahrscheinlich, dass Würmer für OpenSSH-Server auf Port 22 Scannen wird in ein paar Stunden geschaltet. Deshalb möchten wir den SSH-Server auf einem anderen Port als den Standard ein (zum Beispiel laufen, 1234). Der SSH-Kette wird durch:

iptables-N SSH

Als nächstes wollen wir eine Regel, dass der Kernel sagt zu schauen den SSH-Kette für alle eingehenden TCP-Verbindungen auf Port 1234:

iptables-A INPUT-p tcp - dport 1234-j SSH

Wir müssen Vorschriften für die SSH-Kette einfügen, um den Zugang nur von vertrauenswürdigen Hosts zu ermöglichen. Nehmen wir an, dass die IP-Adresse in unserem Büro 1.2.3.4 ist:

iptables-A SSH-s 1.2.3.4-j ACCEPT
iptables-A SSH-s 192.168.1.0/27-j ACCEPT
iptables-A SSH-s 0 / 0-j DROP

Die erste Regel nimmt die Verbindungen von unserem Büro die IP-Adresse 1.2.3.4. Die zweite Regel erlaubt eingehende SSH-Verbindungen nur von 192.168.1.0/27, welche IP-Adressen von 192.168.1.1 bis 192.168.1.32 enthält, da wir nicht wollen, SSH-Zugang vom Computer der Kinder zu ermöglichen, den Drucker, und das Spielgerät . Die dritte Regel Tropfen alle anderen eingehenden Verbindungen auf Port 1234.
Der Proxy-Server (Squid) hat seine eigene Sicherheit, indem Sie Access-Listen. Um jedoch der beste Weg, es zu sichern und der Router TCP-SYN-Pakete aus dem Internet in die INPUT-Kette fallen. Auf diese Weise kann keine eingehende Verbindung mit dem Linux-Router aus dem Internet gemacht werden, mit Ausnahme von SSH auf Port 1234 von 1.2.3.4, die vor dieser Regel abgestimmt ist. Wir wollen auch alle Pakete über das Loopback-Interface (lo akzeptieren) für IPC (interne Prozess-Kommunikation).

iptables-A INPUT-i lo-j ACCEPT
iptables-A INPUT-i eth0-p tcp - syn-j DROP

Dropping SYN-Pakete bietet einen guten Schutz für Prozesse, die Fehler haben könnte. Allerdings, setzen Sie diese nur Tropfen eingehende TCP-Verbindungen mit dem SYN-Flag (der Antrag auf Einsetzung einer TCP-Verbindung), und wird sich bietet noch keinen Schutz für Software, die UDP-Ports geöffnet.

Ein Artikel eingereicht von Ronald T Besser


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Building Linux Firewall" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 301 users browsing the articles directory