Neka icmp -trafik till din vpn. Eldig båge


Hur kan du konfigurera datorer som kör Windows 2000 / XP / 2003 för att blockera Ping -paket? Windows 2000 / XP / 2003 har en inbyggd IP-säkerhetsmekanism som kallas IPSec (IP Security). IPSec är ett protokoll som är utformat för att skydda enskilda TCP / IP -paket när de reser över ett nätverk.

Vi kommer dock inte att gå in på detaljerna om funktionen och IPsec -enheten, för förutom kryptering kan IPSec också skydda din server eller arbetsstation med en mekanism som liknar en brandvägg.

Blockerar PING på en enda dator

För att blockera alla PING -paket från och till datorn måste vi skapa en IPSec -policy som blockerar all ICMP -trafik. Kontrollera först om din dator svarar på ICMP -begäranden:

För att konfigurera en enda dator måste vi följa dessa steg:

Låt oss konfigureraIP -filterlistor och filteråtgärder

  1. Öppna MMC -fönstret (Start> Kör> MMC).
  2. Lägg till snapin-modulen IP-säkerhet och policyhantering.
  1. Välj vilken dator som ska styras av denna policy - i vårt fall är detta den lokala datorn. Klicka på Stäng och sedan på OK.
  1. Högerklicka på IP -säkerhetspolicyer i den vänstra halvan av MMC. Välj Hantera IP -filterlistor och filteråtgärder.
  1. Du behöver inte konfigurera eller skapa ett IP -filter för ICMP (protokollet där PING fungerar), eftersom ett sådant filter redan finns som standard - All ICMP -trafik.

Du kan dock konfigurera ett godtyckligt komplext IP -filter, till exempel förbjuda att pinga din dator från alla IP -adresser, förutom några specifika. I en av följande artiklar om IPSec kommer vi att titta närmare på att skapa IP -filter, håll utkik.

  1. I fönstret Hantera IP -filterlistor och filteråtgärder, granska dina filter och om allt är i ordning klickar du på fliken Hantera filteråtgärder. Nu måste vi lägga till en filteråtgärd som blockerar viss trafik, klicka på Lägg till.
  1. Klicka på Nästa i det första välkomstfönstret.
  2. I fältet Filteråtgärdsnamn anger du Block och klickar på Nästa.
  1. I Allmänna alternativ för filteråtgärder väljer du Blockera och klickar sedan på Nästa.
  1. Återgå till fönstret Hantera IP -filterlistor och filteråtgärder och granska dina filter och om allt är i ordning klickar du på Stäng. Du kan när som helst lägga till filter och filtrera åtgärder.

Nästa steg är att konfigurera IPSec -policyn och tillämpa den.

Konfigurera IPSe -policy

  1. I samma MMC-konsol högerklickar du på IP-säkerhetspolicyer och väljer Skapa IP-säkerhetspolicy.
  1. Hoppa över guiden hälsning genom att klicka på Nästa.
  2. I fältet IP -säkerhetspolicy namn anger du ett namn som är lämpligt för tillfället, till exempel "Blockera PING". Klicka på Nästa
  1. Avmarkera kryssrutan Aktivera standardsvaret i fönstret Säkra anslutningsbegäranden. Klicka på Nästa
  1. Markera rutan för att ändra egenskaper och klicka på Slutför.
  1. Vi måste lägga till IP -filter och filteråtgärder i den nya IPSec -policyn. Klicka på Lägg till i fönstret Ny IPSec -policy
  1. Klicka på Nästa.
  2. Kontrollera att standard är markerat i fönstret Tunnel Endpoint och klicka på Nästa.

Blockering av ping -svar i operativsystemet kan förhindra ICMP -översvämningsattacker, men de flesta system använder denna tjänst för onlineövervakning (systemövervakning). I mitt ämne "Block Ping (ICMP) -svar i Unix / Linux" kommer jag att berätta hur du fortfarande kan stänga av det.

Att blockera PING till servern är användbart om servern ständigt står inför någon form av DoS -attack med hjälp av PING -funktionen. När vi använder IPTables kan vi helt enkelt sluta förbjuda passage av ICMP -paket (i själva verket förbjuda PING) till servern. Innan du börjar detta måste du ha en förståelse för vad iptables är i Linux. Iptables är ett brandväggssystem med en uppsättning regler som styr inkommande och utgående paket. Som standard fungerar Iptables utan några regler, du kan skapa, lägga till, redigera regler.

Inaktivera Ping med iptables

Förklaring till några av parametrarna i iptables som behövs för att skapa regler för hantering av ICMP -paket:

S: Lägger till regler.
-D: Tar bort regeln från tabellen.
-p: Alternativ för att ange protokollet (där 'icmp').
--Icmp-type: Alternativ för att specificera typen.
-J: Gå till kedjan.

Nedan kommer jag att ge illustrativa exempel.

Hur blockerar man PING på servern med felmeddelanden?
Således kan du delvis blockera PING med ett felmeddelande "Destination Port Unreachable". Lägg till följande Iptables -regler för att blockera PING med felmeddelanden:

# iptables -A INPUT -p icmp --icmp -type echo -request -j REJECT

Blockera PING på servern utan några felmeddelanden.
För att göra detta, använd kommandot för IPTables:

# iptables -A OUTPUT -p icmp --icmp -type echo -request -j DROP # iptables -A INPUT -p icmp --icmp -type echo -reply -j DROP

Blockerar alla inkommande och utgående ICMP -paket på servern.

Tillåt Ping med iptables

Om du blockerade ping på servern och inte vet hur du får tillbaka den. Då ska jag berätta hur du gör nu. Och detta görs genom att lägga till följande regel till IPtables:

# iptables -A INPUT -p icmp --icmp -type echo -request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp -type echo -reply -j ACCEPT

Dessa regler gör att ICMP -paket kan passera från och till servern.

Ping -blockering med Kernel -alternativ

Vi kan också blockera ping -svar direkt med kärnparametrar. Du kan blockera ping -svar tillfälligt eller permanent, och nedanstående visar hur du gör detta.

Tillfälligt pingblock
Du kan tillfälligt blockera ping -svar med följande kommando

# echo "1">

Kör följande för att avblockera det här kommandot:

# echo 0> / proc / sys / net / ipv4 / icmp_echo_ignore_all

Förneka Ping helt och hållet
Du kan blockera ping -svar genom att lägga till följande parameter i konfigurationsfilen:

# vim /etc/sysctl.conf

Och för att registrera:

[...] net.ipv4.icmp_echo_ignore_all = 1 [...]

sysctl används för att ändra kärnparametrar vid körning, en av dessa parametrar kan vara "ping daemon", om du vill inaktivera ping måste du bara göra något som:

# sysctl -w net.ipv4.icmp_echo_ignore_all = 1

Försök nu pinga maskinen, det finns inga svar på den, eller hur? För att återaktivera ping, använd:

# sysctl -w net.ipv4.icmp_echo_ignore_all = 0

W -flaggan används om du vill ändra vissa inställningar.

Kör nu följande kommando för att omedelbart tillämpa inställningarna utan att starta om systemet:

# sysctl -p

# sysctl --system

Här är min fullständiga konfiguration:

# cd/usr/local/src && wget http: //site/wp-content/uploads/files/sysctl_conf.txt

och sedan kan du köra:

# cp /usr/local/src/sysctl_conf.txt /etc/sysctl.conf

Det är allt för mig, ämnet "Block Ping (ICMP) svar på Unix / Linux" är klart.

En brandvägg är den första försvarslinjen för någon server, och dess korrekta konfiguration avgör om en angripare kan gå vidare i sina försök att tränga in i systemet. Moderna facklor erbjuder en mängd olika säkerhetsmekanismer som du kan använda för att lämna 99% av angriparna ur drift. Och allt detta utan att behöva köpa dyr utrustning och kommersiell programvara.

Huvudmålet för alla angripare är att få åtkomst till serverns skal för att kunna använda dess funktioner till deras fördel. Oftast utförs penetration i det "heliga" med hjälp av hål i tjänster eller genom val av brute-force-lösenord (brute force) till en av dem (till exempel ssh).

Portskanning

För att identifiera förekomsten av sårbara tjänster på en maskin utför en angripare spaning med hjälp av en portskanner och olika sårbarhetsdetekteringssystem. Vanligtvis används nmap som en portskanner, som kan skanna på ett dussin olika sätt och i vissa fall kan upptäcka OS- och serviceversioner. Här är en lista över särskilt populära nmap -flaggor som angripare vanligtvis använder:

Nmap -flaggor som används vid skanning

  • -sT - normal TCP -skanning genom att öppna en anslutning till den angivna porten och avsluta den;
  • -sS - SYN / ACK -skanning, anslutningen bryts omedelbart efter svaret på begäran om att öppna anslutningen;
  • -sU - UDP -skanning;
  • -sF - skanna in paket med FIN -flagguppsättningen;
  • -sX - skanna med paket med FIN-, PSH- och URG -flaggorna;
  • -sN - skanna i paket utan flaggor.

Metoden för att skydda mot skanning är enkel och känd för alla systemadministratörer. Det består i att helt enkelt stänga alla tjänster som inte ska vara synliga från det externa nätverket. Om till exempel ssh-, samba- och apache -tjänster körs på maskinen och endast webbservern med företagets webbsida ska vara synlig från omvärlden kan brandväggen konfigureras enligt följande:

Initial iptables -installation

outif = "eth1"
iptables -F
iptables -i $ outif -A INPUT \
-m conrack \
--stat ESTABLISHED, RELATED \
-j ACCEPTERA
iptables -i $ outif -A INPUT -p tcp \
--dport 80 -j ACCEPTERA
iptables -i $ outif -P INPUT DROP
iptables -i $ outif -P OUTPUT ACCEPT

Initial ipfw -installation

outif = "rl0"
ipfw add tillåt ip från valfri till valfri \
via lo0
ipfw lägg till tillåt ip från mig till någon \
via $ outif
ipfw lägg till tillåt tcp från någon till mig \
upprättad via $ outif
ipfw add tillåter tcp från alla 80 \
till mig via $ outif
ipfw lägg till neka ip från någon till någon \
via $ outif

Initial pf -inställning

outif = "rl0"
ställ in hopp på lo0
blockera alla
svimma på $ outif från $ outif \
till varje behållningstillstånd
skicka in $ outif proto från någon \
till $ outif port 80

Alla tre uppsättningar regler gör detsamma - låt all trafik passera genom loopback -gränssnittet, tillåt att ta emot paket med redan etablerade anslutningar (så att webbläsaren till exempel kan få svar på en begäran till en fjärrserver), tillåt samtal till den 80: e porten, blockerar alla andra och tillåter alla anslutningar utåt. Observera att om vi i iptables- och ipfw -exemplen uttryckligen anger reglerna för att tillåta mottagning av paket med redan etablerade anslutningar (etablerade), då det i fallet med pf var tillräckligt att ange "behåll tillstånd" i roulette så att eventuella utgående anslutningar.

I allmänhet fungerar detta system för att skydda nätverkstjänster från skanning och intrång bra, men vi kan gå längre och konfigurera elden så att vissa typer av skanningar inte kunde utföras alls. Tekniskt sett kan vi inte göra detta för vanliga skanningar (nmap flaggor "-sT", "-sS" och "-sU") helt enkelt för att det inte finns något kriminellt med det, men icke-standardiserade skanningstyper som "-sN" "- sF "och" -sX "lekpaket som inte kunde ha skapats av legitima applikationer.

Därför kasserar vi utan tvivel sådana förbindelser.

Metoder för att hantera exotiska skanningar

# Inaktivera FIN -skanning
Linux> iptables -A INPUT -p tcp \
–M tcp \
–-Tcp-flaggor FIN, ACK FIN -j DROP
FreeBSD>
ej etablerad tcpflags fin
# Förbjud X-skanning
Linux>
--tcp-flags FIN, SYN, RST, PSH, ACK, URG
FIN, SYN, RST, PSH, ACK, URG \
–J DROP
FreeBSD> ipfw lägg till avvisa tcp från någon till någon \
tcpflags fin, syn, rst, psh, ack, urg
# Förbjud N-scan
Linux> iptables -A INPUT –p tcp –m tcp \
–-Tcp-flags FIN, SYN, RST, PSH, ACK, URG NONE –j DROP
FreeBSD> ipfw lägg till avvisa tcp från någon till någon \
tcpflags! fin ,! syn ,! rst ,! psh ,! ack ,! urg
I OpenBSD kan alla dessa rader ersättas med en enkel post i början
/etc/pf.conf:
skrubba i alla

Skrubbningsdirektivet aktiverar paketnormaliseringsmekanismen, där fragmenterade paket återförenas och paket med en ogiltig kombination av flaggor kastas. Förutom exotiska typer av scrub skyddar scrub också mot bedrägeri av intrångsdetekteringssystem (skickar mycket fragmenterade paket) och vissa typer av DoS -attacker.

För att skydda mot SYN / ACK-skanningar som initieras av nmap "-sS" -flaggan kan vi använda den passiva OS-fingeravtrycksmetoden som finns tillgänglig i pf- och iptables / netfilter-brandväggarna (sedan version 1.4.6). Under en normal skanning (flagga "-sT") använder nmap operativsystemets standardgränssnitt, så en sådan genomsökning skiljer sig nästan inte från strömmen av vanliga paket (nedan kommer vi att överväga några av dess skillnader), dock under SYN / ACK -skanning, nmap bildar paket på egen hand, så de har några egenskaper som förråder deras källa. Den passiva OS -detektionsmetoden gör att dessa paket kan identifieras och kasseras med standard brandväggsregler:

OpenBSD> blockera snabbt från alla OS NMAP
Linux> iptables -I INPUT -p tcp -m osf -genre NMAP \
-j DROP

Iptables/netfilter -brandväggens osf -modul använder en fingeravtrycksdatabas sammanställd och uppdaterad av OpenBSD -utvecklarna (/etc/pf.os), så båda dessa regler bör ge samma resultat. Det är också intressant att de effektivt motverkar OS-detekteringsfunktionen för nmap-verktyget ("-O" -flaggan).

Nu är vi skyddade från nästan alla typer av skanningar, förutom standard och tråkigt "-sT". Hur ska jag hantera honom? Faktum är att allt är enkelt. Faktumet med portskanning är lätt att upptäcka bara genom att analysera brandväggsloggarna. Om det på kort tid fanns många anslutningar till olika portar så skannades vi. Det enda som återstår att göra är att flytta denna idé till brandväggsreglerna. Det finns ett bra recept på iptables som blockerar alla som slår för hårt på portar som inte fungerar:

Kämpar för att krypa med iptables

# Kontrollera att det knackar på portar som inte fungerar (10 per timme)

-sekunder 3600 --hitcount 10 --rttl -j RETURN
# Andra kontrollen för att knacka på portar som inte fungerar (2 per minut)
iptables -A INPUT -m recent --rcheck \
-sekunder 60 --hitcount 2 --rttl -j RETURN
# Att skriva adresserna till dem som knackar på listan
iptables -A INPUT -m recent --set
# Kassera paket med alla som överskridit gränsen för
antal anslutningar
iptables -P INPUT -j DROP

Efter att ha installerat xtables-addons-paketet, som innehåller utvecklingen av det patch-omatic-projektet, får vi tillgång till PSD-modulen (Port Scan Detect), implementerad i bilden och likheten av scanlogd-demon. Alla tidigare rader kan enkelt ersättas med en enkel regel:

# iptables -A INPUT -m psd -j DROP

Tyvärr finns det inget liknande i ipfw- och pf -paketfiltren, men det spelar ingen roll, eftersom PortSentry -demon och scanlogd motverkas väl mot portskanning.

Inaktivera Icmp -meddelanden

Det är också bra att förbjuda ICMP -meddelanden, som kan ge ytterligare information om värden eller användas för att utföra olika skadliga åtgärder (till exempel ändra routningstabellen). Nedan finns en tabell med de möjliga typerna av ICMP -meddelanden:

ICMP -meddelandetyper

  • 0 - ekosvar (ekosvar, ping)
  • 3 - destinationen kan inte nås
  • 4 - källkylning (undertryck källan, skicka paket långsammare)
  • 5 - omdirigering
  • 8 - ekoförfrågan (ekoförfrågan, ping)
  • 9 - routerannons
  • 10 - routeruppmaning
  • 11-levetid överskridits
  • 12 - IP -rubrik dålig
  • 13 - begäran om tidsstämpel (begäran om tidräknarens värde)
  • 14 - tidsstämpel svar (svar på en begäran om ett tidräknare värde)
  • 15 - begäran om information
  • 16 - informationssvar
  • 17 - begäran om adressmask
  • 18 - adressmask svar

Som du kan se kan svar på vissa ICMP -meddelanden leda till avslöjande av viss information om värden, medan andra kan leda till ändring av routingtabellen, så de bör inaktiveras.

Typiskt tillåts ICMP -meddelanden 0, 3, 4, 11 och 12 att gå ut till omvärlden, medan endast 3, 8 och 12 accepteras som input. Så här gör du i olika brandväggar:

Förbud mot farliga ICMP -meddelanden

Linux> iptables -A INPUT -p icmp \
-icmp -typ 3,8,12 -j ACCEPTERA
Linux> iptables -A OUTPUT -p icmp \
-icmp -typ 0,3,4,11,12 -j ACCEPTERA
FreeBSD> ipfw add allow icmp \
från någon till $ outif i \
via $ outif icmptype 3,8,12
FreeBSD> ipfw add allow icmp \
från $ outif till någon out \
via $ outif icmptype 0,3,4,11,12
OpenBSD> passera inet proto icmp \
från någon till $ outif \
icmp-typ (3, 8, 12) behåll tillstånd
OpenBSD> lösa inet proto icmp \
från $ outif till någon \
icmp-typ (0, 3, 4, 11, 12) \
behåll stat

Om du vill kan du neka all ICMP -trafik, inklusive ping -förfrågningar, men detta kan påverka nätverkets riktighet.

Råstyrka

Efter att ha spanat information om öppna portar och operativsystem, gör krackaren försök att tränga in i systemet, vilket kan baseras på att utnyttja hål i tjänster eller på att gissa lösenord. Brandväggen hjälper oss inte att förhindra möjligheten till hackning av tjänster, men det är lätt att bromsa processen med brutal tvingande lösenord. För detta används möjligheterna för att begränsa antalet paket som kom till maskinen från en IP -adress. Så här kan du göra det med iptables:

Brute force -skydd med iptables

# Kedja för att kontrollera anslutningar
iptables -N brute_check
# Blockera adress om över 60
sekunder initierade han mer än 2 anslutningar

--uppdatera-sekunder 60 \
--hitcount 3 -j DROP
# Om inte, tillåt anslutningen och
lägg till adressen i listan
iptables -A brute_check -m recent \
--set -j ACCEPTERA
# Rensa INPUT -kedjan
iptables -F INPUT
# Skicka till kedjan brute_check
alla som försöker ansluta till
22: e hamnen

--ctstate NEW -p tcp \
--dport 22 -j brute_check
iptables -P INPUT DROP

Detsamma kan göras med pf:

Brute force -skydd med pf

# Skapa ett bord för brute-forcing
tabell envisas
# Blockera alla som kommer in i det
blockera snabbt från
# Lägg i bruteforcers -bordet alla som initierar mer än två anslutningar på den 22: e hamnen per minut
skicka in $ ext_if inet proto tcp till $ outif \
port 22 flaggor S / SA behåll status \
(max-src-conn-rate 60/2, \ overload spola)

Ipfw-brandväggen har inte tillräckligt med funktioner för att effektivt motverka brute-forcing, så dess användare måste använda verktyg på högre nivå som speciella PAM-moduler, intrångsdetekteringssystem och program som sshguard.

Spoofing

Spoofing (spoofing avsändaren av ett paket) kan användas för att utföra DoS -attacker eller kringgå brandväggar. I det första fallet ger spoofing en enorm fördel för angriparen, eftersom det avsevärt komplicerar reaktionen på attacken (paket som kommer med helt andra avsändaradresser är inte så lätt att klassificera och blockera) och försenar processen med att stänga nya anslutningar (vanligtvis en falsk adress kan inte nås, så anslutningen stängs först när tidsgränsen löper ut). Spoofing för att kringgå säkerhetssystemet är mindre farligt och kan i de flesta fall kontrolleras.

Ganska ofta, genom att blockera externa nätverkstjänster för en värd, lämnar systemadministratörer dem öppna för ett specifikt antal adresser (till exempel för att ansluta från sin hemmaskin). Genom att beräkna en av dessa adresser kan en angripare bilda ett paket som anger den adressen som en returadress och därmed "glida" genom brandväggen. Sedan kan han gissa sekvensnumren för TCP -paketen och få tjänsten som litar på returadressen att utföra den åtgärd han behöver. Detta är en mycket svår attack att genomföra, som dock kan utföras av en kompetent specialist, och om vi pratar om UDP -protokollet, så ligger det inom kulkhatskers makt.

Lyckligtvis är det lätt att försvara sig mot sådana attacker. Det räcker att inte öppna hamnar med oskyddade tjänster för omvärlden, men om det är ett akut behov av att använda säkerhetssystemen för själva tjänsterna (till exempel ssh -certifikat) eller mekanismen "knacka på hamnar" (beskrivs i slutet i artikeln).

Situationen blir mer komplicerad när det gäller nätverksbryggan som skiljer de interna och externa nätverken (eller två lokala nätverk). Betrodda relationer inom ett lokalt nätverk är vanliga. Tjänsterna är tillgängliga för alla, ingen autentisering, kryptering etc. - bara en liten grej för en inbrottstjuv. När han är i det externa nätverket kan han ta reda på nätmask för det interna nätverket och skapa paket med motsvarande returadress, vilket kommer att leda till att få tillgång till alla LAN -resurser. Detta är en riktigt farlig situation, men det kan enkelt förhindras med rätt brandvägg eller OS -konfiguration.

För att göra detta är det tillräckligt att neka passering av paket, vars returadresser motsvarar de som används i det interna nätverket, från det externa gränssnittet:

Linux> iptables -A INPUT -i $ outif \
-s 192.168.1.0/24 -j DENY
FreeBSD> ipfw lägg till neka ip från \
192.168.1.0/24 till någon via $ outif
OpenBSD> blockera $ outif från \
192.168.1.0/24 till någon

Som ett alternativ eller ytterligare säkerhetsåtgärd kan du (och till och med behöva) använda speciella ipfw- och pf -direktiv och Linux -kärninställningar:

Linux> echo 1> / proc / sys / net / ipv4 / conf / all / rp_filter
FreeBSD> ipfw lägg till neka ip från någon till någon inte antispoof in
OpenBSD> antispoof snabb för $ ext_if

Dessa tre kommandon leder till samma resultat. Alla paket vars returadresser matchar nätmask för det andra gränssnittet tappas.

Användbarhet av IPTABLES

I slutet av artikeln kommer vi att titta på några intressanta iptables / netfilter -funktioner som kan vara användbara för att skydda din server från intrång. Låt oss börja med en fjärrkontrollmekanism för brandvägg som kallas portknockning. Dess väsen är att tvinga brandväggen att utföra vissa åtgärder efter anslutning till en viss port. Nedan är ett exempel på regler som öppnar SSH -porten i 10 sekunder efter att ha knackat på port 27520:

iptables och port knocking
# Kedja för att kontrollera anslutningar till den skyddade porten
iptables -N knacka
# Tillåt anslutningen om det knackade under det senaste
10 sekunder
iptables -A knock -m recent --rcheck --seconds 10 \
-j ACCEPTERA
# Rensa INPUT
iptables -F INPUT
# Tillåt allt som rör redan etablerade anslutningar
iptables -A INPUT -m contrack \
--stat ESTABLISHED, RELATED -j ACCEPTERA
# Alla försök att öppna en anslutning till den 22: e porten skickas
för att checka in knackningskedjan

-p tcp --port 22 -j knackning
# Lägg till adressen för knackningen på port 27520 i listan
iptables -A INPUT -m contrack --ctstate NEW \
-p tcp --dport 27520 -m nyligen -uppsättning
# När du knackar på angränsande hamnar, ta bort adressen från listan
iptables -A INPUT -m contrack --ctstate NEW -p tcp \
-m multiport --dport 27519,27521 -m nyligen --borttag
# Förbjud allt
iptables -P INPUT DROP

Den tredje regeln från slutet lägger till knockarens adress till listan. Om samma maskin, inom 10 sekunder efter knackning, adresserar den 22: e porten, kommer anslutningen att upprättas. Den näst sista regeln är skydd mot knackning med brutal kraft. Om en angripare försöker knacka sekventiellt på alla hamnar i hopp om att en av dem öppnar port 22, kommer denna regel att fungera, och hans adress kommer att tas bort från listan omedelbart efter att den har angetts.

Den andra användbarheten av iptables distribueras i xtables-addons-paketet (patch-o-matic) och kallas TARPIT. Detta är en åtgärd (samma som ACCEPT eller DENY) som "hänger" anslutningen och hindrar angriparen från att stänga den. Anslutningen, vars paket går till TARPIT, kommer att upprättas framgångsrikt, men fönsterstorleken är lika med noll, så att fjärrmaskinen inte kan skicka data, slösar bort sina resurser och anslutningen stängs endast efter att tidsgränsen har löpt ut. TARPIT kan användas i en nödsituation för att skydda mot DoS:

# iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT

Eller för att vilseleda angriparen och slåss mot skannrar
portar (endast normal TCP-skanning, "-sT"):

# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp -j TARPIT

Dessa regler skapar utseendet på ett system där alla portar är öppna, men när du försöker ansluta till någon av dem (förutom 80 och 25) "hänger" anslutningarna. Samma resultat, men utan "tröga" anslutningar, kan uppnås med DELUDE -åtgärden, som svarar korrekt på alla anslutningsinitieringsförsök, men skickar ett RST -paket som svar på alla andra paket. För att förvirra angriparen ytterligare kan du använda CHAOS -åtgärden, som slumpmässigt aktiverar en av de två åtgärderna som beskrivs ovan.

Slutsatser

Med tillräckligt med kunskap och genomtänkt läsning av dokumentationen kan du skapa en mycket stark bastion som inte kommer att vara lätt att komma till. Moderna brandväggar, särskilt pf och iptables, erbjuder många anti-inkräktare som du kan få gratis.

Länkar

  • sf.net/projects/sentrytools - PortSentry
  • www.openwall.com/scanlogd - scanlogd

Kämpa mot resursläckage

När du använder TARPIT -åtgärden, se till att lägga till följande regel i konfigurationen, annars kommer "tröga" anslutningar att äta upp resurser när de bearbetas av konverteringsdelsystemet:

# iptables -t raw -I PREROUTING -p tcp --dport 25 -j NOTRACK


Brandväggen på ett Linux -system styrs av iptables (för ipv4) och ip6tables (för ipv6). Detta fuskblad täcker de vanligaste sätten att använda iptables för dem som vill skydda sitt system från hackare eller bara ta reda på hur man konfigurerar det.

Tecknet # betyder att kommandot körs som root. Öppna en rotad konsol i förväg -sudo -i på Debian -baserade system, eller su på andra.

1. Visa status.

# iptables -L -n -v

Exempel på kommandoutmatning för en inaktiv brandvägg:

Kedjan INGÅNG (policy ACCEPTERA 0 paket, 0 byte) pkts byte mål prot välja bort källmål Kedja FORWARD (policy ACCEPT 0 paket, 0 byte) pkts byte mål prot välja in källa destination Kedja OUTPUT (policy ACCEPT 0 paket, 0 byte) pkts byte målprot väljer bort källmålet

För en aktiv brandvägg:

Kedjans ingång (policy DROP 0 -paket, 0 byte) pkts -byte målprot -out -out -källmål 0 0 DROP all - * * 0.0.0.0/0 0.0.0.0/0 state INVALID 394 43586 ACCEPT ALL - * * 0.0. 0.0/0 0.0.0.0/0 state RELATED, ESTABLISHED 93 17292 ACCEPTERA alla - br0 * 0.0.0.0/0 0.0.0.0/0 1142 ACCEPTERA alla - lo * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP 0 -paket, 0 byte) pkts -byte -målprot -out -out -källmål 0 0 ACCEPTERA alla - br0 br0 0.0.0.0/0 0.0.0.0/0 0 0 DROP all - * * 0.0.0.0/0 0.0 .0.0 / 0 -tillstånd OGILTIG 0 0 TCPMSS tcp - * * 0.0.0.0/0 0.0.0.0/0 tcp -flaggor: 0x06/ 0x02 TCPMSS -klämma till PMTU 0 0 ACCEPTERA alla - * * 0.0.0.0/0 0.0.0.0/ 0 -tillstånd RELATERAT , ESTABLISHED 0 0 wanin all - vlan2 * 0.0.0.0/0 0.0.0.0/0 0 0 wanout all - * vlan2 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPTA all - br0 * 0.0.0.0/0 0.0. 0.0/0 Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes) pkts bytes target prot opt ​​out out source destination Chain wanin (1 referenser) pkts bytes target prot opt ​​in out source desti nation Chain wanout (1 referenser) pkts bytes target prot opt ​​out out destination

Var:
-L: Visa lista med regler.
-v: Visa ytterligare information. Det här alternativet visar gränssnittets namn, alternativ, TOS -masker. Visar också suffixen "K", "M" eller "G".
-n: Visa IP -adress och port i siffror (använd inte DNS -server för att lösa namn. Detta kommer att påskynda visningen).

2. Visa en lista med regler med radnummer.

# iptables -n -L -v -line -numbers

Ungefärlig effekt:

Kedjan INPUT (policy DROP) num target prot opt ​​source destination 1 DROP all - 0.0.0.0/0 0.0.0.0/0 state INVALID 2 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state RELATED, ESTABLISHED 3 ACCEPT alla - 0.0.0.0/0 0.0.0.0/0 4 ACCEPTERA alla - 0.0.0.0/0 0.0.0.0/0 Kedja FORWARD (policy DROP) num target prot opt ​​source destination 1 ACCEPTA all - 0.0.0.0/0 0.0 .0.0/0 2 DROP all - 0.0.0.0/0 0.0.0.0/0 state INVALID 3 TCPMSS tcp - 0.0.0.0/0 0.0.0.0/0 tcp flags: 0x06/0x02 TCPMSS clamp to PMTU 4 ACCEPT all - 0.0. 0.0/0 0.0.0.0/0 state RELATED, ESTABLISHED 5 wanin all - 0.0.0.0/0 0.0.0.0/0 6 wanout all - 0.0.0.0/0 0.0.0.0/0 7 ACCEPT all - - 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt ​​source destination Chain wanin (1 referenser) num target prot opt ​​source destination Chain wanout (1 referenser) num target prot opt ​​source destination

Du kan använda radnummer för att lägga till nya regler.

3. Visa reglerna INPUT eller OUTPUT.

# iptables -L INPUT -n -v
# iptables -L OUTPUT -n -v -line -numbers

4. Stoppa, starta, starta om brandväggen.

Av krafterna i själva systemet:
# service ufw stopp
# service ufw start

Du kan också använda iptables -kommandon för att stoppa brandväggen och ta bort alla regler:
# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FRAMÅT ACCEPTERA

Var:
-F: Spola alla regler.
-X: Ta bort kedjan.
-t tabellnamn: Välj en tabell (nat eller mangle) och ta bort alla regler.
-P: Välj standardåtgärder (t.ex. DROP, REJECT eller ACCEPT).

5. Ta bort brandväggsregler.

Så här visar du radnumret med befintliga regler:

# iptables -L OUTPUT -n -line -numbers
# iptables -L OUTPUT -n -line -numbers | mindre
# iptables -L OUTPUT -n --line -numbers | grep 202.54.1.1

