Мой сервер Wordpress EC2, вероятно, был взломан. При беге iftop
Я вижу, что мой сервер отправляет и получает данные с имени хоста «i157panamamails.com».
Это имя хоста никогда не исчезает и потребляет много трафика. Я хочу запретить серверу связываться с этим именем хоста и полностью его запретить. Я попробовал поставить deny from
в .htaccess и перезапустите сервер Apache2 (используя Ubuntu 10.0), но это не помогло, я все еще вижу, что соединение с именем хоста активно. Возможно, соединение не от Apache2, но насколько я знаю, это единственный установленный сервер.
Как я могу запретить серверу отклонять это имя хоста?
Больше информации:
в etc/hosts
У меня только 127.0.0.1
в etc / resolve.conf у меня есть:
nameserver [some_ip_address] <--- этот IP-адрес для EC2, поэтому здесь нет проблем
домен ec2.internal
поиск ec2.internal
IP-адрес в resol.conf не соответствует имени хоста
Использование команды lsof на порту 22/21/80 Не удается найти имя хоста в соединениях. Порт 21 имеет одно соединение для прослушивания пользователем root, но порт 21 не открыт в группах безопасности EC2, а порт 443 (HTTPS) не имеет подключений
Кажется, что соединение не на 80-м порту apache, потому что lsof показывает только мое соединение в определенный период времени, и я вижу, что соединение для этого имени хоста все еще активно в сетевой печати. Я предполагаю, что другое программное обеспечение, которое действует как сервер, может инициализировать это соединение на уже открытом порту 80, который не связан с Apache.
Запуск NetHogs на eth0 показывает мне, что программа sshd: ubuntu @ pts1 под пользователем ubuntu
который постоянно получает и отправляет данные (не Apache2). Выглядит подозрительно
Я также заметил много соединений (~ 50) от ПРОГРАММЫ 37: 80- [ip_addresses] на 80-м и других портах. Эти ПРОГРАММЫ не отправляют и не получают данные (большинство из них)
Блокировка имени хоста в host.deny не помогла
Обновить: Я узнал IP и заблокировал его в IPtables (как OUTPUT, так и INPUT). IP-сервер не отправляет данные на этот IP-адрес, но он получает 240 байтов каждую секунду или около того.
Вы должны попробовать iptables для быстрого исправления.
iptables -A OUTPUT -d 202.54.1.22 -j DROP
В EC2, если вы работаете в VPC, вы можете редактировать свой ACL на лету и заблокировать этот IP.
Однако, если вас действительно взломали, это только первый шаг. Взгляните на процесс, который выполняет эти подключения, lsof поможет, выясните, почему он запущен и кто его установил, и при необходимости удалите его с вашего компьютера.
Второй шаг - усилить вашу безопасность: - обновите wordpress до последней версии; для этой платформы есть несколько популярных эксплойтов - изменить все пароли IAM и основной учетной записи - повернуть все ключи доступа aws и ключи ssh - убедиться, что вы не можете использовать ssh с паролями - если возможно, разрешите ssh только с определенных IP-адресов через группы безопасности
Хорошо, во-первых, вы можете запустить tcpdump на своем сервере для анализа трафика.
tcpdump -s 65535 -w ~/traffic_capture.pcap
Затем вы можете прочитать из этого файла с помощью команды:
tcpdump -vv -r ~/traffic_capture.pcap
или загрузите его на свой компьютер и проверьте с помощью wirehark.
Также вы можете использовать iptables для регистрации всего вашего исходящего трафика (вот правило):
iptables -A OUTPUT -j LOG
По умолчанию журнал этого трафика будет в /var/log/kern.log.
Также вы можете запустить iftop с флагом -n, который предотвратит выполнение iftop поиска имени хоста.
Цитата из manpages iftop:
By default, iftop will look up the hostnames associated with addresses
it finds in packets. This can cause substantial traffic of itself, and
may result in a confusing display. You may wish to suppress display of
DNS traffic by using filter code such as not port domain, or switch it
off entirely, by using the -n option or by pressing r when the program
is running.
Если вы уверены, что у вас есть какая-то оболочка или вредоносное ПО, вы можете попробовать использовать maldet или ai-bolit для проверки на наличие вредоносных программ в каталогах apache.
Это может быть исходящее соединение, а не входящее. Проверьте активность ниже:
Помимо этих мер реагирования, я также рекомендую вам установить программное обеспечение для обнаружения вторжений на основе хоста, такое как OSSEC, для обнаружения несанкционированного доступа и изменений в вашей системе.