Q: Что может светить за нелегальное сканирование портов?
A: Сканирование портов – нарушение порядка в сети. Ты можешь возмутиться, мол, я же ничего не сделал – просто посмотрел состояние портов. В лучшем случае админ удаленного сервера ничего не заметит, но, если на сервере стоит утилита, отслеживающая скан, сисадм может пресечь твою деятельность, отписав провайдеру. Часто у провайдера имеется так называемый регламент, в котором есть пункт, оговаривающий сканирование. Так что, учитывая серьезность ситуации, тебя могут отключить от сети. Впрочем, физическое отключение – довольно редкое явление, но все же я рекомендую сканировать порты с удаленного шелла консольной программой (например, nmap’ом).
Q: Существуют ли специальные услуги по проверке серверов на прочность?
A: Да, такие услуги оказываются. Например, компания Positive Technologies (www.ptsecurity.ru) предлагает взломать сервер всего за $1000. Сотрудники компании пытаются хакнуть заказчика, получить там шелл и стащить конфиденциальную информацию, которая бы являлась доказательством того, что взлом удался. Эта услуга была названа «penetration testing». Естественно, проверить свой сервер на дырки – удовольствие дорогое. Клиентами займутся сотрудники PT и SecurityLab. Они гарантируют абсолютную конфиденциальность и полноту тестирования. На рынке присутствуют и другие компании: Digital Security (www.dsec.ru), НПО «Информзащита» (www.infosec.ru). Впрочем, можно пойти другим путем – пригласить знакомого хакера, если таковой имеется.
Q: Я залил руткит на сервер, а новые бинарники перестали запускаться. Что мне теперь делать?
A: Искать бэкапы. Руткиты, выполненные в виде прекомпиленных бинарных файлов, ненадежны. То есть вполне возможно, что кит не переварится новыми глибсами. Бывает, что бинарник объявит об отсутствии какой-либо библиотеки, а иногда может вообще не запуститься. В этом случае ищи бэкап системы на другом носителе либо вручную переустанавливай испорченные файлы. А затем воспользуйся другим руткитом, на основе LKM, например.
Q: Что такое LKM-руткит?
A: Это очень полезная штука! LKM – Linux Kernel Module, руткит, построенный на нем, представляет собой набор ядерных модулей, которые после загрузки перехватывают системные вызовы, стирают себя из списка модулей и т.д. Преимущество налицо: руткит не заменяет никаких файлов, поэтому даже после переустановки бинарников хакерские модули будут работать. Только вот незадача: существует софт, который позволяет увидеть установленный в системе LKM-руткит.
Q: Наша сеть строится на хабах. Как можно фаерволом заблокировать нелегальную попытку смены IP-адреса?
A: В этом случае нужно оформлять статическую прописку ARP-таблицы. Но, раз уж ты заговорил о фаерволе, поделюсь правилом, которое привяжет нужный IP-адрес к MAC. Это достигается при помощи модуля mac.so. Рулес будет выглядеть следующим образом:
iptables –A INPUT –s 192.168.0.1 –m mac –mac-source 00:C0:DF:10:19:FB –j ACCEPT.
При желании ты можешь указать параметр -mac-desitination, чтобы разрешить соединение с узлом, имеющим определенный MAC.
Q: Хочу, чтобы мой *nix-сервер жил только на CD. Порекомендуй хороший живой дистрибутив.
A: Из «компактных» пингвинов я сталкивался только с SuSE и Knoppix. Второй порадовал меня больше: система полностью русифицирована, грузится сразу в Иксы, имеет возможность сохранять настройки на жестком диске, снабжена всеми необходимыми сервисами. Словом, то, что доктор прописал :).
Q: Я нашел бажный скрипт, но добился выполнения только команды в одно слово. Со вторым параметром запрос просто игнорируется. Что можешь посоветовать в этом случае?
A: В списке переменных окружения присутствует так называемая пустая строка $IFS. Ее и следует использовать в запросе. То есть, если бажный скрипт file.cgi имеет параметр file, принимающий лишь одно слово, реквест будет выглядеть следующим образом: http://host.com/cgi-bin/file.cgi?file=|uname$ifs-a|.
Q: Можно ли «выключить» установленный на сервере фаервол?
A: Еще как! Для этого хакеру нужны минимальные права, а также дырка в сервере :). Допустим, на машине крутится бажное ядро, а взломщик имеет доступ к Web-шеллу. Чтобы деактивировать фаервол, он заливает на сервер ptrace-эксплоит (либо какой-нибудь другой) со слегка измененным кодом. Вместо запуска /bin/sh будет стартоваться сценарий, который обращается к /etc/init.d/iptables с параметром stop. Как правило, запуск внешней команды не выносится в shell-код, так что исправить сишник сможет даже темный человек :). После компиляции и запуска сплоита фаервол должен выключиться.
Q: Я взломал сервер одной крутой компании. Уверен, что админы защитили машину на все 100%. На какие секурные процессы мне следует обратить особое внимание?
Читать дальше