Инструментальные средства защиты
Категория: Безопасность | Автор: admin | 11-06-2010, 22:55 | Просмотров: 3756

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

 

Программа nmap: сканирование сетевых портов

 

Программа nmap является сетевым анализатором. Ее основная функция заключается в проверке указанных сетевых узлов на предмет того, какие ТСР-и UDP-порты на них прослушиваются серверными программами. За большинством сетевых сервисов закреплены "известные" порты, поэтому данная информация позволяет узнать о том, какие программы выполняются на компьютере.

Запуск программы nmap — отличный способ узнать, как выглядит система в глазах того, кто пытается ее взломать. В качестве примера ниже показан отчет, выданный этой программой на самом обычном, относительно незащищенном компьютере:

 

% nmap -sT hostl.uexample.com

Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)

Interesting ports on hostl.uexample.com (10.10.2.1):

Port       State    Protocol     Service

7          open     tcp          echo

9          open     tcp          discard

13         open     tcp          daytime

19         open     tcp          chargen

21         open     tcp          ftp

23         open     tcp          telnet

25         open     tcp          smtp

...

513        open     tcp          login

Nmap run completed — 1 IP address  (1 host up)  scanned in 1 second

 

 

Аргумент -sT сообщает программе nmap о необходимости подключиться к каждому TCP-порту на указанном узле. Как только соединение устанавливается, программа nmap немедленно отключается, что не очень корректно, зато безболезненно для правильно написанного сетевого сервера.

Как следует из приведенного выше примера, на узле hostl.uexample.com выполняется несколько серверов, являющихся традиционными источниками проблем безопасности системы: ftpd (ftp), rlogind (login) и, очевидно, sendmail (smtp). Таким образом, потенциальные направления удара уже ясны.

Колонка State (состояние) содержит запись open (открыт) для портов, с которыми связаны серверы, запись unfiltered (не фильтруется) для портов без серверов и запись filtered (фильтруется) для портов, доступ к которым невозможен из-за наличия брандмауэра. Чаще всего встречаются нефильтруемые порты. Они отображаются лишь в том случае, если их относительно немного. Приведем результат запроса к более защищенному коммерческому Web-серверу www.aexample.com:

 

% nmap -sT hostl.uexample.com

Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/) (Not showing ports in state:  filtered)

Port       State         Protocol     Service

53         unfiltered    tcp          domain

80         open          tcp          http

179        unfiltered    tcp          bgp

443        open          tcp          https

 

Nmap run completed — 1 IP address  (1 host up) scanned in 122 seconds

 

 

Ясно, что узел сконфигурирован на обработку только Web-трафика. Брандмауэр блокирует доступ к остальным портам. Трафик протоколов DNS и BGP пропускается, но нет серверов, которые бы его принимали. В идеальном случае брандмауэр должен блокировать трафик всех неиспользуемых сервисов (как DNS и BGP в данном примере), чтобы соответствующие порты не оказались захваченными для других целей.

Помимо стандартного опроса TCP- и UDP-портов программа nmap способна проверять порты по-хакерски, не устанавливая с ними реального соединения. В большинстве случаев посылаются пакеты, которые выглядят взятыми из уже имеющегося TCP-соединения (это не квитирующие пакеты), а затем проверяются полученные в ответ диагностические пакеты. Таким способом можно обойти брандмауэр или программу мониторинга сети, которая контролирует появление сканеров портов. Если в вашей организации имеется брандмауэр, не поленитесь проверить его работу в разных режимах сканирования.

Программа nmap обладает магической способностью угадывать, какая операционная система установлена на удаленном узле. Это делается путем анализа деталей реализации стека TCP/IP. Чтобы проверить работу программы nmap в этом режиме, воспользуйтесь опцией :

 

% nmap -О disaster mrhat lollipop

Starting nmap V. 2.12 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)

Interesting ports on disaster.xor.com (192.108.21.99):

...

Remote operating system guess: HP-UX 11.00

Interesting ports on mrhat.xor.com (192.108.21.2):

...

Remote operating system guess: BSDI 4.0

Interesting ports on lollipop.xor.com (192.108.21.48):

...

Remote operating system guess: Solaris 2.6 - 2.7

 

Nmap run completed — 3 IP addresses (3 hosts up)  scanned in 5 seconds

 

 

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

 

SAINT: выявление слабых мест сетевых систем

 

