GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečení rpcbind (dříve portmap, port 111).

Úvod:

Často používám souborový systém NFS mezi servery stejné vnitřní sítě. Ale protože mít rpcbind otevřený na internetu je považováno za nejisté, potřeboval jsem ho chránit. Mohl jsem to udělat s firewallem, ale jelikož je to jediná služba, kterou jsem chtěl chránit před přístupem k internetu, nechtěl jsem se pro tento úkol obtěžovat firewallem a rozhodl jsem se místo toho použít starý dobrý systém TCP Wrappers: hosts.allow a hosts.deny soubory.

Metoda:

– Odepřít přístup k rpcbind všem (provedeno v /etc/hosts.deny )
– Povolit 2 výjimky:hostitelé v mé místní síti (provedeno v /etc/hosts.allow )

Předpoklady:

Server NFS je připojen k internetu a k naší interní LAN (192.168.100.0/24) a má IP:12.34.56.78 (jen příklad) a 192.168.100.1.
Dva hostitelé, kterým chci povolit připojení k serveru NFS jsou 192.168.100.2 a 192.168.100.3
V této soukromé síti LAN mám ještě jeden server (192.168.100.4), kterému by nemělo být povoleno připojení k serveru NFS.

Kroky:

Upravte (nebo vytvořte, pokud neexistuje) soubor /etc/default/rpcbind a přidejte následující řádek:
OPTIONS="-w -l -h 192.168.100.1"
Upravte soubor /etc/hosts.allow a přidejte následující řádek:
rpcbind: 192.168.100.2 192.168.100.3
Upravte soubor /etc/hosts.deny a přidejte následující řádek:
rpcbind: ALL

Ověření konfigurace:

Přihlaste se k libovolnému jinému serveru ve stejné místní síti LAN (žádný z výše uvedených povolených serverů) řekněme z 192.168.100.4 a zadejte následující příkaz:
rpcinfo -p 192.168.100.1
Výstup:
rpcinfo: can't contact portmapper: rpcinfo: RPC: Authentication error; why = Client credential too weak
Poté se přihlaste na libovolný internetový server (např. na 45.67.78.89) a vyzkoušejte příkaz:
rpcinfo -p 12.34.56.78
Výstup:
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
Nyní se přihlaste na jednom ze 2 povolených serverů (např. 192.168.100.3) a zadejte příkaz:
rpcinfo -p 192.168.100.1
Výstup:
rpcinfo -p 192.168.100.1
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 49123 status
100024 1 tcp 55198 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
....... and so on

Good news: Vidíme, že 192.168.100.4 a jakýkoli internetový server se nemohou připojit k rpcbind, ale 192.168.100.3 je povoleno.

Další informace:

Jen pro zábavu, podívejme se na protokoly:
grep rpcbind /var/log/auth.log
Výstup:
Oct 7 20:51:30 nfsserver rpcbind: connect from 192.168.100.4 to dump(): request from unauthorized host
Oct 7 20:51:56 nfsserver rpcbind: connect from 45.67.78.89 to dump(): request from unauthorized host
Oct 7 20:53:24 nfsserver rpcbind: connect from 192.168.100.3 to dump()

Nyní zkontrolujeme konfiguraci TCP Wrappers pro hostitele 192.168.100.2
tcpdmatch rpcbind 192.168.100.2
Výstup:
client: address 192.168.100.2
server: process rpcbind
access: granted

Výsledek:
rpcbind služba je nyní chráněna a přístupná pouze ze 2 serverů připojených k naší interní LAN.


Linux
  1. Je Qubes OS bezpečnější než provozování sady virtuálních počítačů souvisejících s aktivitou?

  2. Jak připojit více složek pomocí nfs4 na centos?

  3. Jak zjistím celkový počet TCP spojení pro daný port a časové období podle IP?

  1. TCP wrapper kromě volby

  2. Obrovské množství TIME_WAIT připojení říká netstat

  3. Jak provést přesměrování portu z jedné IP na druhou IP ve stejné síti?

  1. Díky Linuxu budou počítače dostupnější a udržitelnější

  2. Objevte živé hostitele v síti pod Linuxem

  3. Jak zabezpečit službu SSH pomocí funkce Port Knocking