Internet Control Message Protocol, även känt som ICMP, är ett protokoll som används för att kontrollera anslutningen för värdarna i ett nätverk. Vi kan också använda detta protokoll för att diagnostisera problemen i ett nätverk. Men ur säkerhetssynpunkt kan den också användas av någon för att utföra en DDoS-attack. En pingflod eller en Distribution Denial of Service (DDoS) -attack är en form av attack där någon skickar många pingförfrågningar till en värd och värden blir nästan oåtkomlig för rutintrafiken. För att undvika denna typ av situation blockerar nätverksadministratörer vanligtvis ICMP i sitt nätverk. I den här artikeln lär vi oss hur IP-tabeller kan användas för att blockera ICMP på vår server.
Vad är IP-tabellerna?
IP Tables är ett brandväggsprogram för Linux-operativsystem. Den kan användas för att acceptera, neka eller returnera nätverkstrafik till eller från en källa. Den observerar den kommande nätverkstrafiken med hjälp av olika uppsättningar regler som definieras i en tabell. Dessa uppsättningar regler kallas kedjor. IP-tabeller observerar datapaket och vilka paket som matchar reglerna riktas till en annan kedja eller tilldelas något av följande värden.
- ACCEPTERAD: Paketet får passera
- SLÄPPA: Paketet får inte passera
- LÄMNA TILLBAKA: Kedjan returnerar paketet till föregående kedja.
Installera IP-tabeller
För de flesta Linux-distributioner är IP-tabeller förinstallerade. Du kan kontrollera om IP-tabeller är installerade eller inte genom att skriva följande kommando i terminalen.
[e-postskyddad]: ~ $ iptables --versionOm IP-tabeller inte är installerade kan du installera dem genom att köra följande kommando i terminalen.
[e-postskyddad]: ~ $ sudo apt-get-uppdatering[e-postskyddad]: ~ $ sudo apt-get install iptables
Vi kan kontrollera standardstatus för IP-tabeller genom att köra följande kommando i terminalen.
[e-postskyddad]: ~ $ sudo iptables -L -vFlaggan '-L' visar alla regler och flaggan '-v' visar detaljerad information.
Alternativt kan vi också lista alla regler som läggs till i IP-tabellerna genom att köra följande kommando i terminalen.
[e-postskyddad]: ~ $ sudo iptables -S
Som standard accepterar alla kedjor paketen och dessa kedjor har ingen regel tilldelats.
Tilldela regler till kedjor
Ursprungligen tilldelas ingen regel till någon kedja, och de accepterar alla nätverkstrafik. Nu i detta avsnitt kommer vi att se hur vi kan definiera anpassade regler för att blockera eller tillåta nätverkstrafik. För att definiera en ny regel använder vi flaggan 'A' (lägg till), som säger till IP-tabellerna att en ny regel kommer att definieras. Följande alternativ används också tillsammans med A-flaggan för att beskriva regeln.
-i (gränssnitt): Det här alternativet anger genom vilket gränssnitt du vill att din nätverkstrafik ska tillåtas eller blockeras. Du kan få en lista över alla gränssnitt på ditt system genom att köra följande kommando i terminalen.
[e-postskyddad]: ~ $ ifconfig-sid (protokoll): Det här alternativet definierar vilket protokoll du vill filtrera med IP-tabeller. Detta kan vara TCP, UDP, ICMP, ICMPV6, etc. Du kan tillämpa regler på alla protokoll genom att använda alla alternativ.
-s (källa): Det här alternativet visar källan till nätverkstrafik som IP-adress eller domännamn.
-dport (destinationsport): Detta alternativ används för att ange destinationsporten för nätverkstrafik.
-j (mål): Det här alternativet används för att visa målet. Det kan vara ACCEPT, DROP, REJECT eller RETURN. Detta alternativ är obligatoriskt för varje regel.
Generellt sett är den grundläggande syntaxen för att lägga till en regel följande:
[e-postskyddad: ~ $ sudo iptables -A-sid