SAINT (Security Administrator's Integrated Network Tool — интегрированный пакет для безопасного администрирования сети) — это обновленная и улучшенная версия программы проверки сетевой защиты, SATAN (Security Administrator Tool for Analyzing Networks — инструментарий администратора для анализа безопасности сети), выпущенной в 1995 г. и вызвавшей море жалоб. Исходная версия SATAN была написана Даном Фармером (Dan Fanner) и Витсом Венема (Wietse Venema). Сопровождением программы занимается компания World Wide Digital Security, Inc., с Web-узла которой (www.wwdsi.com) ее можно загрузить. Бесплатно!

Подобно утилите nmap, SAINT опрашивает компьютеры в сети, чтобы узнать, какие серверы на них запущены. Но в то же время программа многое знает о серверных утилитах UNIX и об их недостатках. Она ищет наиболее типичные случаи неправильного конфигурирования, приводящего к снижению безопасности, а также проверяет наличие известных ошибок.

Отчет программы SAINT как бы содержит инструкции по взлому системы, поэтому ряд администраторов считает, что лучше запустить ее или подобную ей программу (например, Nessus, которая рассмотрена ниже) раньше, чем это сделают хакеры.

Пользовательский интерфейс SAINT является полностью Web-ориентированным, в связи с чем для работы программы требуется Web-броузер. Присутствие утилиты nmap не обязательно, но если таковая имеется, она будет использована. По заявлениям разработчиков, программа SAINT работает и с утилитами пакета Samba (если они инсталлированы), обеспечивая проверку Windows-машин.

 

Nessus: сетевой сканер следующего поколения

 

Рено Дерезон (Renaud Deraison) разрабатывает пакет Nessus, в котором реализуются многие функциональные возможности SAINT. Однако с архитектурной точки зрения пакет Nessus понятнее и проще, а кроме того, в нем предусмотрена возможность последующих расширений. Этот пакет доступен на Web-узле www.nessus.org.

Мы познакомились с ранним (версии до 1.0) выпуском Nessus и обнаружили, что он еще не совсем готов к полноценной эксплуатации. Пока не ясно, насколько удачным получится финальная версия и сможет ли она вообще завоевать популярность, но мы считаем необходимым упомянуть о пакете из-за его модульной архитектуры, позволяющей сторонним фирмам добавлять собственные модули проверки. Если сообщество пользователей станет создавать и накапливать базы сценариев для Nessus, пакет сможет функционировать долгое время, не требуя постоянных обновлений.

 

Программа crack: поиск ненадежных паролей

 

Поскольку большинство производителей продолжает выпускать системы, в которых зашифрованные пароли выставлены на всеобщее обозрение, злобные хакеры запросто могут провести их сравнение со словами зашифрованного словаря. Один из способов предупреждения подобных неприятностей — провести это сравнение самостоятельно и потребовать от пользователей сменить пароли, которые окажутся раскрытыми. Программа crack, написанная Алеком Маффеттом (Alec Muffett), для выявления неудачных паролей использует ряд широко известных приемов.

Даже если зашифрованные пароли скрыты от всеобщего обозрения в файле теневых паролей, не лишним будет проверить их надежность с помощью программы crack. Знание пользовательского пароля может помочь администратору в обнаружении слабых мест в системе, ведь пользователи стремятся многократно использовать одни и те же пароли. Единый пароль применяется для доступа к другой системе, шифрования файлов в начальном каталоге, доступа к финансовой информации в Internet и т.д. Стоит ли говорить о том, насколько это неразумно с точки зрения безопасности. Но кому хочется запоминать десять разных паролей?

На момент написания данной книги текущая версия программы crack имеет номер 5.0а. Ее можно найти по адресу

ftp://coast.cs.purdue.edu/pub/tools/unix/pwdutils/crack/

Будьте осторожны: программа записывает расшифрованные пароли в текстовом виде. Поэтому их нужно надежно защищать и по возможности сразу же удалять.

 

Программа tcpd: защита Internet-сервисов

 

Программа tcpd, часто называемая пакетом "TCP-оболочек", позволяет регистрировать подключения к таким TCP-сервисам, как telnetd, rlogind и fingerd. Кроме того, она позволяет задавать перечень систем, которые имеют право устанавливать подключения. Обе эти возможности очень полезны при выслеживании нежелательных гостей. Программа tcpd написана уже упоминавшимся Витсом Венема и доступна на узле ftp.porcupine.org. Она является стандартным компонентом Red Hat и FreeBSD (находится в каталоге /usr/ports/security/tcp_wrapper).

Программа tcpd легко инсталлируется и не требует внесения изменений в действующие сетевые утилиты. Она работает в связке с демоном inetd. Достаточно модифицировать файл /etc/inetd.conf, чтобы вместо реального сетевого сервера выполнялась tcpd. Перед запуском соответствующего сервера программа выполняет необходимые операции регистрации и проверки безопасности. Например, если соответствующая строка в файле /etc/inetd.conf имеет вид

telnet stream   tcp   nowait   root  /usr/sbin/in.telnetd   in.telnetd

 

то ее можно заменить такой строкой:

telnet stream   tcp      nowait    root       /usr/sbin/tcpdin.telnetd

 

Результирующий журнальный файл (его имя должно быть задано в файле /etc/syslog.conf) будет выглядеть примерно так:

 

Nov 12 08:52:43 chimchim in.telnetd[25880] : connect from tintin.Colorado.EDU

Nov 12 19:19:44 chimchim in.telnetd[15520]: connect from

Nov 12 23:48:45 chimchim in.telnetd[19332]: connect from

Nov 13 20:14:57 chimchim in.telnetd[2362]: connect from 130.13.13.11

 

 

Встроенные TCP-оболочки в HP-UX

 

В HP-UX есть версия демона inetd, в которой реализованы схожие функциональные возможности. Ее параметры задаются в файле /var/adm/inetd.sec. Записи файла имеют следующий формат:

 

сервис allow|deny имя_компьютера|адрес имя_компъютера|адрес ...

 

Необходимо, чтобы имя сервиса присутствовало в файле /etc/services или /etc/rpc. Любое указываемое имя компьютера должно быть полностью определенным (например, moomin.xor.com).

Понимаются подстановочные знаки и обозначения диапазонов. Так, выражение "192.108.21.*" соответствует всем узлам указанной сети класса С, а выражение "192.108.21.1-50" — ее первым пятидесяти узлам.

Комментарии обозначаются символом решетки (#) и должны стоять в отдельной строке. Не допускается задавать несколько строк описания одного сервиса. В расчет берется лишь самая последняя строка. Если сервис не упомянут в файле, к нему может подключаться кто угодно.

В следующих строках разрешается удаленная регистрация, но только для двух сетей, а также запрещается доступ к демону sprayd со стороны двух компьютеров:

 

login       allow     192.108.21.*    192.225.33.*

sprayd      deny      192.108.21.5    freddy.xor.com

 

 

По умолчанию демон inetd в HP-UX не ведет журнальную регистрацию соединений, но при вызове с флагом -l он начнет направлять в систему Syslog соответствующие сообщения от имени средства "facility" и с приоритетом "info". Сообщения об отказах на доступ к сервисам регистрируются с приоритетом "notice".

 

COPS: аудит системы защиты

 

COPS (Computer Oracle and Password System — система проверки компьютеров и паролей) — это написанный Даном Фармером пакет программ, которые осуществляют мониторинг различных компонентов системы защиты UNIX. С помощью демона cron пакет можно запускать каждую ночь.

Стандартизируя и упрощая способы простых проверок, пакет COPS экономит время администратора, избавляя его от необходимости выполнять операции вручную. К сожалению, активная разработка пакета прекращена, но он остается удобным инструментом, позволяющим выявлять множество классических проблем безопасности. Запустите его до того, как это сделает кто-нибудь из пользователей.

COPS предупреждает о потенциальных проблемах (но не делает попытки их устранить), посылая администратору письмо по электронной почте. В число подлежащих контролю атрибутов входят:

  • права доступа к файлам, каталогам и устройствам;
  • содержимое файлов /etc/passwd и /etc/group;
  • содержимое системных стартовых сценариев и crontab-файлов;
  • возможность записи в начальные каталоги пользователей.

 

После инсталляции пакета COPS администратору каждую ночь будет приходить отчет о степени защищенности системы, имеющий примерно такой вид:

 

ATTENTION:

Security Report from host raja.xor.com

 

Warning!    Root does not own the following file(s): /etc

Warning!   "."  (or current directory)  is in root's path!

Warning!    /var/spool/mail is _World_ writable!

Warning!    /etc/utmp is _World_ writable!

Warning!   User randy's home directory /home/staff/randy is mode 0777!

Warning!    Password file,  line 8, no password:

runmailq::33:10:,,,:/home/staff/runmailq:/bin/csh

Warning!    /usr/bin/uudecode creates setuid files!

Warning!    Password Problem: Guessed: beth shell:  /bin/csh

 

 

В пакет COPS входит экспертная система Kuang, которая предназначена для выявления попыток присвоения обычными пользователями прав суперпользователя. Дополнительную информацию о пакете можно найти по адресу

http://dan.yosemite.ca.us/cops

 

Программа tripwire: контроль изменений в системных файлах

 

Программа tripwire, написанная Джином Кимом (Gene Kim) и Джином Спаффордом (Gene Spafford) из университета Пердью, контролирует права доступа и контрольные суммы важных системных файлов, благодаря чему можно легко обнаружить замененные, поврежденные или подделанные файлы. Например, программа tripwire позволяет определить, что злоумышленник заменил программу /bin/login копией, которая записывает пароли в секретный файл.

Программа tripwire сверяется с базой данных, где записаны характеристики и контрольные суммы файлов на момент создания последней. Файлы, подлежащие частым изменениям (например, /etc/utmp), в конфигурационном файле программы, могут быть особым образом помечены — в таком случае предупреждения для них генерироваться не будут. В случае изменения конфигурации системы или инсталляции новой программы базу данных следует перестроить.

Каталог, где расположена база данных и конфигурационный файл программы tripwire, по возможности должен монтироваться с безопасного сервера в режиме "только для чтения". При этом условии хакерам будет сложнее замести следы и остаться незамеченными.

Программу tripwire нужно настроить так, чтобы она каждую ночь посылала администратору по электронной почте отчет. Вот типичный пример такого отчета:

 

# tripwire

Tripwire(tm) ASR (Academic Source Release)  1.3.1

File Integrity Assessment Software

(c) 1992, Purdue Research Foundation, (c) 1997, 1999 Tripwire Security Systems,  Inc. All Rights Reserved. Use Restricted to

Authorized Licensees.

### Phase 1:     Reading configuration file

### Phase 2:     Generating file list

### Phase 3:      Creating file information database

### Phase 4:      Searching for inconsistencies

###

###              Total files scanned:       20344

###                      Files added:           0

###                    Files deleted:           0

###                    Files changed:           1

###

###            Total file violations:           1

###

changed: -rwxr-xr-x root 262184 Jan 22 12:04:42 2000 /bin/tcsh

###

### Phase 5:      Generating observed/expected pairs for changed files

###

### Attr    Observed (what it is)          Expected (what it should be)

/bin/tcsh

st_ctime:  Sat Jan 22 12:04:42 2000       Fri May 14 05:11:41 1999

 

 

В этом примере программа tripwire сообщает, что время изменения индексного дескриптора файла /bin/tcsh отличается от указанного на момент создания базы данных. Это может свидетельствовать о том, что хитрый хакер заменил исходную версию интерпретатора /bin/tcsh "троянским конем", который притаился до следующего запуска пользователем root. Сравнение контрольных сумм этого файла и его версии на дистрибутивной ленте (воспользуйтесь специальной утилитой siggen, поставляемой вместе с программой tripwire) поможет подтвердить или опровергнуть это предположение. Поскольку некоторые хакеры достаточно умны и подделывают контрольные суммы модифицированных файлов, программа tripwire использует два разных метода вычисления контрольных сумм.

История программы tripwire несколько необычна: первоначально она распространялась бесплатно, но впоследствии была приватизирована и превратилась в коммерческий продукт. К счастью, невозможно запретить то, что когда-то было бесплатным. Компания Tripwire, Inc., любезно продолжает предоставлять бесплатную версию программы и даже выпустила к ней высококлассную документацию и обновления. Все это доступно на Web-узле www.tripwiresecurity.com.

 

ТСТ: криминалистическая экспертиза

 

Еще одним полезным средством защиты стал пакет ТСТ (The Coroner's Toolkit — инструментарий следователя), написанный все теми же Даном Фармером и Витсом Венема. ТСТ — это коллекция утилит, помогающих анализировать систему после проникновения в нее нарушителя. Пакет работает в Solaris, Red Hat и FreeBSD, но не в HP-UX (пока).

С помощью пакета ТСТ можно определить, что произошло и как это случилось. Иногда даже удается восстановить данные, уничтоженные в результате нападения. Особенно интересной представляется утилита mactime, отслеживающая время изменения, доступа и модификации индексного дескриптора каждого файла в системе. На момент подготовки нашей книги к печати эта утилита еще не была готова к открытому распространению, но когда вы будете ее читать, утилита, возможно, уже появится по адресу www.fish.com/security.



 (голосов: 1)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page