Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
эта страница доступна на следующих языках: English  Castellano  Deutsch  Francais  Nederlands  Russian  Turkce  

convert to palmConvert to PalmDoc

[Photo of the Author]
автор Georges Tarbouriech

Об авторе :

Georges давно использует Unix - системы ( коммерческие и бесплатные ). Его интересуют инструменты для безопасности систем, качество которых он очень высоко ценит.

Содержание:

Инструменты для обеспечения безопасности системы

Резюме:

Безопасность системы - одна из главных задач администратора. Тем более в наше время бурного развития Internet. Немного статистики : увеличение числа пользователей, подключенных к Internet - увеличивает и число хакеров. Соответственно и разработка приложений для улучшения безопасности растет экспоненциально. Опять же, не можем не выразить благодарности сообществу свободно распространяемого программного обеспечения за предлагаемые приложения высокого качества и горы документации.
Интересные ссылки в конце заметки. Мы конечно не претендуем на исчерпывающий список. Выбранные приложения относятся к ежедневно используемым или предварительно тестированным.
Заметка предназначена как отдельным пользователям, так и системным администраторам, так как рассматриваемые приложения применимы как к отдельным компьютерам, так и к целым сетям.
Большинство приложений запускается на многих Unix ( если не все ) - как на коммерческих, так и бесплатных. И наконец - смысл заметки не " как обеспечить безопасность машины или сети ", а рассмотреть доступные приложения, которые вы можете ( обязаны ) применять для улучшения безопасности.



 

Стандартные приложения

