Linux-сервер своими руками — страница 101 из 119

This is a MIME-encapsulated message

-=NEXT=AVPCHECK=2002=184=1025707050=1225=0= Content-Type:text/plain Content-Transfer-Encoding:US-ASCII

User [email protected] send to user evg. mail with virus.

---------------------

KAV report:

---------------------

kern386.exe infected: Win95.CIH.1035

---------------------

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

В файле протокола /var/log/kavkeeper–[date].log вы также найдете сообщения о вирусе.

Программу AVPKeeper можно настроить по-разному: для автоматического удаления вирусов и удаления вирусов вручную. В первом случае пользователь, отправивший сообщение с вирусом, получает уведомление об этом, сообщение о найденном вирусе направляется администратору, а само сообщение (вместе с ним и вирус) удаляется. Во втором случае происходит все так же, как и в первом, но сообщение не удаляется, а переадресовывается администратору. Второй режим рекомендую использовать, если у вас уйма свободного времени и вашим хобби является исследование вирусов. Эти режимы можно задать в файле kavkeeper.ini. Более подробную информацию вы можете получить, прочитав документацию на программу AVPKeeper.

23Прочие возможности

23.1. SATAN

Нет, в этой главе мы будем говорить не о религии. Программа SATAN, как могло вам показаться с первого взгляда, ничего общего с религией не имеет. SATAN (Security Administrator Tool for Analyzing Networks) — это утилита для анализирования сети и выявления дыр в различных узлах. SATAN представляет собой мощный сетевой сканер, который сканирует порты всех компьютеров вашей (и не только вашей) сети и информирует вас о возможной дыре в системе безопасности того или иного узла.

Итак, давайте приступим к установке программы. Сразу же скажу, что если вы не знакомы с программированием на С, вам будет трудно установить эту программу. Данная программа распространяется в исходных текстах. Никогда нельзя быть уверенным в том, что программа, прекрасно работающая на FreeBSD, откомпилируется и будет корректно работать в Linux, несмотря на мобильность языка С. Все же, если вы обладаете хотя бы небольшими навыками в программировании, можно изменить исходные тексты, «заточенные» под FreeBSD так, чтобы они смогли работать в Linux. В Интернет можно найти «пропатченную» версию SATAN для Linux, однако эта версия еще хуже собирается, чем версия для FreeBSD. Мы же поступим следующим образом: скачайте обе версии — для FreeBSD и для Linux. Версию для Linux можно загрузить по адресу:

http://www.ibiblio.org/pub/packages/security/Satan-for-Linux/satan-1.1.1.linux.fixed2.tgz

Версия для FreeBSD доступна на сайте автора — http://www.fish.com/satan. Распакуйте версию для Linux и перейдите в каталог satan-1.1.1. Затем введите команду:

perl reconfig

На что в ответ вы получите сообщение, что у вас не установлен Perl версии 5, хотя на вашей машине, скорее всего, уже будет установлена более поздняя версия. Первые изменения нужно сделать в файле reconfig. He вдаваясь в тонкости программирования на Perl, просто закомментируйте строки 51…70: начиная со строки:

for $dir (@all_dirs) {

и по строку:

Idle "\nCan't find perl5! Bailing out…\n" unless $PERL;

Эти строки обеспечивают поиск интерпретатора Perl. Если Perl у вас установлен в каталог, отличный от /usr/bin, то перед строкой:

print "\nPerl5 is in $PERL\n";

добавьте строку:

$PERL=/path-to-perl/

Таким образом переменной $PERL будет присвоено имя каталога Perl. Затем перейдите в каталог src/boot и откройте файл boot.с. В нем нужно найти и закомментировать следующую строку:

char *strchr();

Она находится в самом начале файла (строка 24).

Потом замените файл /src/fping/fping.c одноименным файлом из дистрибутива SATAN для FreeBSD. Следующий шаг — найдите и закомментируйте следующие строки (у меня это строки 189…191):

#ifndef SYS_ERRLIST_DECLARED 

extern char *sys_errlist[]; 

#endif

Кажется, все. Если вдруг компилятор выдаст вам примерно такое сообщение:

structure has no member named 'th_sport' (или 'th_dport')

то член структуры th_sport замените на source, a th_dport — на dest. Структуpa tcphdr (TCP Header) — это описание заголовка TCP. В BSD член структуры, обозначающий порт-источник называется th_sport, а в Linux этот элемент структуры называется source (аналогично, элемент th_dport называется dest). Структура tcphdr описана в файле /usr/include/netinet/tcp.h.

Теперь можно ввести команду:

make linux

Параметр linux — это цель для сборки программы SATAN для операционной системы Linux.

Если сборка программы прошла без ошибок, приступите к изменению путей программ, необходимых для SATAN. Пути прописаны в файле config/paths.pl.

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

Листинг 23.1. Файл paths.pl

$FINGER="/usr/bin/finger" ; 

$FTP="/usr/bin/ftp"; 

$RPCINFO="/usr/sbin/rpcinfo";

$RUSERS="/usr/bin/rusers";

$SHOWMOUNT="/usr/sbin/showmount";

$YPWHICH="/usr/bin/ypwhich";

$NSLOOKUP="/usr/bin/nslookup";

$XHOST="/usr/bin/X11/xhost";

$PING="/bin/ping";

$MOSAIC="/usr/bin/netscape";

$TCP_SCAN="bin/tcp_scan";

$UDP_SCAN="bin/udp_scan";

$FPING="bin/fping";

$NFS_CHK="bin/nfs-chk";

$YP_CHK="bin/yp-chk";

$SAFE_FINGER="bin/safe_finger";

$MD5="bin/md5";

$SYS_SOCKET="bin/sys_socket";

$BOOT="bin/boot";

$GET_TARGETS="bin/get_targets";

$TIMEQUT="bin/timeout";

$SATAN_CF="config/satan.cf"; 

$SERVICES="config/services";

Для работы SATAN вам необходим браузер Netscape. Подойдут также Mosaic и Lynx, но лучше использовать Netscape. Для запуска SATAN введите ./satan

Никаких параметров при этом указывать не нужно. При запуске SATAN становится HTTP-сервер и запускает браузер Netscape, перенаправляя его на себя. Порт сервера SATAN выбирается случайным образом. Поскольку SATAN при запуске становится Web-сервером, можно попытаться «зайти» на этот сервер, подобрав номер порта. Однако при этом у вас ничего не выйдет — нужно еще знать идентификатор сессии: SATAN разрешает работать только с определенным идентификатором, который создается при каждом запуске SATAN.

Сканировать порты имеет право только пользователь root. В открывшемся окне Netscape вы увидите Панель управления SATAN (см. рис. 23.1). Выберите пункт Data Management и создайте новую базу данных, с которой вы будете работать. Введите имя базы данных (имя по умолчанию — satan-data) и нажмите на кнопку «Open/Create».

Рис. 23.1. Панель управления SATAN


После создания базы данных результатов можно приступить к выбору цели для сканирования. Перейдите на страницу Target Selection. Вы увидите окно, в котором нужно ввести узел для сканирования и уровень сканирования (см. рис. 23.2).

Рис. 23.2. Выбор цели


Сканировать можно как отдельный узел, так и всю подсеть, в которой находится узел. Уровень сканирования может быть легким (light), средним (normal) и высоким (heavy). Установив необходимые параметры, нажмите на кнопку «Start the scan».

Сканирование производится примерно так: сканер SATAN получает всю возможную информацию о заданном узле, потом, если задан режим сканирования подсети, начинает сканировать всю сеть. Весь это процесс отобража-ется в окне браузера Netscape. Время сканирования зависит от режима сканирования и размера сети. Например, отдельный узел локальной сети в режиме light сканируется несколько секунд.

После сканирования я рекомендую вам выйти из SATAN, зарегистрироваться в системе как обыкновенный пользователь (сейчас вы были зарегистрированы как пользователь root), заново запустить SATAN и спокойно просматривать результаты сканирования (Reporting and Data Analysis). Долго работать с SATAN под пользователем root не рекомендуется, как и переходить на другой сайт, не завершив работу SATAN. При переходе на другой узел Netscape передаст ему переменную HTTP_REFERER, в которой будут указаны идентификатор сессии и номер порта сервера SATAN.