Feuriger Bogen. Schützen Sie sich vor Hackern mit IPTABLES, IPFW und PF. Cisco ACL für Advanced. Erweiterte Zugriffslisten So blockieren Sie den icmp-Verkehr
Oftmals ärgern sich Nutzer über die Langsamkeit des Internets. Dies gilt insbesondere für das große Heer von Amateuren Netzwerkspiele... Sie können mögliche Verzögerungen reduzieren, indem Sie die Ping-Funktion deaktivieren.
Du wirst brauchen
- - PC mit installiertem Windows-Betriebssystem;
- - Zugang zum Internet.
Anleitung
Anleitung
Wir beschäftigen uns also weiterhin mit der ACL. Dieses Mal haben wir ACLs erweitert. Wir übernehmen die Topologie aus dem vorherigen Artikel, ich hoffe, Sie haben sie gründlich studiert. Wenn dies nicht der Fall ist, empfehle ich dringend die Lektüre, um die Materialien dieses Artikels verständlicher zu machen.
Zunächst beginne ich damit, was erweiterte ACLs sind. Mit erweiterten ACLs können Sie zusätzlich zur Quelladresse ein Protokoll, eine Zieladresse und Ports angeben. Sowie die speziellen Parameter eines bestimmten Protokolls. Es ist am besten, von Beispielen zu lernen, also werden wir ein neues Problem bilden, das das vorherige verkompliziert. Übrigens könnte jemand danach interessiert sein, sich mit den Themen der Verkehrspriorisierung zu befassen, ich rate hier QoS-Klassifizierung und -Markierung guter Artikel, allerdings auf Englisch. Kommen wir in der Zwischenzeit zurück zu unserem Problem:
Eine Aufgabe.
- Erlaube Echoanforderungen von Hosts 192.168.0.0/24 an den Server.
- Vom Server - Echo-Anfragen an das interne Netzwerk verbieten.
- Erlauben Sie den WEB-Zugriff auf den Server vom 192.168.0.11-Host.
- FTP-Zugriff vom 192.168.0.13-Host zum Server zulassen.
Komplexe Aufgabe. Wir werden es auch umfassend lösen. Zunächst werde ich die Syntax für die Anwendung der erweiterten ACL analysieren.
Erweiterte ACL-Optionen
<номер от 100 до 199> <действие permit, deny> <протокол> <источник> <порт> <назначение> <порт> <опции>
Portnummern werden natürlich nur für TCP/UDP-Protokolle angegeben. Ich kann auch Präfixe haben eq(Portnummer gleich der angegebenen), gt / lt(Portnummer größer / kleiner als angegeben), neq(Portnummer ist nicht gleich der angegebenen), Reichweite(Portbereich).
Benannte ACLs
Accesslisten können übrigens nicht nur nummeriert, sondern auch benannt werden! Vielleicht erscheint Ihnen diese Methode bequemer. Diesmal werden wir genau das tun. Diese Befehle werden im Kontext einer globalen Konfiguration ausgeführt und die Syntax sieht wie folgt aus:
Router (config) #ip access-list erweitert<имя>
Also beginnen wir, die Regeln zu bilden.
- Pings aus dem Netzwerk zulassen 192.168.0.0/24
zum Server. So, Echo-Anfragen sind ein Protokoll ICMP, als Quelladresse wählen wir unser Subnetz, die Zieladresse ist die Serveradresse, der Nachrichtentyp ist auf der eingehenden Schnittstelle Echo, am Ausgang - Echo-Antwort... Router (config) #ip access-list extended INT_IN Router (config-ext-nacl) #permit icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echo Ja, es ist ein Trick ACL... Sogenannt WildCard-Maske. Sie wird als inverse Maske von der üblichen berechnet. Jene. 255.255.255.255
- Subnetzmaske. In unserem Fall ist das Subnetz 255.255.255.0
, nach Abzug bleibt es nur 0.0.0.255
Ich denke, diese Regel bedarf keiner Erklärung? Protokoll icmp, Quelladresse - Subnetz 192.168.0.0/24
, Zieladresse - Host 10.0.0.100, Nachrichtentyp - Echo(Anfrage). Das sieht man übrigens leicht Host 10.0.0.100 gleichwertig 10.0.0.100 0.0.0.0
Wir wenden diese Regel auf die Schnittstelle an. Router (config) #int fa0 / 0
Router (config-if) #ip access-group INT_IN in Na ja, so ähnlich. Wenn Sie nun die Pings überprüfen, können Sie leicht erkennen, dass alles einwandfrei funktioniert. Hier erwartet uns jedoch eine Überraschung, die etwas später auftauchen wird. Ich werde es noch nicht verraten. Wer hätte es gedacht - gut gemacht! - Vom Server - wir verbieten alle Echo-Anfragen an das interne Netzwerk (192.168.0.0/24). Wir definieren eine neue benannte Liste, INT_OUT, und hängen sie an die Schnittstelle, die dem Server am nächsten ist.
Router (config) #ip access-list erweitert INT_OUT
Router (config-ext-nacl) #deny icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo
Router (config-ext-nacl) #exit
Router (config) #int fa0 / 1
Router (config-if) #ip access-group INT_OUT in
Lassen Sie mich erklären, was wir getan haben. Eine erweiterte Zugangsliste mit dem Namen INT_OUT erstellt, das Protokoll wurde darin deaktiviert icmp mit Typ Echo vom Gastgeber 10.0.0.100 pro Subnetz 192.168.0.0/24 und auf den Eingang der Schnittstelle angewendet fa0 / 1, d.h. dem Server am nächsten. Versuch zu senden Klingeln vom Server.
SERVER> ping 192.168.0.11
Ping 192.168.0.11 mit 32 Byte Daten:
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Antwort vom 10.0.0.1: Zielhost nicht erreichbar.
Ping-Statistik für 192.168.0.11:
Pakete: Gesendet = 4, Empfangen = 0, Verloren = 4 (100% Verlust)
Nun, es schien zu funktionieren, wie es sollte. Für diejenigen, die nicht wissen, wie man Pings sendet, klicken wir auf den für uns interessanten Knoten, zum Beispiel einen Server. Gehen Sie auf die Registerkarte Desktop, dort Eingabeaufforderung (Befehlszeile) und jetzt der versprochene Witz. Versuchen Sie, wie im ersten Punkt vom Host anzupingen. PC> ping 10.0.0.100
Ping 10.0.0.100 mit 32 Byte Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.Hier ist Ihre Zeit. Es hat einfach alles funktioniert! Warum hat es aufgehört? Das ist die versprochene Überraschung. Ich erkläre, was das Problem ist. Ja, die erste Regel ist nirgendwo hingegangen. Es erlaubt tatsächlich, eine Echo-Anfrage an den Server-Host zu senden. Aber wo ist die Erlaubnis, Echoantworten zu übergeben? Er ist nicht da! Wir senden die Anfrage, aber wir können die Antwort nicht annehmen! Warum hat vorher alles funktioniert? Dann hatten wir keine ACL auf der Schnittstelle fa0 / 1... Und da es keine ACL gibt, ist alles erlaubt. Sie müssen eine Regel erstellen, um den Empfang von icmp-Antworten zuzulassen.
Zur INT_OUT-Liste hinzufügen
Fügen wir dasselbe zur INT_IN-Liste hinzu.
Router (config-ext-nacl) #permit icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
Finde jetzt keinen Fehler. Alles läuft super!
- Wir erlauben den WEB-Zugriff auf den Server vom * .11-Knoten aus. Hier müssen Sie jedoch ein wenig wissen, wie mit den Protokollen der 4. Schicht (TCP, UDP) telefoniert wird. Der Client-Port wird willkürlich > 1024 gewählt, und der Server-Port ist derjenige, der dem Dienst entspricht. Für WEB ist dies Port 80 (http-Protokoll) Was ist mit dem WEB-Server? Standardmäßig ist der WEB-Dienst bereits auf dem Server installiert, Sie können ihn in den Knoteneinstellungen sehen. Bitte beachten Sie, dass ein Häkchen vorhanden ist. Und Sie können sich mit dem Server verbinden, indem Sie die Verknüpfung „Webbrowser“ auf dem „Desktop“ eines beliebigen Knotens auswählen. Natürlich wird es jetzt keinen Zugang geben. Da wir ACLs auf den Router-Schnittstellen haben und sie keine Erlaubnisregeln für den Zugriff haben. Nun, erstellen wir in der Zugriffsliste INT_IN (die auf der Schnittstelle fa0 / 0) fügen Sie die Regel hinzu: Router (config-ext-nacl) #permit tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq 80 Das heißt, wir erlauben TCP von unserem Knoten (beliebiger Port,> 1024) zur Serveradresse, HTTP Hafen.
Und natürlich die umgekehrte Regel zur INT_OUT-Liste (die auf der Schnittstelle fa0 / 1):
Router (config-ext-nacl) #permit tcp host 10.0.0.100 eq 80 host 192.168.0.11 eingerichtet
Das heißt, wir erlauben TCP vom Hafen 80 Server zu hosten *.11 und die Verbindung sollte bereits hergestellt sein! Du kannst stattdessen etabliert das gleiche anzeigen gt 1024 würde genauso gut funktionieren. Aber die Bedeutung ist etwas anders.
Bitte in den Kommentaren antworten, was sicherer wäre?
- Wir erlauben FTP-Zugriff vom * .13 Host zum Server, absolut nichts kompliziertes Analysieren wir, wie die Interaktion über das FTP-Protokoll abläuft. In Zukunft plane ich, der Arbeit verschiedener Protokolle eine ganze Reihe von Artikeln zu widmen, da dies sehr nützlich ist, um präzise (Sniper-)ACL-Regeln zu erstellen. In der Zwischenzeit: Server- und Client-Aktionen:+ Der Client versucht eine Verbindung aufzubauen und sendet von seinem Port X (X> 1024, freier Port) ein Paket (das den Hinweis enthält, dass er im passiven Modus arbeitet) an Port 21 des Servers + Der Server sendet eine Antwort und meldet seine Portnummer, um einen Kanal zu erstellen Daten Y (Y> 1024) an den Client-Port X, extrahiert aus dem Header des TCP-Pakets + Der Client initiiert die Kommunikation, um Daten auf Port X + 1 an den Server-Port Y zu übertragen (genommen aus dem Kopf der vorherigen Transaktion). Irgendwie so. Klingt etwas kompliziert, aber Sie müssen es nur herausfinden! Fügen Sie die Regeln zur INT_IN-Liste hinzu:
erlauben TCP-Host 192.168.0.13 gt 1024-Host 10.0.0.100 Äq 21
erlauben TCP-Host 192.168.0.13 gt 1024-Host 10.0.0.100 gt 1024Und fügen Sie die Regeln der INT_OUT-Liste hinzu:
TCP-Host zulassen 10.0.0.100 eq FTP-Host 192.168.0.13 gt 1024
TCP-Host zulassen 10.0.0.100 gt 1024-Host 192.168.0.13 gt 1024Überprüfung von Befehlszeile, vom Team ftp 10.0.0.100, wo wir uns mit Zugangsdaten anmelden cisco: cisco(aus den Servereinstellungen entnommen), dort geben wir den Befehl ein dir und wir werden sehen, dass die Daten sowie die Befehle erfolgreich übertragen werden.
Das war's für die erweiterte Zugriffsliste.
Sehen wir uns also unsere Regeln an:
Router #sh Zugriff
Erweiterte IP-Zugriffsliste INT_IN
erlauben icmp 192.168.0.0 0.0.0.255 host 10.0.0.100 echo (17 Übereinstimmung(en))
erlauben icmp host 10.0.0.100 192.168.0.0 0.0.0.255 echo-reply
erlauben tcp host 192.168.0.11 gt 1024 host 10.0.0.100 eq www (36 Übereinstimmung(en))
erlauben tcp host 192.168.0.13 gt 1024 host 10.0.0.100 eq ftp (40 Übereinstimmung(en))
erlauben TCP-Host 192.168.0.13 GT 1024 Host 10.0.0.100 GT 1024 (4 Übereinstimmung(en))
Erweiterte IP-Zugriffsliste INT_OUT
icmp-Host verweigern 10.0.0.100 192.168.0.0 0.0.0.255 echo (4 Übereinstimmungen)
erlauben icmp host 10.0.0.100 192.168.0.0 0.0.0.255 Echo-Antwort (4 Treffer)
erlauben tcp host 10.0.0.100 eq www host 192.168.0.11 etabliert (3 Übereinstimmung(en))
erlauben tcp host 10.0.0.100 eq ftp host 192.168.0.13 gt 1024 (16 Übereinstimmung(en))
TCP-Host zulassen 10.0.0.100 gt 1024 Host 192.168.0.13 gt 1024 (3 Übereinstimmung(en))
Wie können Sie Computer konfigurieren für Windows-Steuerung 2000 / XP / 2003, um Ping-Pakete zu blockieren? Windows 2000 / XP / 2003 verfügt über einen integrierten IP-Sicherheitsmechanismus namens IPSec (IP Security). IPSec ist ein Protokoll, das entwickelt wurde, um einzelne TCP/IP-Pakete auf ihrem Weg über ein Netzwerk zu schützen.
Wir gehen jedoch nicht auf die Details der Funktionsweise und des IPsec-Geräts ein, da IPSec neben der Verschlüsselung auch Ihren Server schützen kann oder Arbeitsplatz ein Mechanismus ähnlich einer Firewall.
Blockieren von PING auf einem einzelnen Computer
Um alle PING-Pakete vom und zum Computer zu blockieren, müssen wir eine IPSec-Richtlinie erstellen, die den gesamten ICMP-Datenverkehr blockiert. Überprüfen Sie zunächst, ob Ihr Computer auf ICMP-Anfragen reagiert:
Um einen einzelnen Computer einzurichten, müssen wir die folgenden Schritte ausführen:
Lass uns konfigurierenIP-Filterlisten und Filteraktionen
- Öffnen Sie das MMC-Fenster (Start > Ausführen > MMC).
- Fügen Sie das Snap-In IP-Sicherheit und Richtlinienverwaltung hinzu.
- Wählen Sie aus, welcher Computer von dieser Richtlinie gesteuert wird - in unserem Fall ist dies der lokale Computer. Klicken Sie auf Schließen und dann auf OK.
- Klicken Sie mit der rechten Maustaste auf IP-Sicherheitsrichtlinien in der linken Hälfte der MMC. Wählen Sie IP-Filterlisten und Filteraktionen verwalten aus.
- Sie müssen keinen IP-Filter für ICMP (das Protokoll, in dem PING funktioniert) konfigurieren oder erstellen, da ein solcher Filter standardmäßig bereits vorhanden ist - All ICMP Traffic.
Sie können jedoch einen beliebig komplexen IP-Filter konfigurieren, z. B. das Pingen Ihres Computers von allen IPs außer einigen bestimmten verbieten. In einem der folgenden Artikel zu IPSec werden wir uns das Erstellen von IP-Filtern genauer ansehen, bleiben Sie dran.
- Überprüfen Sie im Fenster IP-Filterlisten und Filteraktionen verwalten Ihre Filter und klicken Sie, wenn alles in Ordnung ist, auf die Registerkarte Filteraktionen verwalten. Jetzt müssen wir eine Filteraktion hinzufügen, die bestimmten Datenverkehr blockiert, klicken Sie auf Hinzufügen.
- Klicken Sie im ersten Willkommensfenster auf Weiter.
- Geben Sie in das Feld Filteraktionsname Block ein und klicken Sie auf Weiter.
- Wählen Sie unter Allgemeine Optionen für Filteraktionen die Option Blockieren aus, und klicken Sie dann auf Weiter.
- Kehren Sie zum Fenster IP-Filterlisten und Filteraktionen verwalten zurück und überprüfen Sie Ihre Filter. Wenn alles in Ordnung ist, klicken Sie auf Schließen. Sie können jederzeit Filter und Filteraktionen hinzufügen.
Der nächste Schritt besteht darin, die IPSec-Richtlinie zu konfigurieren und anzuwenden.
IPSe-Richtlinie konfigurieren
- Klicken Sie in derselben MMC-Konsole mit der rechten Maustaste auf IP-Sicherheitsrichtlinien und wählen Sie IP-Sicherheitsrichtlinie erstellen.
- Überspringen Sie die Begrüßung des Assistenten, indem Sie auf Weiter klicken.
- Geben Sie im Feld Name der IP-Sicherheitsrichtlinie einen dem Anlass angemessenen Namen ein, z. B. „PING blockieren“. Weiter klicken
- Im Fenster Anfragen sichere Verbindung Deaktivieren Sie das Kontrollkästchen Standardantwortregel aktivieren. Weiter klicken
- Aktivieren Sie das Kontrollkästchen, um die Eigenschaften zu ändern, und klicken Sie auf Fertig stellen.
- Wir müssen der neuen IPSec-Richtlinie IP-Filter und Filteraktionen hinzufügen. Klicken Sie im Fenster Neue IPSec-Richtlinie auf Hinzufügen
- Weiter klicken.
- Stellen Sie im Fenster Tunnel-Endpunkt sicher, dass die Standardeinstellung ausgewählt ist, und klicken Sie auf Weiter.