2013-10-28 3 views
3

Итак, мой сервер был взломан на прошлой неделе. Хакер атаковал устаревшего стороннего редактора (в php) и внедрил скрипт backdoor в PHP и нанёс серьезный ущерб моим сайтам. Я провел целый уик-энд, читая бэкдор-скрипты и любые вредоносные коды, которые он оставил на моем сервере. И чтобы избежать взлома, я сделал следующее на своем сервере:Является ли мой сервер достаточно безопасным сейчас?

  1. отключить file_upload в PHP. Так как взломанный загрузил бэкдор через PHP, я отключил функцию в php.ini. Так что теперь я могу загружать только через ftp.

  2. disable create_function in php. Ни одна из моих программ не использует эту функцию. Хакер использовал эту функцию так же, как eval(), чтобы выполнять команды в виде строк.

  3. disable popen, exec, system, passthru, proc_open, shell_exec, show_source, phpinfo в php.ini. Эти функции в основном используются скриптом задней двери для изменения моих файлов и каталогов.

  4. Установить suhosin. Найдите юридические функции, вызываемые в eval(), поместите их в файл suhosin.executor.eval.whitelist. Хакер поместил вредоносные коды в мою программу и обрезал его с помощью base64_encode, а затем выполнил их в eval(). Поэтому я разрешаю только пару юридических функций, вызываемых в eval().

  5. Включите suhosin.executor.disable_emodifier. Хакер поместил еще один обфискованный код в мою программу и использовал модификатор preg_replace() e для выполнения любых php-команд, которые он надел в своем браузере. Поэтому он мог загружать или изменять любые файлы на сервере через свой браузер. (Поскольку я отключил file_upload, он больше не мог загружать, но все же он мог изменять и удалять файлы по своему усмотрению).

При отключении create_function, preg_replace() е модификатора и ограничение Eval(), даже есть вредоносные коды остаются неочищенными на моем сервере, хакер не мог ничего сделать. Это 3 наиболее опасных функции в PHP.

  1. Добавить .htaccess в каждой папке, но в корневой каталог и запрещающего PHP от выполняется непосредственно из браузера:

Order Deny, Allow Deny от всех

я поставил другой * после Php, потому что я нашел бэкдор-файл, который был назван missing.php.DISABLED, и это может быть выполнено, если я не ставил * после php

  1. Установите корневой каталог (единственное место, которое позволяет выполнить .php) только для чтения. Установите все файлы в этой папке только для чтения. Таким образом, хакеру не удалось загрузить какой-либо новый сценарий задней двери в единственный каталог, в котором может быть запущен php. Также он не мог изменять файлы в этом каталоге.

  2. Для входа в WordPress, я добавил

Order Deny, Allow Запретить все

позволяют с xxx.xxx.xxx.xxx

.htaccess в корневом каталоге, где xxx.xxx.xxx.xxx - это мой ip.

  1. Установить все .htaccess только для чтения.

Ну, это то, что я могу сделать, чтобы обеспечить безопасность моего сервера. Я что-то пропустил?

Благодарим вас за советы.

+0

Значит, вы защищали себя? – zerkms

+0

Никто, кроме вас, не знает, какие у вас есть другие дыры. Большинство проблем написано в коде, а не в конфигурации сервера. – deceze

+0

Где сейчас находится часть _ ", я всегда буду обновлять свой сторонний код" _? Это все еще не гарантия, но если есть какой-то урок, чтобы узнать, это так. – Halcyon

ответ

4

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

+0

Благодарим вас за советы. Есть ли способ или программное обеспечение, которое я могу найти затяжным руткитом? Как я могу предотвратить запуск этих руткитов? Я ценю ваш совет. – user2926814

+0

Нельзя полагаться на вас. Вся суть руткита заключается в том, чтобы уклониться от такого рода обнаружения, так что вы сразу попали в гонку вооружений. – regularfry

Смежные вопросы