Internet Control Message Protocol, også kjent som ICMP, er en protokoll som brukes til å sjekke tilkoblingen til vertene i et nettverk. Vi kan også bruke denne protokollen til å diagnostisere problemene i et nettverk. Men fra et sikkerhetssynspunkt kan det også brukes av noen til å utføre et DDoS -angrep. En pingflom eller en distribuert nektelse av tjeneste (DDOS) angrep er en form for angrep der noen sender mange pingforespørsler til en vert og verten blir nesten utilgjengelig for den rutinemessige trafikken. For å unngå denne typen situasjoner, blokkerer nettverksadministratorer vanligvis ICMP på nettverket sitt. I denne artikkelen lærer vi hvordan IP -tabeller kan brukes til å blokkere ICMP på serveren vår.
Hva er IP -tabellene?
IP -tabeller er et brannmurverktøysprogram for Linux -operativsystemer. Det kan brukes til å akseptere, nekte eller returnere nettverkstrafikk til eller fra en kilde. Den observerer den kommende nettverkstrafikken ved hjelp av forskjellige sett med regler definert i en tabell. Disse reglene sett kalles kjeder. IP -tabeller observerer pakker med data og hvilke pakke som samsvarer med regler som er rettet til en annen kjede eller tildelt en av følgende verdier.
Installere IP -tabeller
For de fleste av Linux-distribusjonene kommer IP-tabeller forhåndsinstallert. Du kan sjekke om IP -tabeller er installert eller ikke ved å skrive følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ iptables --versionHvis IP -tabeller ikke er installert, kan du installere dem ved å kjøre følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ sudo apt-get updateVi kan sjekke standardstatusen til IP -tabeller ved å kjøre følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ sudo iptables -l -v'-L' flagg viser alle regler, og '-V' -flagget viser detaljert informasjon.
Alternativt kan vi også liste opp alle reglene som er lagt til IP -tabellene ved å kjøre følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ sudo iptables -sSom standard aksepterer alle kjedene pakkene, og disse kjedene har ingen regel tildelt.
Tilordne regler til kjeder
Til å begynne med tildeles ingen regel til noen kjede, og de aksepterer alle nettverkstrafikk. Nå i denne delen vil vi se hvordan vi kan definere tilpassede regler for å blokkere eller tillate nettverkstrafikk. For å definere en ny regel, bruker vi 'A' (vedlegg) flagget, som forteller IP -tabellene at en ny regel kommer til å bli definert. Følgende alternativer brukes også sammen med 'A' flagget for å beskrive regelen.
-Jeg (grensesnitt): Dette alternativet indikerer hvor grensesnittet du vil at nettverkstrafikken din skal tillates eller blokkeres. Du kan få en liste over alle grensesnitt på systemet ditt ved å kjøre følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ ifconfig-p (Protokoll): Dette alternativet definerer hvilken protokoll du vil filtrere ved hjelp av IP -tabeller. Dette kan være TCP, UDP, ICMP, ICMPV6, etc. Du kan bruke regler for alle protokoller ved å bruke alle alternativer.
-s (Kilde): Dette alternativet viser kilden til nettverkstrafikk som IP -adresse eller domenenavn.
-dport (Destinasjonsport): Dette alternativet brukes til å indikere destinasjonsporten for nettverkstrafikk.
-j (Mål): Dette alternativet brukes til å vise målet. Det kan være akseptere, slippe, avvise eller returnere. Dette alternativet er obligatorisk for enhver regel.
Generelt vil den grunnleggende syntaksen for å legge til en regel være som følger:
ubuntu@ubuntu: ~ $ sudo iptables -a -i -jBlokkering av ICMP ved hjelp av IP -tabeller
Så langt har vi en grunnleggende forståelse av IP -tabeller og deres bruk for å tillate eller blokkere trafikk på spesifikke porter gjennom spesifikke grensesnitt. Nå vil vi bruke IP -tabeller for å blokkere ICMP på serveren vår.
Følgende kommando vil legge til en regel for å blokkere ICMP på maskinen din:
ubuntu@ubuntu: ~ $ sudo iptables -a input -j Reject -p icmp --icmp -type Echo -RequestEtter å ha kjørt kommandoen ovenfor, sjekk nå statusen til IP -tabellene.
ubuntu@ubuntu: ~ $ sudo iptables -l -vVi kan se at en regel er lagt til inngangskjeden, som viser at all ICMP -trafikk vil bli avvist. Nå, hvis vi pinger systemet vårt fra noe annet system fra samme nettverk, vil det avvise forespørselen. Vi kan se resultatet ved å komme med en ping -forespørsel fra Localhost
ubuntu@ubuntu: ~ $ ping 127.0.0.1Vi kan se at vi får avvisningsmeldinger fra systemet hvis vi prøver å komme med en ping -forespørsel til det.
Alternativt kan følgende to kommandoer brukes til å legge til regler for å blokkere ICMP på serveren vår.
ubuntu@ubuntu: ~ $ sudo iptables -a input -p icmp -j dråpe --icmp -type ekko -requestEtter å ha lagt til disse to reglene, må du nå sjekke statusen til IP -tabellene.
ubuntu@ubuntu: ~ $ sudo iptables -l -vVi kan se at kommandoen ovenfor la til to regler, den ene til inngangskjeden og den andre til utgangskjeden.
Forskjellen mellom dråpen og avvisningen er at når vi bruker avviser, viser det oss en advarsel (destinasjonsport uoppnåelig) når vi ping fordi forespørselen blir avvist og den ikke når porten. På den annen side, når vi bruker en dråpe, slipper det ganske enkelt utgangen. Inngang blir ikke avvist, den blir behandlet, men utgangen vises ikke som vist nedenfor
Konklusjon
Hackere tar i bruk forskjellige metoder for å utføre distribuerte nektelse av tjeneste (DDoS) angrep til serverne. Ping Flood er også en form for DDoS -angrep. Hackere sender så mange Ping -forespørsler til serveren at serveren bruker all sin beregningskraft for å behandle ping -forespørslene og ikke utfører sin faktiske behandling. I dette scenariet eller flere andre scenarier, kan det hende du må blokkere ICMP på serveren din.
I denne artikkelen har vi lært forskjellige måter å blokkere ICMP ved å bruke IP -tabeller. Vi diskuterte hvordan vi kan legge til forskjellige regler for å blokkere ICMP på serveren vår. På samme måte kan vi bruke IP -tabeller for å blokkere enhver form for trafikk på hvilken som helst port ved hjelp av IP -tabeller.