Книга: Linux глазами хакера
Листинг 12.4. Содержимое файла /etc/rc.d/initd/syslog
Листинг 12.4. Содержимое файла /etc/rc.d/initd/syslog
# /bin/bash
. /etc/init.d/functions
[ -f /sbin/syslogd ] || exit 0
[ -f /sbin/klogd ] || exit 0
# Source config
# Загрузка конфигурационного файла
if [ -f /etc/sysconfig/syslog ] ; then
. /etc/sysconfig/syslog
else
SYSLOGD_OPTIONS="-m 0"
KLOGD_OPTIONS="-2"
fi
RETVAL=0
umask 077
start() {
echo -n $"Starting system logger: "
daemon syslogd $SYSLOGD_OPTIONS
RETVAL=$?
echo
echo -n $"Starting kernel logger: "
daemon klogd $KLOGD_OPTIONS
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
return $RETVAL
}
stop() {
# Команды остановки сервиса
}
rhstatus() {
# Команды вывода состояния
}
restart() {
stop
start
}
...
...
Самое интересное спрятано в следующих строчках:
if [ -f /etc/sysconfig/syslog ] ; then
. /etc/sysconfig/syslog
else
SYSLOGD_OPTIONS="-m 0"
KLOGD_OPTIONS="-2"
fi
Здесь происходит проверка. Если файл /etc/sysconfig/syslog существует, то используются опции загрузки из этого файла, иначе явно задаются в строке:
SYSLOGD_OPTIONS="-m 0"
Здесь в кавычках указываются параметры. Чтобы добавить ключ -r
, измените строку следующим образом:
SYSLOGD_OPTIONS="-m 0 -r"
Если файл /etc/sysconfig/syslog существует, то в нем будет такая же строка, и вам достаточно внести изменения туда, и не надо будет трогать сценарий запуска /etc/rc.d/init.d/syslog.
Использование выделенного сервера для сохранения сообщений из журналов позволяет как скрыть записи, так и сделать их доступными для всеобщего просмотра. Дело в том, что сообщения передаются по сети в незашифрованном виде. Это не проблема, если вы отделены от Интернета сетевым экраном и злоумышленник не смог проникнуть внутрь сети. Но если ему удалось взломать хотя бы один компьютер в защищенной сети, то хакер может установить программу прослушивания и увидеть все сообщения в журналах.
Вопрос решается достаточно просто, если зашифровать трафик, направив его через туннель SSL. Самый простой вариант — выполнить следующие действия:
? на сервере, отправляющем сообщения, в конфигурационном файле прописываем пересылку сообщений на локальный компьютер:
*.* @localhost
? все сообщения будут передаваться на локальный компьютер, т.е. самому себе на 514 порт UDP. Чтобы все работало верно, сервер не должен находиться в режиме приема сообщений, т.е. запущен без ключа -r
. Иначе порт 514 будет занят, а нам это не нужно;
? на 514 порту локального компьютера запускаем stunnel
-клиент:
stunnel -c -d 127.0.0.1:514 -r loagserver:1050
Все сообщения, полученные на этот порт, будут шифроваться и передаваться на порт 1050 компьютера loagserver
. В вашем случае вместо имени loagserver
нужно указать адрес вашего сервера;
? на компьютере loagserver
создаем stunnel
-сервер:
stunnel -d 1050 -r 127.0.0.1:514
После этих действий stunnel
-сервер будет получать зашифрованные сообщения на 1050 порт и в расшифрованном виде направлять их на порт 514. На сервере loagserver
сервис syslogd
должен быть запущен с ключом -r
для приема сообщений на 514 порту.
Теперь все сообщения будут передаваться по сети в зашифрованном виде.
- Листинг 4.2. Содержимое конфигурационного файла
- Листинг 5.3. Файл конфигурации
- Листинг 10.3. Содержимое файла
- Листинг 12.4. Содержимое файла
- Листинг 14.2. Конфигурационный файл
- Листинг 14.3. Содержимое файла
- Разработка записной книжки в формате текстового файла
- Содержимое, разбивающее на секции
- 5.3.4. Конфигурирование клиента SSH
- 5.4.1. Конфигурирование xinetd
- 10.3. Основные настройки wu-ftp-сервера
- 10.5.1. Запрет доступа реальным пользователям