эта страница доступна на следующих языках: English Castellano Deutsch Francais Nederlands Russian Turkce |
автор 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
платформе - решения предлагаются хорошие и правильные ). Что касается других
платформ - решения не всегда будут подходящими.
Вот пример одного уязвимого компьютера :
Еще одно достоинство приложения - оно работает с подключаемыми модулями, что
позволяет обновлять их при обнаружении очередных 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 - файле.
В этой части мы поговорим о написании скриптов - основном навыке любого
системного администратора. 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
Невозможно упомянуть обо всех источниках информации. Можно лишь сказать, что
все сайты подобны матрешкам - на каждом множество ссылок на другие.
Если какие - либо приложения не были упомянуты - лишь потому, что я их не
тестировал. Конечно необходимо тщательно выбирать среди множества доступных.
Цель заметки - показать читателям отправные точки пути улучшения
безопасности сетей и отдельных компьютеров.
|
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:
|
2000-12-26, generated by lfparser version 2.3