Назовем эту часть так - "Приложения для whitehats чтобы защитить redhat от blackhats":-) Большинство дистрибутивов Linux ( не только RedHat! ) содержат набор подобных приложений. Их обычно и используют по своему прямому назначению.
Среди них мы остановимся на TCPWrapper, PAM ( Pluggable Authentication Modules ) и утилитах shadow... Так как они являются частью дистрибутивов - можно подробнее почитать об их работе в HOWTO или man pages.
Начнем с shadow утилит. Если кратко - они предназначены для шифрования паролей. Файл /etc/passwd заменяется на /etc/shadow.
Более сложное приложение - PAM. Как следует из названия - это еще одна из разновидностей аутентификации. Цель - ограничить доступ пользователей к сервисам. Настраивается через конфигурационные файлы, что упрощает использование. Обычно данные файлы находятся в каталоге /etc/pam.d.
Цель TCPWrapper - ограничить доступ определнных компьютеров к сервисам. Доступ определяется через /etc/hosts.allow и /etc/hosts.deny.
TCPWrapper настраивается перемещением демонов или изменением файла /etc/inetd.conf. Если TCPWrapper не поставляется с вашей системой - можно скачать с ftp://ftp.porcupine.org/pub/security.
А теперь вы поймете почему мы так кратко рассмотрели эти приложения - существует одно приложение выполняющее все эти функции. Называется оно - Bastille-Linux. Если вы хотите всего одно приложение - это оно и есть. Скачать можно с http://bastille-linux.sourceforge.net.
Да кстати мы ничего не сказали о нем!!! В этом нет никакого смысла, ведь мой друг Frйdйric опубликовал прекрасную заметку в сентябрьском выпуске LinuxFocus - там обо всем рассказывается.
Могу только добавить, что Bastille-Linux - приложение без которого нельзя работать!
Еще одно приложение xinetd ( доступно на http://www.xinetd.org ). Извините, но мы и здесь умолчим по той же причине - Frйdйric обо всем рассказал в ноябрьском выпуске LinuxFocus.
Это была секция FredFocus...
Не беспокойся о деньгах Fred, я могу подождать...
Идем дальше.

 

Брандмауэры

Бесплатные Unix предлагают приложения, способные превратить ваш компьютер в брандмауэр. Ядро 2.2 предлагает ipchains, а 2.0 - ipfwadm. Для того, чтобы эти приложения начали работать - необходимо скомпилировать ядро с соответствующими опциями. Рассказывать подробно о работе этих приложений нет смысла опять же из-за существования множества документации на эту тему.
Общими словами - брандмауэр это приложение фильтрующее пакеты. Самый ответственный момент при работе с ними - настройка, потому что неправильно сконфигурированный брандмауэр представляет опасность.
Тем не менее это очень важное приложение.
Возвращаясь к Bastille-Linux - предлагает брандмауэр основанный на ipchains.
Можно сделать поиск "firewall" на сайте http://www.linuxapps.com - результатом будет примерно 40 ответов. Большинство из них - всего GUI к ipchains или ipfwadm для администрирования. Но попадаются и реальные приложения, такие как например T.REX ( доступно на http://www.opensourcefirewall.com ). Еще раз напоминаю - брандмауэр обязательное приложение в сети, но безопасность не определяется ТОЛЬКО им. Хакеру достаточно 15 минут, чтобы решить эту проблему! Вас предупредили.

 

Сканеры портов

Вот мы и подошли к главному вопросу. Смысл в следующем - используйте те же инструменты, что и хакеры для проверки надежности сети ( или отдельной машины ).
Здесь мы рассмотрим два приложения, но это не значит, что других не существует.
Первое - nmap ( доступно на http://www.insecure.org ). Кроме того, на этом сайте много интересной информации и ссылок...
Приложение позволяет обнаружить открытые порты компьютера, находящегося в вашей сети. Уверен, что вы можете сделать то же самое командами lsof или netstat, но только для своего компьютера.
nmap предоставляет информацию об установленной ОС на компьютере, открытых портах. И наконец - приложение легко использовать.
Конечно наряду с консольным вариантом существует и GUI, называется nmapfe ( основан на gtk ). Текущая версия 2.53 доступна в исходных текстах, rpm, с GUI или без и работает на многих Unix.
nmap - еще одно приложение без которого нельзя работать!
Благодарность Mr. Fyodor и поздравления с хорошо выполненной работой.

Второе приложение - nessus ( доступно на http://www.nessus.org ), работает в соответствии с архитектурой клиент/ сервер, основано на Posix, существует для многих Unix и даже есть Win32 клиент ( просто для информации ).
Nessus использует nmap ( теперь вы верите! ) и gtk для своего GUI.
Текущая версия 1.06. Можно просканировать всю сеть одной командой, например набрав адрес 192.168.1 - приложение проверит все 254 компьютера в сети.
При том, что приложение гораздо сложнее nmap - использование по - прежнему такое же легкое. nessus обладает многими дополнительными свойствами - составление отчетов, поиск отличий в них, предложение решения проблемы непосредственно во время сканирования ( учитывая, что компьютер на Unix платформе - решения предлагаются хорошие и правильные ). Что касается других платформ - решения не всегда будут подходящими.
Вот пример одного уязвимого компьютера :

nessus.jpg

Еще одно достоинство приложения - оно работает с подключаемыми модулями, что позволяет обновлять их при обнаружении очередных security hole кем - либо.
Также очень рекомендованное приложение для системного администратора! Поздравления с хорошо выполненной работой Mr. Deraison и "Merci beaucoup".

Оба приложения проходили проверку на Linux - компьютере в сети с разными ОС : Linux RH 6.2, Irix 6.5.7, Solaris 2.6, NeXTStep 3.3, QNX RT, BeOS 5.0, Amiga OS 3.5, Not Terminated 4.0. Результаты впечатляют. Конечно не очень хорошо идентифицируется ОС Amiga ( появлялась как принтер или роутер ), но с другой стороны - кто все еще использует эту ОС в сети ( кроме меня ).
В любом случае эти приложения обязательны для ежедневного использования.
В конце этой части перечислим еще некоторые приложения - SARA http://www-arc.com/sara/, SATAN http://www.porcupine.org/satan/, SAINT http://www.wwdsi.com. Они не только являются сканерами портов, но могут выполнять и другую работу для улучшения безопасности сети.

 

Системы обнаружения

Некоторые приложения предназначены для обнаружения попыток сканирования портов или вторжения. Системный администратор не может обойтись без них ( уже похоже на паранойю! ).
Набор таких приложений предлагает Abacus Project ( доступны на http://www.psionic.com ) - logcheck, portsentry and hostsentry.
Текущая версия Logcheck 1.1.1, portsentry - 1.0 и hostsentry - 0.0.2 alpha.
Portsentry - приложение обнаружения попыток сканирования портов. Как следует из названия приложения - его задача при обнаружении попытки сканирования - произвести блокировку компьютера, используя или прекращение роутинга ( брандмауэр или переадресация на несуществующий IP - адрес ) или добавление IP - адреса атакующего компьютера в файл /etc/hosts.deny ( при условии, что в системе установлен TCPWrapper ). Это достаточно эффективное решение!
Приложение Porsentry настраивается через основной конфигурационный файл и несколько специальных, которые используются для игнорирования определенных компьютеров ( не то же самое. что и блокирование ) или блокирования некоторых портов на компьютерах.
В конфигурационном файле вы определяете каким образом будет работать приложение : с какими портами его связать - TCP, UDP или и те и те ( будьте осторожны при связывании с 6000 портом, если используете X11! ).
Существует два вида мониторинга портов в зависимости от используемой Unix. advanced mode в настоящее время доступен только для Linux.
Далее вы выбираете вид блокировки : блокируете сканер или нет, или выполняете внешнюю команду.
Далее способ прекращения роутинга : перенаправление на неиспользуемый IP - адрес в вашей сети или к брандмауэру.
Следующий шаг относится к TCPWrappers : вы решаете будете или нет вносить строку DENY в файл /etc/hosts.deny.
Далее выбор выполняемой внешней команды : можете выбрать trigger value для сканирования ( по умолчанию задан 0 ).
Вот в общем все, что вам необходимо сделать! Мы предполагаем. что вы все знаете о протоколировании. Другими словами - вы знаете каким образом модифицировать syslog.conf для перенаправления сообщений не в /var/log/messages, var/log/syslog или /var/adm/messages, а в другое место...
Теперь можно запустить portsentry фоновым процессом с выбранными вами опциями, которые зависят от используемой платформы : для большинства Unix - -tcp, -udp и -atcp, -audp для Linux ("a" - advanced).
Посмотрим результат сканирования компьютера с запущенным portsentry.

Если вы относитесь к типу системного администратора проверяющего log - файлы раз в неделю ( поищите другую работу!!! ) вам следует обратить внимание на следующее приложение, предлагаемое Abacus Project - logcheck. Оно запускается через cron и посылает сообщение администратору при обнаружении необычных записей в log - файле.
И наконец последнее приложение набора - hostsentry, выглядит интересно, но я его не тестировал.
Если вам нужно мощное, эффективное и простое в использовании приложение - выбирайте portsentry!
Спасибо Mr. Rowland : прекрасная работа! Да кстати, мне нравится ваш юмор.
Следующее приложение необходимое каждому системному администратору - snort, это IDS ( Intrusion Detection System - система обнаружения вторжений ), к слову сказать - достаточно компактное.
Текущая версия 1.6.3 ( доступна на http://www.snort.org ). Основное требование запуска приложения - платформа, поддерживающая libpcap. Просто информация - доступна Win32 версия.
Задача приложения - анализировать IP трафик и подробно все регистрировать.
Работа приложения основана на rules - скриптах, в которых определяются его задачи - какой трафик контролировать : входящий, исходящий, до или после брандмауэра...
Предлагаю регистрировать все!!! А если серьезно - вам решать, для " обычного" администратора чем больше тем лучше...
Теперь надо определять за "чем" следить - необходимо выбрать rules. В состав поставки snort входят разные - backdoor, ddos, finger, ftp, но не забывайте, что вы можете взять новые или update старых на сайте.
Теперь надо запустить snort фоновым процессом ( например ), с выбранным вами опциями - например для запуска snort демоном - опция -D и определить место для регистрации событий ( можно даже перенаправить на другой компьютер ).
Нет возможности рассмотреть все свойства приложения в заметке. Обратите внимание на документацию.
В любом случае это тоже приложение без которого НЕЛЬЗЯ работать. Действительно прекрасное приложение. Спасибо Mr Roesch.
Можно также упомянуть бесплатное приложение AIDE ( доступно на http://www.cs.tut.fi/~rammer/aide.html ).

 

Шифрование

Шифрование - вопрос комплексный и обеспечение осуществляется взаимодействием разных приложений. Мы не можем рассмотреть здесь все. Но все - таки несколько слов надо сказать о SSH, особенно о бесплатной версии этого приложения - OpenSSH ( доступно на http://www.openssh.com ). Текущая версия приложения 2.3.0. Первоначально было разработано для OpenBSD, но в настоящее время существует для многих Unix.
Задача приложения - заменить такие утилиты и команды как telnet, rsh, rlogin, а также включая scp - заменить и ftp и rcp. OpenSSH шифрует данные в сети, в отличии от таких утилит как telnet, rsh, которые пересылают их как есть, в том числе и пароли!
Поэтому рекомендуется использовать OpenSSH вместо них. И более того - это приложение обязательно к применению.
Единственная проблема, касающаяся таких приложений - законодательство о шифровании государств. Времена конечно меняются, но все еще в мире есть много мест, где нет достаточной свободы применения таких приложений. Например некоторое время назад вас могли принять за шпиона при использовании SSH в такой стране как Франция. К счастью такая ситуация не везде. Рекомендую тщательно изучить документ о ситуации в этой области в разных странах - http://www2.epic.org/reports/crypto2000/countries.html
Перечислю еще некоторые приложения, относящиеся к этой теме, заслуживающие рассмотрения в отдельной заметке для каждого : OpenSSL (Secure Sockets Layer) ( http://www.openssl.org ), или Strong Crypto ( http://www.strongcrypto.com ).
Конечно не следует забывать о OpenPGP ( http://www.ietf.org/html.charters/openpgp-charter.html ) или GNUpg ( http://www.gnupg.org ).

 

Скрипты

В этой части мы поговорим о написании скриптов - основном навыке любого системного администратора. Shell скрипты, Perl скрипты... - написание их является частью повседневной работы людей контролирующих работу сетей.
Также скрипты создаются для автоматизации работы и мониторинга безопасности. Каждый администратор решает свои проблемы подходящим для него способом. Но не всегда бывает легко найти решение. Могу посоветовать подписаться на журнал системного администратора! Этот журнал создается системными администраторами и для системных администраторов и предлагает множество программ, скриптов... Также можно заказать CDRom с предыдущими выпусками и конечно программами и скриптами.
Это не реклама... Просто одно из решений для улучшения безопасности. Все это на http://www.samag.com.

 

Итак

Можно еще рассказывать и рассказывать о безопасности, но как мы сказали раньше заметка не выходит под названием "Как обезопасить вашу сеть". Целой книги будет недостаточно для рассмотрения этого вопроса. Безопасность не обеспечивается только сочетанием определенных приложений, необходимо и особое поведение. Например мне интересно когда люди наконец поймут, что документы M$ Office в чем - то схожи с бомбами? Они не только огромных размеров, но и могут содержать макровирусы. Пользователи Wintel - НЕ ПОСЫЛАЙТЕ документы Word или Excel в присоединенных файлах. Кроме того, получив такой документ - НЕ ОТКРЫВАЙТЕ его - это просто совет, но не забывайте, что вы были предупреждены. Опасность таких документов соизмерима с опасностью, которую представляют исполняемые файлы, получаемые или скачиваемые вами. И кстати - обычные текстовые или html - файлы более компактны по сравнению с документами M$ Office и что самое главное - НЕ ОПАСНЫ!
Конечно я знаю как работает мир Wintel - если вам нужен отдельно драйвер - это обязательно будет исполняемый файл. Предположим, что можно доверять крупным фирмам... но где гарантии насчет скачиваемых архивов? Согласен, немного параноидальный стиль мышления, но настолько ли? Как вы думаете - зачем архивы содержат контрольные суммы?
Следующее утверждение также может задеть некоторых, но это факт - JAVA также опасен! Апплеты не безопасны, Java скрипты тоже. Интересно было бы узнать - сколько вебсайтов не используют Java. Более того - Java источник проблем посещающих эти сайты : вспомните как иногда замирает ваш браузер. Неужели это является преимуществом вебсайта?
Об ActiveX от Redmond army не будем даже говорить!
Предложение : используйте Rebol вместо (http://www.rebol.com)
Раз уж мы затронули эту тему - пожалуйста, начинающие Internet - разработчики не создавайте сайты, предназначенные для мира Wintel и IE5! Я конечно понимаю, что это все очень хорошо распространено, но тем не менее многие используют и другие ОС и другие браузеры. Если вы и дальше будете работать таким образом, считайте, что вы отгородите свои сайты от них. Главная цель Internet - обмен, совместное использование. Использование частных решений - нонсенс. По - моему мнению, первое, что должно быть принято во внимание при разработке сайта - независимость от ОС и браузеров, но это только мое мнение. Просто для информации : может возникнуть ситуация, когда вы, используя Unix и Netscrape даже не сможете загрузить начальную страницу!
Извините за отступление.
Следующий важный момент - помните, что нельзя достигнуть 100% уровня безопасности. Мы далеко от этого. Фактом является то, что мы можем улучшить ее. Например можно установить все рассмотренные нами приложения, но оставить черный ход настежь открытым. Не обманывайте себя - хакер не примется сразу же за сложные вещи, он поищет маленькую лазейку где - нибудь в другом месте. Будьте осторожны с SUID или SGID приложениями, правами доступа, работающими ненужными приложениями.
При большом сходстве разных Unix - они достаточно серьезно отличаются в вопросах безопасности. Некоторые из них похожи на сито! Этот момент также не упускайте. Мы еще не упомянули о других ОС. Исправляем ошибку : очень удобно иметь подключенный компьютер с Win* к Internet - открываем сетевое окружение и видим компьютер хакера, возможно даже с его фотографией! Шутка...
На самом деле путь к сетевой и компьютерной безопасности очень длинный, если вам интересна эта область - необходимо ежедневно повышать свой уровень знаний. К счастью есть множество сайтов с подобной информацией - вот некоторые из них.

 

Ссылки

http://www.linuxsecurity.com - первая сокровищница. Там можно найти все!

http://www.sans.org - сайт, где можно получить помощь и необходимую информацию по безопасности. Советую регулярно посещать его.

http://www.infosyssec.org - еще один сайт с документацией.

http://www.securityfocus.com - сервер Bugtraq.

http://www.cs.purdue.edu/coast/hotlist/ - этот сайт вы просто обязаны посетить!

В самом верху этой страницы есть кнопка "Links" - кликните ее и там найдете адреса большинства дистрибьюторов. Посещайте их сайты для получения информации о новых patch'ах.

Также можно посоветовать заметки из предыдущих выпусков LinuxFocus, кроме тех, о которых мы уже говорили :
Adding Security to Common Linux Distributions
TCPD and Firewalls using IPFWADM
VXE, a Linux security tool

Невозможно упомянуть обо всех источниках информации. Можно лишь сказать, что все сайты подобны матрешкам - на каждом множество ссылок на другие.
Если какие - либо приложения не были упомянуты - лишь потому, что я их не тестировал. Конечно необходимо тщательно выбирать среди множества доступных.
Цель заметки - показать читателям отправные точки пути улучшения безопасности сетей и отдельных компьютеров.

Не правда ли мы живем в великие времена?  

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech, FDL
LinuxFocus.org

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Georges Tarbouriech
en -> ru Kirill Poukhliakov

2000-12-26, generated by lfparser version 2.3