ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как настроить на сервере Debian Linux Syslog

Как настроить на сервере Debian Linux Syslog

Когда в сетевых устройствах возникают проблемы, они генерируют сообщения об ошибках. Во многих случаях, эти сообщения об ошибках идут к вас. Такие устройства, как серверы (включая серверы Windows, с помощью утилиты, упомянутые ниже), маршрутизаторы, коммутаторы поддерживают использование «системного журнала» сервера. Сервер системного журнала является своим родом центральным хранилищем для журнала сообщений, как способ для вас, централизовать мониторинг сетевых систем и устройств. Это тип клиент/серверной установки, где устройства являются «клиентами».

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

Мало того, решить, когда сообщения отправляются, но вы также можете решить , какие сообщения клиентского устройства отправляют на основе степени тяжести. Эти уровни важности стандартизированы и идентифицируются номером и/или стандартной аббревиатурой (показано в скобках) в виде, перечисленных ниже:

0 – Emergency (emerg)
1 – Alerts (alert)
2 – Critical (crit)
3 – Errors (err)
4 – Warnings (warn)
5 – Notification (notice)
6 – Information (info)
7 – Debug (debug)

Уровень 7 в основном говорит, отправить каждый сигнал на сервер системного журнала. Это хорошо использовать, когда вы хотите проверить ваш сервер системного журнала, чтобы убедиться, что он работает.

Есть также вещи, называемые «facilities», которые свободно связаны с системными процессами, способ категоризации сообщений. Когда удаленное устройство посылает сообщение на сервер системного журнала, он включает в себя один из стандартных значений по объекту (наряду с уровнем серьезности). Некоторые из общих средств являются:

facility.severity log-file-namelocal7 используется в оборудовании Cisco и серверов Windows. Вы можете задать различные уровни важности для различных объектов, так что вы можете, например, записывать все сообщения ядра, но только аварийные сообщения от принтеров. Это делается в файле /etc/syslog.conf, используя следующий формат:

Используя пример выше для ядра и принтера, сообщения будут записываться в файл /etc/syslog.conf и будут выглядеть следующим образом :

kern.*           /var/log/example.log
lpr.emerg        /var/log/example.log

 

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

Обычно мы создаем большой раздел с именем монтирования точки «logs» только для системного журнала файлов. Вышеперечисленные записи в файле /etc/syslog.conf будут выглядеть примерно так:

kern.*           /logs/andreyex.log
lpr.emerg        /logs/andreyex.log

 

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

*. * /logs/andreyex.log

 

Сервер Syslog 

Есть две вещи, которые вы должны сделать, чтобы настроить вашу систему Debian в качестве журнала хоста. К счастью, это простые изменения в пару текстовых файлов. это:

Демон Syslog запускается при старте операционной системы по умолчанию, поскольку он также обрабатывает все локальные файлы журнала. Если вы пролистаете файлы в каталоге /var/log вы увидите, о чем мы говорим.

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

nano /etc/init.d/sysklogd

 

и найдите линию на верху:

SYSLOGD=""

 

и изменить ее на:

SYSLOGD="-r -m0"

 

(Это ноль после «m») . Затем выйдите из редактора с сохранением файла. -r  указывает SyslogD прослушивать удаленные сообщения. -m0 останавливает SyslogD от помещения в кучу раздражающей записи – метка – в файле журнала.

Для того, чтобы заботиться о втором пункте, откройте следующий файл:

nano /etc/syslog.conf

 

и добавьте следующие строки вверху:

*.emerg /var/log/andreyex.log
*.alert /var/log/andreyex.log
*.crit /var/log/andreyex.log

 

Здесь мы просто скажем демону SyslogD писать сообщения в файл andreyex.log. Если вы хотите контролировать сервера Windows и устройство Cisco, также добавить эту строку:

local7.debug         /var/log/andreyex.log

 

Мы используем уровень «debug» здесь только для тестирования, чтобы убедиться, что наш сервер получает и протоколирует сообщения. Его можно cжать позже. Теперь перезапустите демон SyslogD с помощью команды:

/etc/init.d/sysklogd restart

 

Поздравляем, вы получили себе сервер системного журнала! Вы можете проверить это путем перечисления файлов в каталоге /var/log. Вы должны увидеть файл andreyex.log там в настоящее время.

 

Клиент Syslog

Теперь у вас есть устройства и вы указать им как пользоваться, и какой уровень сообщений отправлять.

Устройства Cisco

Для коммутаторов Cisco работающих под управлением CatOS вы можете использовать консоль или телнет в коммутаторе и введите следующие команды для достижения этой цели :

set logging server <ip address of your Debian system>
set logging server severity 3
set logging timestamp enable
set logging server enable

 

Обратите внимание, что 3, это вы установите уровень серьезности. Для маршрутизаторов Cisco и коммутаторов работает IOS командами являются:

config term
logging <ip address of your Debian system>
logging trap errors
service timestamps log datetime
logging on

 

Обратите внимание, где errors, вы установите уровень серьезности.

Системы Linux

Если вы хотите настроить другие серверы Linux (или даже настольные компьютеры), чтобы быть клиентами (т.е. посылать свои сообщения на этот лог сервера Debian), нужно добавить следующую строку в файл /etc/syslog.conf:

