ICMP
Rövidítés
ICMP
Az ICMP (Internet Control Message Protocol) az IP protokollcsalád része, amelyet elsősorban hálózati hibák diagnosztizálására és információk közvetítésére használnak az eszközök között. Az ICMP nem hordoz felhasználói adatokat, hanem olyan meta-információkat továbbít, amelyek segítenek megérteni a hálózati problémák okát.
1. ICMP alapelvei
Az ICMP-t az IP protokollhoz tervezték (IPv4-ben és IPv6-ban is van megfelelő változata – ICMPv4 és ICMPv6), és azt használja, hogy vezérlőüzeneteket továbbítson hálózati eszközök között. Az ICMP a hálózati réteghez (Layer 3) tartozik az OSI modellben, ugyanúgy, mint az IP.
Nem protokoll az adatátvitelhez, hanem segédprotokoll a hálózati állapot figyelésére, hibakezelésre, és diagnosztikai célokra.
2. ICMP üzenettípusok
Az ICMP üzenetek különböző típusokra oszthatók, például:
a. Hibaüzenetek
Ezek az üzenetek jelzik, ha az adatcsomag nem érte el célját:
- Destination Unreachable (3) – Cél elérhetetlen. Pl. ha nincs elérhető útvonal.
- Time Exceeded (11) – Az élettartam (TTL) lejárt. Ez gyakran a traceroute során látható.
- Parameter Problem (12) – Hibás fejléc paraméter.
- Source Quench (4) – Régi típusú, elavult mechanizmus, amely túlterhelésre utalt (ma már nem használt).
b. Diagnosztikai és információs üzenetek
- Echo Request (8) és Echo Reply (0) – A legismertebb ICMP üzenet, amelyet a ping parancs használ.
- Timestamp Request/Reply – Időbélyeget kér és válaszol vissza (ritkábban használt).
- Router Advertisement/Solicitation (ICMPv6 esetén gyakori) – IPv6 autokonfigurációhoz.
3. Ping és traceroute
Ping
A legismertebb ICMP-alapú eszköz. A ping echo request csomagot küld a célhoz, és echo reply csomagot vár vissza. Ezzel mérhető:
- Elérhetőség
- Válaszidő
- Csomagvesztés
Traceroute
Ez az eszköz ICMP-t (vagy UDP-t) használ a csomagok TTL értékének manipulálásával. Minden útválasztónál (router) „lejár” a TTL, és Time Exceeded ICMP válasz jön vissza. Ezzel meg lehet határozni, hogy a csomag milyen útvonalon jut el a célhoz.
4. ICMP és biztonság
Bár ICMP hasznos diagnosztikai protokoll, biztonsági kockázatokat is hordoz, ezért sok rendszergazda és tűzfal adminisztrátor szűri vagy korlátozza az ICMP forgalmat.
ICMP veszélyei:
- Ping of Death – Régi támadás, amikor túl nagy ICMP csomagokat küldtek, amik összeomlaszthatják a rendszert.
- Smurf attack – Egy támadó broadcast címet pingel spoofolt forrással, így rengeteg válasz a célgépet terheli.
- Túlzott ICMP válaszforgalom – Pl. traceroute flood vagy ICMP tunnel használata rejtett kommunikációra (pl. icmp-tunnel, ptunnel).
Tűzfal szempontból
Általában az alábbi ICMP típusokat szokás engedélyezni vagy blokkolni:
- Engedélyezett: Echo request/reply (ping), Time Exceeded, Destination Unreachable
- Blokkolt: Timestamp request/reply, Source Quench, egyéb nem létfontosságú típusok
5. ICMPv6 különlegességek
Az ICMP szerepe IPv6 környezetben megnőtt. Az IPv6-ban minden hibaüzenet és információcsere ICMPv6-ra épül.
Fontos ICMPv6 üzenetek:
- Neighbor Discovery Protocol (NDP): Olyan, mint az ARP IPv6 esetén.
- Router Solicitation/Advertisement – IPv6 hálózati konfiguráció automatikus beállításához.
- Packet Too Big – Segít az útvonalon MTU-t (Maximum Transmission Unit) kezelni.
6. ICMP fejléce (ICMP header)
Az ICMP üzenetek szabványos fejlécet tartalmaznak:
- Type – Az üzenet típusa (pl. 0 = Echo Reply, 8 = Echo Request).
- Code – További részletek a típuson belül (pl. miért unreachable).
- Checksum – Hibadetektálásra szolgál.
- Data – Opcionális rész, pl. pingnél időbélyeg és azonosító.
Példa egy ICMP Echo Request csomag felépítésére:
Type: 8 (Echo Request) Code: 0 Checksum: [számolt érték] Identifier: [tetszőleges] Sequence number: [szekvencia] Data: [tesztadat]
7. ICMP protokoll RFC szerint
Az ICMP protokollt az RFC 792 írja le (ICMPv4), míg az ICMPv6 a RFC 4443 szerint működik. Az NDP például a RFC 4861 alatt van.
Összefoglalás
Az ICMP egy kulcsfontosságú protokoll, amely segíti a hálózati eszközöket abban, hogy:
- Hibákat jelezzenek
- Diagnosztikát végezzenek
- Információt cseréljenek a hálózati útvonalakról
Az eszközök, tűzfalak, és operációs rendszerek különbözőképpen kezelik az ICMP-t, ezért érdemes megérteni, mit érdemes engedélyezni, mit érdemes szűrni, és milyen típusok milyen célra használatosak.
Az ICMP alap minden hálózatos és biztonsági szakember eszköztárában – a helyes alkalmazása segít a hibák gyors felismerésében és a hálózat átláthatóságában, ugyanakkor nem megfelelő beállítás esetén támadási felületet jelenthet.