LXF71:Спецрепортаж

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Блокируем хакеров

Действительно ли нам не нужно беспокоиться о безопасности, если мы используем Linux? К сожалению, нужно, и Грэм Моррисон расскажет об инструментах, которые вам пригодятся во все более враждебном сетевом окружении.

на днях я заглянул в свои системные лог-файлы. И это было далеко не самое лучшее мгновение. они показали, что каждый день мою систему «молотит» не одна сотня атак, исходящих и от скриптов, и от реальных людей, каждый из которых пытается проломить брешь, достаточно большую, чтобы использовать ее в своих интересах. Интернет полон таких вещей.

Итак, как же защитить свою систему? Вы же не просто установили Linux и оставили все, как есть, не так ли? Не исключено, что где-то в недрах вашего компьютера есть нечто уязвимое, некое слабое место, которое может сделать вашу систему доступной из Интернета, и тогда злоумышленник сможет воспользоваться этим в своих интересах. Лучшее место для злодея, где он может найти недостатки – критические системные службы (сервисы), которые не были во время обновлены.

Люди, которые разминают руки, нарушая безопасность чужих систем, опасны, так как используют человеческую сообразительности, но скрипты еще хуже. Их постоянный «долбеж» исходит не от интеллигентного хакера, а от ранее взломанных систем, имеющих заданием поиск очередной жертвы. Прямо как вампиры.

Эквивалент чесноку и святой воде для вас – это сделать вашу систему настолько «злой», чтобы её взлом оборачивался для хакера головной болью. Достаточно сильной, чтобы он переключился на другую систему, где не реализованы подобные меры предосторожности. Для вас это будет означать, что ваш сервер проживет, борясь, еще один день.

Для большинства из нас безопасность – это попытка полностью замуровать свою систему, однако для кого-то критично не только это, и таким людям нужна не столь категоричная стратегия.

Если вам необходимо, можно построить полностью непроницаемую систему – все зависит от того, на какие компромиссы вы готовы пойти. Заблокированная система покажется очень недружественной каждому, кто работал с типичными «вольными» дистрибутивами (например, Mandriva). Но это крайность. как правило, для приемлемого уровня безопасности вполне достаточно отключить лишние сервисы и закрыть все ненужные порты брандмауэром. об этом и пойдет дальше речь.

Linux, Windows, BSD

очевидно, что компьютеров с Windows XP намного больше, чем с Linux, так что практически невозможно сказать, что случится, если это соотношение изменится на противоположное, и сообщество Linux столкнется с теми же преградами, которые сейчас приходится решать команде Microsoft. Но вы можете взглянуть на инициативы, подобные проекту Honeynet, чтобы узнать некоторые реальные показатели.