Låt oss få en lista över IP -adresser. Titta bara på numret till vänster och radera motsvarande rad. Till exempel för nummer 3:
# iptables -D INGÅNG 3

Eller hitta källens IP -adress (202.54.1.1) och ta bort den från regeln:
# iptables -D INPUT -s 202.54.1.1 -j DROP

Var:
-D: Ta bort en eller flera regler från kedjan.

6. Lägg till regeln i brandväggen.

För att lägga till en eller flera regler i en kedja, visar vi först en lista med radnummer:
# iptables -L INPUT -n -line -numbers

Ungefärlig effekt:

Kedjan INPUT (policy DROP) num target prot opt ​​source destination 1 DROP all - 202.54.1.1 0.0.0.0/0 2 ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state NEW, ESTABLISHED

Så här infogar du en regel mellan 1 och 2 rader:
# iptables -I INPUT 2 -s 202.54.1.2 -j DROP

Låt oss kontrollera om regeln har uppdaterats:
# iptables -L INPUT -n -line -numbers

Utgången kommer att se ut så här:

Kedja INPUT (policy DROP) num target prot opt ​​source destination 1 DROP all - 202.54.1.1 0.0.0.0/0 2 DROP all - 202.54.1.2 0.0.0.0/0 3 ACCEPTA all - 0.0.0.0/0 0.0. 0.0 / 0 tillstånd NY, ETABLERAD

7. Spara brandväggens regler.

Via iptables-save:
# iptables-save> /etc/iptables.rules

8. Vi återställer reglerna.

Genom iptables-restore
# iptables-restore

9. Installera standardpolicyer.

Så här släpper du all trafik:
# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -P FRAMÅT DROP
# iptables -L -v -n

Efter kommandona ovan kommer inget paket att lämna denna värd.
# ping google.com

10. Blockera endast inkommande anslutningar.

För att släppa alla inkommande paket som inte initierats av dig, men tillåter utgående trafik:
# iptables -P INPUT DROP
# iptables -P FRAMÅT DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INGÅNG -m tillstånd -stat NY, ETABLERAD -j ACCEPTERA
# iptables -L -v -n

Utgående paket och de som kom ihåg inom de etablerade sessionerna är tillåtna.
# ping google.com

11. Dumpa adresserna för isolerade nätverk i det offentliga nätverket.

# iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP

Lista över IP -adresser för isolerade nätverk:
10.0.0.0/8 -j (A)
172.16.0.0/12 (B)
192.168.0.0/16 (C)
224.0.0.0/4 (MULTICAST D)
240.0.0.0/5 (E)
127.0.0.0/8 (LOOPBACK)

12. Blockering av en specifik IP -adress.

För att blockera adressen till krackaren 1.2.3.4:
# iptables -A INPUT -s 1.2.3.4 -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -j DROP

13. Blockera inkommande portförfrågningar.

Så här blockerar du alla inkommande förfrågningar på port 80:
# iptables -A INPUT -p tcp --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

Så här blockerar du en begäran om port 80 från adress 1.2.3.4:
# iptables -A INPUT -p tcp -s 1.2.3.4 --port 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

14. Blockera förfrågningar till den utgående IP -adressen.

För att blockera en specifik domän, ta reda på dess adress:
# värd -t på facebook.com

Utmatning: facebook.com har adressen 69.171.228.40

Hitta CIDR för 69.171.228.40:
# whois 69.171.228.40 | grep CIDR

Produktion:
CIDR: 69.171.224.0/19

Låt oss blockera åtkomst till 69.171.224.0/19:
# iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

Du kan också använda en domän för att blockera:
# iptables -A OUTPUT -p tcp -d www.fаcebook.com -j DROP
# iptables -A OUTPUT -p tcp -d fаcebook.com -j DROP

15. Spela in händelsen och återställ.

Lägg till en regel för att logga paketets rörelse innan de släpps:

# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOGG -log -prefix "IP_SPOOF A:"
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

Låt oss kontrollera loggen (som standard / var / log / meddelanden):
# tail -f / var / log / messages
# grep -i --färg "IP SPOOF" / var / log / messages

16. Spela in händelsen och återställ (med en begränsning på antalet poster).

För att inte fylla avsnittet med en uppblåst log, kommer vi att begränsa antalet poster med -m. Till exempel, för att skriva högst 7 rader var 5: e minut:
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5 / m -limit -burst 7 -j LOG -log -prefix "IP_SPOOF A:"
# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

16. Dumpa eller tillåt trafik från vissa MAC -adresser.

# iptables -A INPUT -m mac --mac -source 00: 0F: EA: 91: 04: 08 -j DROP
## * tillåter endast TCP -port # 8080 från mac -adress 00: 0F: EA: 91: 04: 07 * ##
# iptables -A INPUT -p tcp -destination -port 22 -m mac --mac -source 00: 0F: EA: 91: 04: 07 -j ACCEPT

17. Tillåt eller avvisa ICMP Ping -begäranden.

Så här inaktiverar du ping:
# iptables -A INPUT -p icmp --icmp -type echo -request -j DROP
# iptables -A INPUT -i eth1 -p icmp --icmp -type echo -request -j DROP

Tillåt specifika nätverk / värdar:
# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp -type echo -request -j ACCEPT

Tillåt bara en del av ICMP -begäranden:
### ** förutsätter att inkommande principer är inställda på DROP ** ###
# iptables -A INPUT -p icmp --icmp -type echo -reply -j ACCEPT
# iptables -A INPUT -p icmp --icmp -type destination -unreachable -j ACCEPT
# iptables -A INPUT -p icmp --icmp -type time -overskredda -j ACCEPTERA
## ** låt oss svara på förfrågan ** ##
# iptables -A INPUT -p icmp --icmp -type echo -request -j ACCEPT

18. Öppna en rad portar.

# iptables -A INGÅNG -m tillstånd -stat NY -m tcp -p tcp --port 7000: 7010 -j ACCEPTERA

19. Öppna en rad adresser.

## tillåt anslutning till port 80 (Apache) om adressen ligger inom intervallet från 192.168.1.100 till 192.168.1.200 ##
# iptables -A INPUT -p tcp -destination -port 80 -m iprange --src -intervall 192.168.1.100-192.168.1.200 -j ACCEPTERA

## exempel för nat ##
# iptables -t nat -A POSTROUTING -j SNAT -till källkod 192.168.1.20-192.168.1.25

20. Stäng eller öppna standardportar.

Ersätt ACCEPTERA med DROP för att blockera porten.

## ssh tcp -port 22 ##
iptables -A INPUT -m state -state NEW -m tcp -p tcp --dport 22 -j ACCEPTERA
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 22 -j ACCEPT

## koppar (utskriftstjänst) udp / tcp -port 631 för LAN ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPTERA
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPTERA

## tidssynkronisering via NTP för LAN (udp -port 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p udp --dport 123 -j ACCEPTERA

## tcp port 25 (smtp) ##
iptables -A INPUT -m state -state NEW -p tcp --dport 25 -j ACCEPT

# dns serverportar ##
iptables -A INPUT -m state -state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state -state NEW -p tcp --dport 53 -j ACCEPT

## http / https www serverport ##
iptables -A INPUT -m state -state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state -state NEW -p tcp --dport 443 -j ACCEPT

## tcp -port 110 (pop3) ##
iptables -A INPUT -m state -state NEW -p tcp --dport 110 -j ACCEPT

## tcp -port 143 (imap) ##
iptables -A INPUT -m state -state NEW -p tcp --dport 143 -j ACCEPT

## Samba -filserver för LAN ##
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 137 -j ACCEPTERA
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 445 -j ACCEPT

## proxyserver för lokalt nätverk ##
iptables -A INPUT -s 192.168.1.0/24 -m state -state NEW -p tcp --dport 3128 -j ACCEPT

## mysql -server för lokalt nätverk ##
iptables -I INPUT -p tcp --dport 3306 -j ACCEPTERA

21. Begränsa antalet parallella anslutningar till servern för en adress.

Connlimit -modulen används för begränsningar. Så här tillåter du bara 3 ssh -anslutningar per klient:
# iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit -above 3 -j REJECT

Ställ in antalet HTTP -förfrågningar till 20:
# iptables -p tcp --syn --dport 80 -m connlimit --connlimit -above 20 --connlimit -mask 24 -j DROP

Var:
--climlimit-above 3: Anger att regeln endast träder i kraft om antalet anslutningar överstiger 3.
--connlimit-mask 24: Anger nätmask.

Iptables hjälper.

För att hitta hjälp för iptables, använd man:
$ man iptables

Så här visar du hjälp för specifika kommandon och mål:
# iptables -j DROP -h

Kontrollerar iptables -regeln.

Vi kontrollerar öppna / stängda portar:
# netstat -tulpn

Vi kontrollerar att en specifik hamn är öppen / stängd:
# netstat -tulpn | grep: 80

Låt oss kontrollera att iptables tillåter anslutningar på port 80:
# iptables -L INPUT -v -n | grep 80

Annars kan du öppna det för alla:
# iptables -A INGÅNG -m tillstånd -stat NY -p tcp --port 80 -j ACCEPTERA

Kontrollerar med telnet
$ telnet ya.ru 80

Du kan använda nmap för att kontrollera:
$ nmap -sS -p 80 ya.ru

Iptables är ett bra verktyg i händerna på en administratör. Om du enkelt och enkelt behöver skydda dig själv på skrivbordet Ubuntu bör du veta att det finns ett bekvämt konsoltillägg över iptables som heter UFW, och det finns ett grafiskt GUFW-program för det. Här är en video för att göra din Ubuntu ännu säkrare.

Du kan lära dig hur du konfigurerar MikroTik på onlinekursen om utrustning från denna tillverkare. Kursförfattare är en certifierad MikroTik -tränare. Du kan läsa mer detaljer i slutet av artikeln.

Artikeln besvarar frågan om hur farligt det är att blockera ICMP -trafik.

ICMP - stridsben

Många nätverksadministratörer anser att Internet Control Message Protocol (ICMP) är en säkerhetsrisk och därför alltid bör blockeras. Det är sant att protokollet har vissa associerade säkerhetsproblem och att vissa förfrågningar bör blockeras. Men det är inte en anledning för att blockera all ICMP -trafik!

ICMP -trafik har många viktiga funktioner; vissa är användbara för felsökning, medan andra är viktiga för korrekt nätverksdrift. Nedan följer några viktiga delar av ICMP -protokollet som du bör vara medveten om. Man bör överväga hur man bäst leder dem genom ditt nätverk.

Echo -begäran och och Echo -svar

IPv4 - Echo -begäran (Type8, Code0) och Echo -svar (Type0, Code0)
IPv6 - Echo -begäran (Type128, Code0) och Echo -svar (Type129, Code0)

