Estoy tratando de averiguar cómo fue comprometido. Instalaron IptabLes e IptabLex en /boot
.
También agregaron /etc/init.d/IptabLes
y /etc/init.d/IptabLex
que simplemente llaman a los respectivos archivos /boot
. Parece que este ataque usa una gran cantidad de ancho de banda (probablemente un DDoS); Lo noté de inmediato.
El servidor ejecuta CentOS 6.5 con todas las actualizaciones más recientes.
Ejecuta logstash
, redis
, ElasticSearch
y Cherokee
servidor web que sirve Kibana.
Estoy pensando que debe ser ElasticSearch o el servidor web Cherokee.
El puerto ElasticSearch (9200) estaba abierto al mundo, porque Kibana lo requiere para ver los buenos gráficos. Los puertos Redis (6379) estaban restringidos a solo 5 hosts conocidos a través de iptables.
El servidor web Cherokee se ejecuta en el puerto (8080), no es el predeterminado de 80 y estaba abierto al mundo.
SSH no parece estar comprometido. El servidor usa claves y no autentica contraseña.
esta permitido. Ejecutamos SSH en el puerto 2020, que aparece como (xinupageserver) en iptables.
Aquí están las reglas de iptables. Aviso redis está restringido a servidores web,
pero http a través de Cherokee (webcache) y ElasticSearch (wap-wsp) están abiertos.
➜ ~ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:xinupageserver
ACCEPT tcp -- web1.mydomain.com anywhere tcp dpt:6379
ACCEPT tcp -- web2.mydomain.com anywhere tcp dpt:6379
ACCEPT tcp -- web3.mydomain.com anywhere tcp dpt:6379
ACCEPT tcp -- web4.mydomain.com anywhere tcp dpt:6379
ACCEPT tcp -- web5.mydomain.com anywhere tcp dpt:6379
ACCEPT tcp -- anywhere anywhere tcp dpt:wap-wsp
ACCEPT tcp -- anywhere anywhere tcp dpt:webcache
ACCEPT icmp -- anywhere anywhere icmp echo-request
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Muchas gracias por la ayuda.