Назад | Перейти на главную страницу

Исследовательский вопрос для администраторов безопасности (/ etc / passwd + PHP)

В последнее время я сталкивался с несколькими проблемами на нескольких моих серверах, когда учетная запись была взломана с помощью устаревших сценариев, и хакер загружает cPanel / FTP Brute, заставляя PHP-скрипт внутри учетной записи.

Файл PHP читает / etc / passwd, чтобы получить имена пользователей, а затем использует файл passwd.txt, чтобы попытаться перебрать его до 127.0.0.1:2082.

Я пытаюсь придумать способ заблокировать это. Он не отправляет ничего, кроме «GET /path/phpfile.php», поэтому я не могу использовать mod_security, чтобы заблокировать это.

Я думал, возможно, изменить разрешения для / etc / passwd на 600, однако я не уверен, как это отразится на моих пользователях.

Я также думал об ограничении скорости соединений localhost до: 2082, однако меня беспокоит, что это повлияет на mod_proxy.

Какие-либо предложения?

Запустите некоторую форму аутентификации, которая не ищет в / etc / passwd имена пользователей, такие как LDAP. Кроме того, я бы посоветовал активировать SELinux, чтобы такие взломы ломались прямо на шаге 1 (httpd не может читать / etc / passwd с правилами по умолчанию), но cPanel ненавидит любые продвинутые попытки заблокировать систему.

Итак, первое, что нужно сделать, это исправить / удалить устаревшие скрипты, которые дали хакерам возможность и возможность загружать скрипты cPanel / PHP в первую очередь. Все после этого бодж (плохое исправление) пляшут вокруг реальной проблемы, и у вас будут продолжать возникать различные проблемы, пока она не будет исправлена.

Система ожидает /etc/passwd быть доступным для чтения всем и группам (т.е. 644 или 444 но это все еще может сломать), а /etc/shadow в котором хранятся хэши паролей должен ограничиваться 600 (владелец чтение / запись, группа и все без доступа o+rw,g-,a-).

Не имея опыта работы с cPanel, я не знаю, можно ли его ограничить с помощью модулей аутентификации PAM, чтобы ограничить количество попыток проверки пароля, чтобы сделать попытки перебора пароля бесполезными. Модуль PAM, который я имел в виду, называется pam_faildelay что замедляет несколько попыток.

Я не знаю битумная яма стилевое решение с использованием Apache и mod_security будет средством ограничения скорости доступа к входам в cPanel.

Прежде всего включить cPHULK, это поможет защитить cPanel от грубой силы. НИКОГДА измените разрешения для / etc / passwd и / etc / shadow, они установлены таким образом не просто так. SELinux добавит дополнительный уровень безопасности и предотвращает выполнение кода эксплойтами, но не может остановить эту атаку. Измените номер порта с 2082 на 2083 или что-то подобное, сценарий, который они используют, может быть не таким умным.

mod_security великолепен, но он не собирается ничего делать, чтобы остановить эту атаку.

Вы также можете установить более строгие правила для паролей. Попробуйте использовать грубую силу с помощью THC-Hydra. Если какие-либо учетные записи взломаны, отключите их и заставьте пользователя выбрать лучший пароль.