Jak deaktivovat službu Portmapper na VPS nebo dedikovaném serveru

Jak deaktivovat službu Portmapper na VPS nebo dedikovaném serveru

Portmapper (portmap, rpcbind) je služba vzdáleného volání procedur Open Network Computing. Dynamicky převádí čísla služeb vzdáleného volání procedur (například NIS nebo NFS) na čísla portů TCP/UDP.

Služba odesílá zprávy RPC broadcast na portu 111. Tuto specifickou funkci portmapper lze využít k provedení útoku DDoS. Protokol UDP umožňuje podvržení IP adresy. Útočníci tak mohou posílat malé požadavky na portmapper s použitím IP adresy oběti. V důsledku toho bude server při příjmu takových požadavků odesílat všechny odpovědi na adresu oběti v mnohem větším objemu. Takové množství provozu ze služby silně zatěžuje infrastrukturní zdroje — servery a síťová zařízení, což následně může vést k neschopnosti nebo zpoždění zpracování požadavků od běžných uživatelů, což je účelem útoku DDoS.

Jak zkontrolovat aktivitu portmapper

Chcete-li zkontrolovat, zda na VPS nebo dedikovaném serveru používáte portmapper, použijte utilitu rpcinfo, která spustí dotaz RPC a zobrazí registrované služby RPC. Kontrolovat můžete lokální vzdálené hosty.

Chcete-li zkontrolovat lokálního hosta, spusťte příkaz rpcinfo:

Chcete-li zkontrolovat vzdáleného hosta, zadejte jeho adresu, například za klíčem -p. Při použití klíče -s se výstup zobrazí ve zkrácené podobě. Příklad výstupu příkazu rpcinfo s klíči -p a -s:

Možnosti utility rpcinfo najdete v nápovědě, kterou lze vyvolat příkazem man rpcinfo (také man rpcbind).

Kontrolu lokálního hosta lze navíc provést pomocí utility ss (netstat). Použití a popisy klíčů pro tento utility lze rovněž nalézt v nápovědě man. Níže je uveden příklad (záhlaví příkazu je pro přehlednost přidáno zvlášť):

Jak vypnout portmapper

Chcete-li zakázat a odebrat portmapper (rpcbind) při startu systému v distribucích, které používají systemd, jako jsou Debian, RHEL, Ubuntu, CentOS, Fedora, Gentoo atd., spusťte příkaz systemctl stop rpcbind.service:

Poté zastavte soket příkazem systemctl stop rpcbind.socket.

Pomocí příkazů systemctl disable rpcbind.service a systemctl disable rpcbind.socket jej odstraníte z automatického spouštění.

Pokud používáte spouštěcí skripty v souboru /etc/init.d, můžete službu zastavit příkazem /etc/init.d/rpcbind stop.

V distribucích založených na Debianu ji můžete z autostartu odstranit pomocí příkazu update-rc.d -f rpcbind remove.

V distribucích RedHat jej můžete odstranit pomocí příkazu chkconfig rpcbind off.

Po vypnutí služby portmapper a spuštění příkazu rpcinfo se zobrazí chybové hlášení:

Jak omezit připojení k portmapper

Pokud službu portmapper stále potřebujete, můžete k ní omezit přístup například tak, že povolíte připojení pouze určitým IP adresám. To lze provést pomocí síťového filtru omezením přístupu k portu 111.

Příklady příkazů pro omezení protokolu UDP pro IPv4:

Zpráva o pravopisné chybě

Následující text bude zaslán naší redakci: