====== Как заблокировать/выключить 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