Vi är alla väl medvetna om att ping är ett av de första felsökningsverktygen. Ja, om du aktiverar ICMP -paketbehandling på din utrustning betyder det att din värd nu kan upptäckas, men lyssnar inte din redan på port 80 och skickar svar på klientförfrågningar? Naturligtvis, blockera dessa förfrågningar också om du verkligen vill ha din DMZ vid kanten av nätverket. Men genom att blockera ICMP -trafik inuti ditt nätverk, stärk inte skyddet, tvärtom får du ett system med en onödigt komplex felsökningsprocess ("Kontrollera om gatewayen svarar på nätverksförfrågningar?" Säger inget! " ).

Kom ihåg att du också kan tillåta förfrågningar att flöda i en specifik riktning; till exempel konfigurera din maskinvara så att Echo -förfrågningar från ditt nätverk går till Internet och Echo svarar från Internet till ditt nätverk, men inte tvärtom.

Paketfragmentering krävs (IPv4) / För stort paket (IPv6)

IPv4 - (Type3, Code4)
IPv6 - (Type2, Code0)

Dessa ICMP -komponenter är mycket viktiga eftersom de är en väsentlig komponent i Path MTU Discovery (PMTUD), som är en integrerad del av TCP. Tillåter två värdar att justera det maximala värdet för TCP -segmentstorlek (MSS) för att matcha den minsta MTU i sökvägen mellan de två destinationerna. Om det på paketens väg finns en nod med en mindre maximal överföringsenhet än avsändaren eller mottagaren, och de inte har möjlighet att upptäcka denna kollision, kommer trafiken att tappas tyst. Och du kommer inte att förstå vad som händer med kommunikationskanalen; med andra ord, "roliga dagar kommer för dig."

Fragmentera inte - ICMP fungerar inte!

Skicka IPv4 -paket med bitfragmentet Don't Fragment (de flesta!) Eller IPv6 -paket (kom ihåg att det inte finns någon routerfragmentering i IPv6) som är för stora för att kunna överföras över gränssnittet kommer att få routern att tappa paketet och formulärsvar till överföringskällan med följande ICMP -fel: Fragmentering krävs ( Fragmentering krävs) eller för stort paket ( Paket också Stor). Om svar med dessa fel inte kan returneras till avsändaren, kommer han att tolka frånvaron av bekräftelsesvar om leverans av ACK -paket ( Erkänna) från mottagaren som trängsel / förlust och källan för vidarebefordran av paket, vilket också kommer att släppas.

Det är svårt att identifiera orsaken till ett sådant problem och snabbt åtgärda det, processen med att utbyta TCP-handskakningar (TCP-handshake) fungerar bra, eftersom det handlar om små paket, men så snart en massdataöverföring sker, hänger överföringssessionen eftersom överföringskällan inte tar emot felmeddelanden.

Undersöker paketets leveransväg

RFC 4821 utvecklades för att hjälpa deltagare i trafik i nätverket att kringgå detta problem genom att använda paketvägsanalys. (Path MTU Discovery (PLPMTUD)... Standarden låter dig upptäcka den maximala datamängden (Maximal överföringsenhet (MTU), som kan överföras av protokollet i en iteration, genom att gradvis öka den maximala storleken på det användbara datablocket (Maximal segmentstorlek (MSS), för att hitta den maximala paketstorleken utan fragmentering på vägen från sändaren till mottagaren. Denna funktionalitet minskar beroendet av att ta emot snabba svar med fel med hjälp av Internet Control Message Protocol (ICMP) och är tillgängligt i de flesta nätverksenhetsstackar och klientoperativsystem. Storleken på de överförda paketen Låt dessa ICMP -meddelanden återgå till ursprunget för överföringen, okej?

Timeout -paketöverföring

IPv4 - (Type11, Code0)
IPv6 - (Type3, Code0)

Traceroute är ett mycket användbart verktyg för felsökning av nätverksanslutningar mellan två värdar, som beskriver varje steg i vägen.


Skickar ett paket med en IP -datapaketets livslängd (Time to live (TTL) likvärdig 1 för den första routern att skicka ett felmeddelande (inklusive sin egen IP -adress) om paketets livslängd överskred. Sedan skickar det ett paket med TTL 2, och så vidare. Denna procedur är nödvändig för att upptäcka varje nod längs paketbanan.

NDP och SLAAC (IPv6)

Router Solicitation (RS) (Type133, Code0)
Routerannons (RA) (Type134, Code0)
Neighbor Solicitation (NS) (Type135, Code0)
Grannannons (NA) (Type136, Code0)
Omdirigera (Type137, Code0)

Medan IPv4 använde Address Resolution Protocol (ARP) för att kartlägga lager 2 och 3 i OSI -nätverksmodellen, tar IPv6 ett annat tillvägagångssätt i form av Neighbor Discovery Protocol (NDP). NDP har många funktioner, inklusive router -upptäckt, prefix -upptäckt, adressupplösning och mer. Förutom NDP låter StateLess Address AutoConfiguration (SLAAC) dig dynamiskt konfigurera en värd i ett nätverk, liknande begreppet Dynamic Host Configuration Protocol (DHCP) (även om DHCPv6 är avsedd för finare kontroll).

Dessa fem typer av ICMP -meddelanden får inte blockeras i ditt nätverk (exklusive den yttre omkretsen) för att IP ska fungera korrekt.

ICMP -typnummerering

Internet Control Message Protocol (ICMP) innehåller många meddelanden som identifieras med typfältet.

Sorts namn Specifikation
0 Echo Reply
1 Ej tilldelad
2 Ej tilldelad
3 Destinationen kan inte nås
4 Källkylning (utfasad)
5 Dirigera om
6 Alternativ värdadress (utfasad)
7 Ej tilldelad
8 Eko
9 Routerannons
10 Routeruppmaning
11 Tiden har överskridits
12 Parameterproblem
13 Tidsstämpel
14 Svar på tidsstämpel
15 Informationsbegäran (utfasad)
16 Informationssvar (utfasat)
17 Adressmaskförfrågan (utfasad)
18 Adressmasksvar (utfasat)
19 Reserverad (för säkerhet) Solo
20-29 Reserverad (för Robustness Experiment) ZSu
30 Traceroute (utfasad)
31 Datagramkonverteringsfel (utfasad)
32 Mobile Host Redirect (utfasad) David_Johnson
33 IPv6 Where-Are-You (Utfasad)
34 IPv6 I-Am-Here (utfasad)
35 Begäran om mobil registrering (utfasad)
36 Svar för mobilregistrering (utfasat)
37 Begäran om domännamn (utfasad)
38 Svar på domännamn (utfasat)
39 Hoppa över (utfasad)
40 Photuris
41 ICMP -meddelanden som används av experimentella mobilitetsprotokoll som Seamoby
42 Utökad ekoförfrågan
43 Utökat ekosvar
44-252 Ej tilldelad
253 Experiment i RFC3692-stil 1
254 Experiment i RFC3692-stil 2
255 Reserverad

Några ord om hastighetsbegränsningar

Även om ICMP -meddelanden som de som beskrivs i den här artikeln kan vara mycket användbara, kom ihåg att generering av alla dessa meddelanden tar CPU -tid på dina routrar och genererar trafik. Förväntar du dig verkligen att få 1000 ping per sekund genom din brandvägg i en normal situation? Kommer detta att betraktas som normal trafik? Antagligen inte. Begränsa nätverksbandbredden för dessa typer av ICMP -trafik efter eget tycke; detta steg kan hjälpa dig att säkra ditt nätverk.

Läs, undersök och förstå

Med tanke på att diskussionen om ämnet "att blockera eller inte blockera" ICMP -paket alltid leder till förvirring, tvister och meningsskiljaktigheter, föreslår jag att du fortsätter att studera detta ämne på egen hand. Jag gav många länkar på den här sidan, jag tror att för en mer fullständig förståelse av problemet bör du ta dig tid att läsa dem. Och gör ett välgrundat val om vad som fungerar bäst för ditt nätverk.

MikroTik: var ska man klicka för att få det att fungera?
För alla dess fördelar har MikroTik -produkter en nackdel - mycket fragmenterad och långt ifrån alltid tillförlitlig information om dess konfiguration. Vi rekommenderar en pålitlig källa på ryska, där allt samlas in, logiskt och strukturerat - videokurs " MikroTiks hårdvarukonfiguration". Kursen innehåller 162 videolektioner, 45 laborationer, frågor för självgranskning och en sammanfattning. Allt material finns kvar på obestämd tid. Kursens början kan ses gratis genom att lämna en förfrågan på kurssidan. Kursförfattare är en certifierad MikroTik -tränare.







2021 gtavrl.ru.