Sto cercando di capire come è stato compromesso. Hanno installato IptabLes e IptabLex in /boot
.
Hanno anche aggiunto /etc/init.d/IptabLes
e /etc/init.d/IptabLex
che chiamano semplicemente i rispettivi file /boot
. Sembra che questo attacco usi molta banda (probabilmente un DDoS); L'ho notato immediatamente.
Il server esegue CentOS 6.5 con tutti gli ultimi aggiornamenti.
Esegue logstash
, redis
, ElasticSearch
e Cherokee
server web che serve Kibana.
Penso che debba essere ElasticSearch o Cherokee web-server.
La porta ElasticSearch (9200) era aperta al mondo, perché Kibana lo richiede per visualizzare i grafici carini. Le porte Redis (6379) erano limitate a soli 5 host conosciuti tramite iptables.
Il server web Cherokee gira su port (8080) non predefinito di 80 ed era aperto al mondo.
SSH non sembra essere compromesso. Il server utilizza le chiavi e l'autenticazione senza password
È permesso. Eseguiamo SSH sulla porta 2020, che è elencata come (xinupageserver) in iptables.
Ecco le regole di iptables. Notare che redis è limitato agli host Web,
ma http via Cherokee (webcache) e ElasticSearch (wap-wsp) sono aperti.
➜ ~ 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
Grazie mille per l'aiuto.