====== Как заблокировать/выключить RPCBIND ====== ==== Что ещё за rpcbind? ==== - https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/ch-nfs#ftn.fn-portmap2rpcbind - https://www.opennet.ru/man.shtml?topic=rpcbind&category=1 - https://www.linux.org.ru/forum/admin/13124766?lastmod=1484112752488#comment-13124944 ==== DDoS? ==== - https://www.securitylab.ru/news/474336.php - Преступники используют сервис Portmapper для увеличения мощности DDoS-атак - https://www.lowendtalk.com/discussion/87542/rpc-portmapper-ddos-vulnerability-correction Наверное да. Достаточно увидеть китайский IP в strace, чтобы начать всё блокировать munmap(0x7f4379efb000, 4096) = 0 sendmsg(6, {msg_name(16)={sa_family=AF_INET, sin_port=htons(46668), sin_addr=inet_addr("103.250.4.112")}, msg_iov(1)=[{"Z\330'\216\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\1\206\240"..., 864}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_IP, cmsg_type=, ...}, msg_flags=0}, 0) = 864 poll([{fd=5, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=6, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=7, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=8, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=9, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=10, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=11, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 7, 30000) = 1 ([{fd=6, revents=POLLIN|POLLRDNORM}]) recvmsg(6, {msg_name(16)={sa_family=AF_INET, sin_port=htons(46668), sin_addr=inet_addr("103.250.4.112")}, msg_iov(1)=[{"Z\330'\216\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\3\0\0\0\4\0\0\0\0\0\0\0\0"..., 9000}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_IP, cmsg_type=, ...}, msg_flags=0}, 0) = 40 open("/etc/hosts.allow", O_RDONLY) = 12 fstat(12, {st_mode=S_IFREG|0644, st_size=580, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4379efb000 read(12, "# /etc/hosts.allow: list of host"..., 4096) = 580 read(12, "", 4096) = 0 close(12) = 0 munmap(0x7f4379efb000, 4096) = 0 open("/etc/hosts.deny", O_RDONLY) = 12 fstat(12, {st_mode=S_IFREG|0644, st_size=880, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4379efb000 read(12, "# /etc/hosts.deny: list of hosts"..., 4096) = 880 read(12, "", 4096) = 0 close(12) = 0 ==== Как всё это безобразие заблокировать? ==== Всё как в этих ваших Fallout'ах. Убить, купить, договориться. **Удалить** yum remove rpcbind apt-get remove postmap (Debian 6) apt-get remove rpcbind **Отключить** # Для модных систем с systemd systemctl stop rpcbind systemctl disable rpcbind # Для старых deb-систем /etc/init.d/rpcbind stop update-rc.d -f rpcbind remove # Для старых систем времен мамонтов /etc/init.d/portmap stop update-rc.d -f portmap remove # Для цементоса service rpcbind stop chkconfig rpcbind off **Разрешить доступ только для опредленных адресов** iptables -A INPUT -p udp -s 127.0.0.1 --dport 111 -j ACCEPT iptables -A INPUT -p udp -s 192.168.1.1/24 --dport 111 -j ACCEPT iptables -A INPUT -p udp -s A.C.A.B --dport 111 -j ACCEPT iptables -A INPUT -p udp --dport 111 -j DROP ==== UPD can still be activated by: rpcbind.socket ==== # systemctl disable rpcbind # systemctl stop rpcbind Warning: Stopping rpcbind.service, but it can still be activated by: rpcbind.socket fix # systemctl stop rpcbind.socket # systemctl disable rpcbind.socket