Делаем систему пуленепробиваемой! Shaman (aka_shaman@mail.ru) Xakep, номер #058, стр. 058-078-2 Устанавливаем: make install && install-log sxid Конфигурация хранится в файле /etc/sxid.conf, однако редактировать там ничего не надо - по умолчанию даны оптимальные установки. Теперь прописываем вызов sxid в cron, если не хотим каждый день запускать ее вручную. Анализируем файлы Анализ файлов регистрации событий является одной из важнейших и одновременно одной из самых нудных задач администратора. В настольной системе дневной объем лог-файлов не такой большой, и их можно просмотреть вручную. Однако на постоянно включенном сервере дневной объем лог-файлов может составлять до нескольких мегабайт, и в этом случае их просмотр будет отнимать много времени. К счастью, существуют программы для автоматизации ревизии лог-файлов, такие как logcheck. Logcheck - программа для автоматического запуска и проверки лог-файлов на предмет событий безопасности и необычной активности. Она содержит программу logtail, которая запоминает последнюю позицию, считанную из лог-файла, и использует ее при следующем запуске для получения новой информации. Скачиваем: www.psionic.com/products/logsentry.html. Перед компиляцией необходимо поправить Makefile, внеся следующие изменения: INSTALLDIR=/etc/logcheck INSTALLDIR_SH=/usr/local/bin TMPDIR=/etc/logcheck/tmp Кроме того, 67 строка должна выглядеть так: @if [ ! -d $(TMPDIR) ]; then /bin/mkdir -p $(TMPDIR); fi Устанавливаем: make linux && install-log logcheck Теперь надо изменить переменные в основном скрипте - /usr/local/bin/logcheck.sh. Внеси следующие изменения: TMPDIR=/etc/logcheck/tmp HACKING_FILE=/etc/logcheck/logcheck.hacking VIOLATIONS_FILE=/etc/logcheck/logcheck.violations VIOLATIONS_INGORE_FILE=/etc/logcheck/logcheck.violations.ignore IGNORE_FILE=/etc/logcheck/logcheck.ignore Также необходимо изменить пути к лог-файлам. По умолчанию в LFS все события фиксируются в файле /var/log/sys.log, поэтому закомментируй все, что относится к Red Hat (строки 169-171), и добавь следующее: #LFS-3.3 $LOGTAIL /var/log/sys.log > $TMPDIR/check.$$ Все, скрипт готов к употреблению. Пропиши его в cron для запуска каждый час и получай отчет по почте! Шифрование Теперь займемся поддержкой шифрования. OpenSSL - некоммерческая реализация протоколов SSL (Security Sockets Layer) и TLS (Transport Layer Security) с полной криптографией. Скачиваем: www.openssl.org/source/openssl-0.9.7.tar.gz. Устанавливаем: perl util/perlpath.pl /usr/bin После этого надо отредактировать файл Configure для оптимизации. В строке 331 замени опцию -m486 на -march=i686 -mcpu=i686 для оптимизации. ./Configure linux-elf -DSSL_FORBID_ENULL --prefix=/usr --openssldir=/etc/ssl && make && make install && install-log openssl OpenSSL, как ты знаешь, используется для поддержки шифрования почти во всех программах - начиная от SSH и заканчивая почтовыми клиентами. Ни для кого не секрет, что программа telnet, призванная решать ежедневные административные задачи, передает данные в открытом виде, что делает их доступными для электронного прослушивания (sniffing). Программа SSH, которая была создана для замены программ telnet, rlogin, rsh, rexec полностью решает эту проблему, шифруя передаваемые данные. Кстати, раз уж речь зашла об r-программах, поделюсь своими наблюдениями. rlogin читает файл .rhosts, который находится в домашней директории и содержит ip-адреса машин, с которых возможен вход без пароля. На первый взгляд это удобно, но при подмене ip-адреса (spoofing) атакующий может получить шелл. Об этом написано во всех книгах по безопасности, об этом не раз писал и X. Однако во всех дистрибутивах Linux эти программы устанавливаются по умолчанию. Спрашивается - зачем? Дистрибутивы тащат за собой софт, который повсеместно не используется уже несколько лет. Отсюда получается большой объем системы и необходимость начинать настройку безопасности с удаления старых неиспользуемых программ. OpenSSH - это свободно распространяемая реализация SSH. |