*.*         @debianbox

 

заменив «debianbox» на имя хоста вашей системы Debian. «*. *» указывает, что все сообщения журнала будут отправлены на сервер регистрации.

Ротация файлов журнала

Syslog это демон, который работает на любой системе Linux/UNIX, для местных журналов. Параметр -r (слушать удаленные системы) является то, что превращает систему в сервер системного журнала. Там один демон, который работает с Syslog, чтобы сохранить файлы , называется logrotated. Файл журнала «Rotating» означает переименование текущего файла с добавлением 0,0 или 0,1 и т.д. в лог – файл и создание нового (или, возможно, просто сохранять добавление к нему, моментальный снимок во времени). Ведение (переименование) старого файла журнала и частоты ротации устанавливаются в параметрах, а частота вращения настраивается путем редактирования файла /etc/logrotate.conf. Если вы только регистрируете все важные ошибки с удаленных устройств, то вы можете делать их ротацию ежемесячно. Еженедельно по умолчанию. Вы также можете установить , какие из старых лог – файлов надо сохранять.

Основными параметрами в файле /etc/logrotate.conf являются:

# Ротация файлов журнала еженедельно
weekly
# Делать ротация на период последних 4 недель
rotate 4
# Создать новый (пустой) файл журнала после ротации старых
create
# Раскомментируйте, если вы хотите, чтобы ваши файлы журналов сжимались
#compress

Вы даже можете настроить разделы таким образом, что различные файлы журналов имели различные настройки. Обратитесь к странице LogRotate для деталей.

Просмотр файлов журналов

Если вы указать в файле /etc/syslog.conf, записывать все в файл, вы получите записи всех клиентских устройств, и вы будете иметь только один файл журнала для проверки всех устройств в сети.

Вместо того, чтобы перейти к самой системе Debian, чтобы посмотреть на центральном журнале FLE, вы можете сделать его доступным из любой точки сети через браузер, если Вы имеете установленный Apache на сервере системного журнала. В дополнение к установке Apache вы должны настроить его для обработки SSI (Server-Side Includes).

После того, как вы получили настроенный Apache, нам нужно создать веб – страницу, которая будет отображаться в журнале. Начните путем переименования прилагаемой домашней страницы (потому что она имеет некоторую полезную информацию о пути Apache) с помощью следующей команды:

mv /var/www/index.html /var/www/index.org

 

Затем с помощью редактора nano, создайте новую домашнюю страницу с помощью команды:

nano /var/www/index.shtml

 

(заметим , что s в расширении файла требуется для SSI) и введите в него следующее:

<html>
<head>
<title>Файл журнала Syslog</title>
</head>
<body>
<center>
<h2>
Мой журнал Syslog
</h2>
</center>
<!--#include file="andreyex.log" -->
<br>
</body>
</html>

 

Закройте редактор с сохранением файла. Ссылка на файл SSI включает директивы относительно «Document Root» в Web-сервере Apache. Другими словами, файл andreyex.log должен находиться в директории /var/www с файлом index.shtml, который содержит директиву. Создание файла журнала в Document Root вашего веб – сервера, вероятно, не лучшая идея. Как уже упоминалось выше, если вы собираетесь создать серьезный сервер журнала вы, вероятно, хотите создать отдельный большой раздел с точкой монтирования /logs для хранения файлов журнала. Возможно, самый простой способ справиться с доступом к файлу журнала с веб – страницы, это изменить настройки Document Root в Apache, чтобы указать на ту же точку монтирования  /logs. Для изменения параметра Document Root, просто откройте файл конфигурации Apache в текстовом редакторе с помощью команды:

nano /etc/apache/httpd.conf

 

и изменение линии (в разделе 2):

DocumentRoot /var/www

 

в

DocumentRoot /logs

 

и выйти из редактора с сохранением файла. Обязательно, чтобы переместить index.shtml в раздел /logs и измените файл /etc/syslog.conf, так чтобы файл журнала andreyex также сохраняkcz в раздел /logs. Для целb тестирования сделать cktle.ott:

*.*           /logs/andreyex.log

 

Теперь переходим к другой системе в сети, запустите веб – браузер, и указываете его на IP – адрес вашего сервера системного журнала: После того как вы делали изменения, придется перезапустить системную журнал и службу Apache или просто перезагрузите систему.


http://192.168.0.70

Веб – страница, включающая содержимое в файле «andreyex.log» должно появиться ( при условии, что есть что – то в ней в данный момент). Если этого не произойдет, нажмите на кнопку «View» в меню браузера и выберите «Source» и посмотрите, есть ли директива SSI указанная с HTML кодом. Это не должно быть. Если он это делает, то это означает, что Apache не правильно настроен для обрабатки директивы SSI (или вы не использовали S в расширении имени файла страницы). файлы /var/log/apache.log и /var/log/apache.err также полезны в устранении проблем с SSI.

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

Syslog также может быть источником проблем безопасности, потому ему все равно, кто посылает ему сообщение. Это не может быть большой проблемой во внутренней локальной сети, но это не надежная услуга для работы на подключенной к Интернету системе.

Exit mobile version