Безопасность и оптимизация Linux.Редакция для Red Hat

       

Физические твердые копии всех важных файлов регистрации


Один из важнейших аспектов защиты – это целостность лог файлов, расположенных в /var/log. Если взломщик преодолел все ваши оборонительные редуты, то вся ваша надежда остается на них. Поэтому очень важно продумать методы, которые позволят вам контролировать целостность лог файлов. Если на вашем сервере установлен сервер печати или подобный сервер есть в сети, то можно создавать твердые копии всех, на ваш взгляд, важных логов. Это легко осуществить имея принтер с непрерывной подачей бумаги и пере направляя все сообщения syslog в /dev/lp0. Взломщик может изменить на сервере любые файлы, программы, но он ничего не сможет поделать с бумагой.

Пример:

Регистрация всех telnet, почтовых, ssh соединений и загрузочных сообщений с вашего сервера на принтере подключенном к нему.

Редактируйте файл syslog.conf (vi /etc/syslog.conf) и добавьте в его конец следующую строку:
authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0

И перезагрузите syslogd демон, чтобы изменения вступили в силу:
[root@deep]# /etc/rc.d/init.d/syslog restart

Пример:

Регистрация всех telnet, почтовых, ssh соединений и загрузочных сообщений с вашего сервера на принтере удаленного сервера, находящегося в вашей сети.

Если вы не имеете принтера в вашей сети, то можно перенаправлять все syslogd- сообщения на удаленный сервер. Для этого, во-первых, добавьте в файл syslogd.conf вышеприведеднную строку, только замените в ней /dev/lp0 на имя или адрес удаленного сервера. Во-вторых, запустите на удаленном сервере демон syslogd с опцией –r. Используя этот метод вы легко можете собирать все логи на одной машине, что существенно облегчает администрированием. Редктируйте файл syslog.conf (vi /etc/syslog.conf) на удаленном сервере (например, mail.openarch.com) и добавьте в его конец следующую строку:
authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0

По умолчанию, syslogd демон не принимает сообщения от удаленных компьютеров. Для включения этого добавьте опцию –r при запуске syslogd:

Вместо
daemon syslogd -m 0


Используйте:
daemon syslogd -r -m 0

Перезапустите syslogd демон, чтобы изменения вступили в силу:
[root@mail]# /etc/rc.d/init.d/syslog restart

Если на удаленном сервере настроен брандмауэр, то необходимо добавить в него следующее правило: ipchains -A input -i $EXTERNAL_INTERFACE -p udp \ -s $SYSLOG_CLIENT \ -d $IPADDR 514 -j ACCEPT

где,
EXTERNAL_INTERFACE="eth0" в файле настроек firewall-а.
IPADDR="208.164.186.2" в файле настроек firewall-а.
SYSLOG_CLIENT=”208.164.168.0/24" в файле настроек firewall-а.

Сейчас перезагрузите firewall на удаленном сервере, чтобы сделанные изменения вступили в силу.

Это правило разрешает удаленному серверу принимать сообщения от клиента на порт 514 (порт сервиса syslog). Для получения большей информации о firewall-е читайте главу 7 .

В заключение, редактируйте файл /etc/syslog.conf вашего локального сервера, добавив в его конец следующую строку:
authpriv.*;mail.*;local7.*;auth.*;daemon.info @mail

где mail имя удаленного сервера. Теперь, если взломщик сотрет все лог файлы вашего сервера, у вас останутся их копии на другой машине. По ним вы сможете отследить кто и какие действия предпринял.

Перезагрузите syslog демон, чтобы изменения вступили в силу:
[root@deep]# /etc/rc.d/init.d/syslog restart

Так же ка и на удаленном сервере, вам надо добавить новое правило для fireall-а и на локальной машине: ipchains -A output -i $EXTERNAL_INTERFACE -p udp \ -s $IPADDR 514 \ -d $SYSLOG_SERVER 514 -j ACCEPT

где
EXTERNAL_INTERFACE="eth0" в файле настроек firewall-а.
Where IPADDR="208.164.186.1" в файле настроек firewall-а.
Where SYSLOG_SERVER="mail.openarch.com" в файле настроек firewall-а.

Перезагрузите брандмауэр, чтобы изменения вступили в силу:
[root@deep]# /etc/rc.d/init.d/firewall restart

Это правило разрешает прохождение исходящих пакетов к удаленному серверу на порт 514 (порт syslog сервиса).

Для получения большей информации о firewall-е читайте главу 7 .

Замечание: никогда не используйте в качестве syslog сервера маршрутизирующие сервера. При использование sysklogd программы существует множество опций. Для получения более подробной информации читайте man-ы к sysklogd (8), syslog(2 и syslog.conf(5).

Установка прав доступа к скриптам запуска сервисов, расположенных в каталоге “/etc/rc.d/init.d”.

Установите права доступа к скриптам, которые отвечают за запуск и остановку сервисов:
[root@deep]# chmod -R 700 /etc/rc.d/init.d/*

Только пользователю root позволено читать, записывать и запускать эти скрипты. Я не думаю, что обычным пользователям необходимо знать об их содержании.

Замечание. Если вы устанавливаете новую программу или обновляете существующую, которая использует инициализационные скрипты System V, расположенные в /etc/rc.d/init.d/, то не забудьте проверить и при необходимости изменить права доступа к ним.


Содержание раздела