Проект Honeynet (http://project.honeynet.org) «выставляет» непропатченные (имеющие “дыры” в безопасности) компьютеры в Интернет и измеряет время, проходящее, пока система не будет скомпрометирована (взломана). По тестам, компьютеры с Windows XP без запущенного брандмауэра взламываются очень быстро, доказывая тем самым важность Service Pack 2. С запущенным брандмауэром XP выглядит заметно лучше.

Удивительно, что победителем последнего конкурса Honeynet оказался Linux-дистрибутив Linspire, система, которую часто критикуют за то, что она по умолчанию предоставляет доступ с правами root. Но во внешний мир она открывает только один порт на брандмауэре, и тот только для ping-запросов. Ни один другой сервис, даже SSH, не предоставляется, что означает отсутствие других уязвимостей. Вот почему Linspire выжила.

Но Linspire не проектировалась как веб-сервер; она амбициозно претендует на роль настольной оС. По другую сторону находится OpenBSD – инструмент, который ставит безопасность во главу угла и постоянно следит за потенциальными проблемами. как заверяет тео де раадт (Theo de Raadt), основатель OpenBSD: «Всякий раз, когда вы пытаетесь использовать отдельный метод решения проблемы, он оказывается либо слишком медленным, либо слишком сложным, и когда он становится сложным, заканчиваются проблемы с безопасностью»

уяЗвимые местА LINUX-систем
серверы, такие как Apache, запускаются в DMZ, тем самым защищая вашу локальную сеть от непосредственных соединений из интернета.
серверы, такие как Apache, запускаются в DMZ, тем самым защищая вашу локальную сеть от непосредственных соединений из интернета.
КлАСС Desktop (рабочий стол)

СлАБОе МеСтО Входящая электронная почта может содержать вирусы или троянские программы, которые могут быть случайно открыты, и популярные приложения, такие как браузер Firefox, могут быть использованы злоумышленником в своих интересах.

ПОСлеДСтВИЯ шпионские программы «тралят» ваш компьютер, отыскивая ценную информацию, такую как cookie-файлы, которые содержат информацию о соединениях, и историю браузера.

леЧеНИе поддерживайте свежий антивирус и обновляйте браузер. Попробуйте антивирус ClamAV (см. страницу 48). Убедитесь, что срок действия cookie-файлов браузера истек. уяЗвимые местА LINUX-систем

КлАСС Домашняя сеть

СлАБОе МеСтО Неправильно настроенный файрвол, который позволяет всевозможные соединения с вашей системой.

ПОСлеДСтВИЯ Персональная информация, имеющаяся на вашем компьютере, может оказаться доступной через Интернет.

леЧеНИе Закройте все ненужные порты на вашем файрволе – если вы не уверены, как это правильно сделать, следуйте инструкциям в этой статье на странице 48. ограничьте сервисы только абсолютно необходимыми.

КлАСС беспроводная веть

СлАБОе МеСтО Сеть, не использующая шифрование. Использование имени точки доступа, установленного по умолчанию, также является проблемой.

ПОСлеДСтВИЯ любой, находящийся в непосредственной близости от вашей сети, может использовать ваше Интернет-соединение, или даже просмотреть ваши файлы, что еще ужаснее.

леЧеНИе Используйте шифрование (разъясняется на стр. 52). WPA – наилучшее решение, но и WAP лучше, чем ничего. Измените имя точки доступа или полностью отключите широковещательную рассылку имени.

КлАСС Локальная сеть

СлАБОе МеСтО Небезопасные сервисы, которые могут открыть доступ к вашему Пк в вашей сети.

ПОСлеДСтВИЯ компьютеры могут оказаться под контролем из любой точки мира, и затем использоваться для рассылки спама или для проведения распределенных атак типа «отказ в обслуживании».

леЧеНИе Создайте демилитаризованную зону (DMZ, см. ниже), т.е. некоторое пространство между локальной сетью и Интернетом, исключающее необходимость в непосредственном соединении.

вопрос баланса

В действительности, все проблемы безопасности сводятся к этому вопросу. Вы могли бы отключить ваш компьютер от Интернета и знать, что вы в полной безопасности. Но в тот момент, когда вы установите соединение, вы осознаете преимущества от соединения с целым миром и потенциальную угрозу для вашей системы. Поэтому безопасность – это всегда компромисс и поиск оптимального решения.

Защити свою сеть

Почему хороший брандмауэр - единственный важнейший инструмент безопасности, который пользователь Linux может установить.

В прошлые годы почти каждый компьютер, соединенный с Интернетом, испытывался на прочность людьми и скриптами, пытавшимися получить к нему доступ. как правило, картина этих вторжений представляла собой смесь чрезвычайной любознательности и интеллектуального вызова. Эти дни давно прошли, и сегодня попытки нарушить вашу безопасность организованы уже системно, так как приносят прибыль злоумышленникам. будь это рассылка тысяч сообщений спама в день или получение управления серверами для использования их в атаках типа «отказ в обслуживании», контроль над вашей системой сейчас имеет денежное выражение.

огненная стена

как удачная метафора, слово «файрвол» (firewall, дословно – огненная стена) вошло в повседневный язык как обозначение способа защитить ваш компьютер от угроз, исходящих из Интернета. Слово точное и удачное, в сознании возникает образ непроницаемой стены без окон и дверей, защищающей вашу уголок от дремучего и полного угроз леса.

конечно, это очень сильное упрощение. Файрвол, подобный этому, ничего не пропустит ни внутрь, ни наружу. В реальной жизни данные нужно фильтровать, а не блокировать, и файрвол является тем инструментом, который принимает решение, что пропустить, а что отклонить.

Хороший пример сервиса Linux, который небезопасен при подключенном Интернете – сетевая файловая система (NFS). Эта служба невероятно полезна в локальной сети, но пока вы четко не осознаете ее возможности, включать ее в Интернете не стоит.

Локальная сеть – это ваша собственная область (домен), где вы можете объединять компьютеры с высокой степенью доверия. Переход из локальной сети в Интернет нуждается в защите файрволом, который ограничивает доступ только защищенными сервисами. Вы можете настроить его таким образом, чтобы только по SSH позволялось устанавливать соединение между Интернетом и локальной сетью.

подсКАЗКА по ЗАЩите APACHE

Некоторые программы (так называемые «роботы») анализируют историю использования вашего сайта. Многие из них собирают данные для поисковых машин и известны как пауки.

Для хорошо ведущего себя робота предполагается чтение и использование файла robots.txt в корневом каталоге вашего сайта. Этот файл сообщает роботу, какие файлы и директории могут быть изучены. Вам следует иметь файл robots.txt в корневом каталоге каждого веб-сайта. Исключите все каталоги со скриптами CGI (все, что помечено как ScriptAlias, такие как /cgi-bin), рисунки, данные для управления доступом и другое содержимое, которое не следует показывать миру.

Ниже приведен простой пример:

User-agent: *
Disallow: /image_dir
Disallow: /cgi-bin

блокирование каждого внешнего соединения к вашей системе – это всё-таки драконовская мера. Есть много ситуаций, когда вам нужно обеспечить доступ к сервисам вашей системы из Интернета, будь то веб-сервер или предоставления удаленного доступа к рабочему столу. когда вам нужно открыть порт на файрволе, акцент безопасности смещается от предотвращения угрозы к ее ограничению. Это означает, что все недоработки в плане безопасности становятся как нельзя более важными, и нужно быть постоянно готовым к обновлению любого запущенного сервиса.

Apache – замечательный пример. он отвечает за обслуживание 68% всех веб-страниц, которые мы видим в Интернете. Нечто столь основательное всегда оказывается первой целью и, конечно же, дает больше справедливых поводов для беспокойства о безопасности. Важным моментом является то, что если вы запускаете сервис, который будет доступен из Интернета, вы обязательно должны обновлять его всякий раз, когда узнаете об уязвимости.

Как использовать ClamAV

Если злонамеренная программа (malware = malicious software) не может войти в «переднюю дверь», она попытается найти другой путь.Лучший способ защититься от таких атак – это использование антивирусных программ. Существует замечательный антивирус, распространяемый по лицензии GPL, - ClamAV, который работает либо в командной строке, либо непосредственно из вашего почтового клиента.

Вы можете решить, что открытый анти- вирус, без пресловутого коммерческого «движителя», заставляющего побеждать в борьбе с угрозами безопасности, не может обеспечить такую же защиту, как платные продукты. На самом же деле, команда раз- работчиков ClamAV практически столь же надежна, как и коммерческие поставщики, делая ClamAV превосходным решением для большинства пользователей Linux.

Чтобы запустить его на своем компьютере, вам нужно сначала установить пакет (rpm, deb), либо скачать последнюю версию с сайта ClamAV (http://www.clamav.net). Самостоятельная компиляция выполняется легко, но предварительно вам нужно будет создать пользователя clamav, и после инсталляции сделать файлы данных доступными для этого пользователя:

useradd clamav
groupadd clamav
cd clamav-0.86.1/
./configure –prefix=/usr
make install
chown –R clamav /usr/share/clamav

Вам также потребуется отредактировать пару конфигурационных файлов: /usr/etc/clamd.conf и /usr/etc/freshclam.conf. Самая важная вещь – удалить или закомментировать строку Example в обоих файлах. В clamd.conf нужно проверить параметры User, LocalSocket, LogFile, LogFileMaxSize и ArchiveMaxFileSize; в то время как в freshclam.conf отрегулируйте UpdateLogFile, DatabaseOwner, DatabaseMirror и Checks.

Вы обнаружите, что значения параметров по умолчанию работают в большинстве случаев, за исключением DatabaseMirror, в который следует вставить код вашей страны (например, UK).

теперь создайте пару нужных файлов и директорий, и убедитесь, что они доступны для пользователя clamav:

mkdir /var/lib/clamav
chown –R clamav:clamav /var/lib/clamav
touch /var/log/freshclam.log
chown clamav:clamav /var/log/freshclam

теперь вы сможете скачать последнюю базу вирусных описаний (сигнатур), выполнив в терминале команду freshclam. Если она будет успешно запущена, вы должны увидеть что-то похожее:

ClamAV update process started at Fri Jul 22 09:39:37 2005
Downloading main.cvd [*]

Наконец, запустите оба демона ClamAV, выполнив команды freshclam –d и clamd.

Сканирование отдельных файлов выполняется с помощью команды clamscan, и вы можете убедиться, что все работает правильно, просканировав каталог test, содержащийся в скачанном архиве. Если все работает правильно, вы должны увидеть такие строки:

# clamscan clamav-0.86.1/test
-----------SCAN SUMMARY----------
Known viruses: 36088
Engine version: 0.86.1
Scanned files: 7
Infected files: 5
Data scanned: 0.00 MB
Time: 1.101 sec (0 m 1 s)

Это не займет много времени, и описанные усилия будут полностью оправданными.

мАрК КоКс о беЗопАсности APACHE

Марк Дж. кокс работает в команде безопасности Red Hat и является членом команд безопасности проектов Apache и OpenSSL. Мы спросили его, насколько уязвим Apache.

«я думаю, что многие люди воспринимают веб-сервер Apache как плохо защищенный, из-за дурного наследия прошлых «дыр», но это на самом деле миф. Apache Software Foundation объявляет проблемы безопасности критическими, если их можно использовать для удаленного доступа к серверу; то, что может эксплуатировать какой-либо «червь». Это также соответствует и тому, как Microsoft определяет критические уязвимости. В истории выпущенных версий сервера Apache, начиная с версии 1.3.0 в 1998 году и до июля 2005-го было обнаружено только пять критических уязвимостей:

Пакетные файлы Windows

Март 2002, Apache 1.3

Эта «дыра» может быть использована на системах Windows, которые используют пакетные bat-файлы как CGI-сценарии. Ошибка кодирования «чанка» (chunk) Июнь 2002, Apache 1.3 и 2.0 Атакующий может послать злонамеренный запрос, который на некоторых системах семейства BSD может привести к выполнению произвольного кода.

Фильтрация устройств MS-DOS

январь 2003, Apache 2.0

только на платформах Windows удаленный атакующий может выполнить произвольный код, посылая хитро составленные запросы.

Уязвимость в ARP

Май 2003, Apache 2.0

Эта уязвимость позволяет атакующему выполнить произвольный код, если сервер использует модули, такие как mod_dav.

Переполнение «кучи» IPv6

Сентябрь 2004, Apache 2.0

Позволяет удаленное выполнение кода на некоторых BSD-системах.

Вы можете видеть, что, запустив Apache на Linux, вы подвергаетесь только одной из перечисленных опасностей. однако, как администратор сервера, вы наверняка будете использовать другое программное обеспечение, взаимодействующее с веб-сервером Apache; например, если вы запускаете безопасный сервер, вы будете использовать OpenSSL. В прошлом этот пакет имел ряд критических проблем с безопасностью; последняя была выявлена в июле 2002 года и впоследствии использовалась червем Slapper.

Для защиты от будущих червей некоторые поставщики Linux начали предоставлять расширенную защиту. Fedora Core использует ряд оборонительных технологий на различном уровне, разработанных для предотвращения общей эксплуатации недостатков, таких как переполнение буфера и двойное освобождение, и рандомизацию, пытаясь уменьшить риск вторжения червей путем добавления разнородностей. Fedora Core даже по умолчанию использует целевую политику SELinux, чтобы защитить Apache. Но и учитывая все это, очень важно поддерживать систему в актуальном состоянии, и лучший способ избежать того, чтобы быть пойманным на той или иной уязвимости, – это подписаться на списки анонсов безопасности для программного обеспечения, которое вы используете. Поставщики дистрибутивов Linux поддерживают собственные списки рассылки, и они объясняют, как каждая проблема влияет, в частности, на данный дистрибутив»

Укрепите свою систему

Шифруй свои файлы

4 упреждающих инструмента безопасности

что нужно сделать для повышения безопасности

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию