rsyslog cisco

Настройка Rsyslog

Установка

  1. Установите службу rsyslog на сервер
apt install rsyslog -y

Настройка сервера

  1. Разрешите rsyslog ожидать сообщений от других устройств
    1. Раскомментируйте следующие строки в файле /etc/rsyslog.conf:
# udp
module(load="imudp")  
input(type="imudp" port="514")  
 
# tcp
module(load="imtcp")  
input(type="imtcp" port="514")
  1. Настройте приём логов с клиента в файл пример /var/log/devices/SRV2.log. Файл нужно создать.
    1. Создайте файл /etc/rsyslog.d/devices.conf и укажите в нем следующее:
if ($fromhost-ip contains "192.168.2.62") then {
        /var/log/custom/dump.log
}
 
if ($fromhost-ip contains "192.168.2.65" and ($msg contains"dovecot" or $msg contains "postfix")) then {
        /var/log/custom/mail.log
}
  1. Перезагрузить службу rsyslog!
service rsyslog restart

Прием локальных логов на примере DHCP

  1. Изначально нужно настроить DHCP
  2. Добавить прием логов
local7.*               /var/log/custom/dhcp.log
 
# /var/log/custom/dhcp.log можно заменить на ip удаленного сервера

Настройка клиента

  1. Установите rsyslog на клиента
  2. В конфигурационном файле /etc/rsyslog.conf укажите сервер на который отправлять все логи:
# Допишите перед следующей строчкой:
# *.*;auth,authpriv.none          -/var/log/syslog
 
# Вот такую строчку
*.*;auth,authpriv.none          @192.168.1.1
 
# по протоколу TCP
*.*;auth,authpriv.none          @@192.168.1.1
  1. Перезагрузите службу

Проверка получения логов

  1. На SRV2 (клиенте) перезапустите службу SSH

    1. Проверьте что логи появились в файле SRV2.log на SRV1
  2. На SW1 (клиенте) отключите и включите интерфейс идущий к SRV2

    1. Проверьте что логи появились в файле SW1.log на SRV1

Настройка передачи логов с Cisco

  1. Настройте на коммутаторе передачу логов на сервер:
# Указываем
# адрес сервера
logging host 192.168.1.1

# и уровень логирования
logging trap 6

# Включаем
logging on
  1. На сервере добавляем сохранение логов с коммутатора в каталог: /var/log/devices/SW1.log

SSL

Установка

apt install rsyslog-gnutls -y  

Сервер

# /etc/rsyslog.conf  
# нужно убрать принятие логов с tcp и udp  
global(  
	DefaultNetstreamDriver="gtls"  
	DefaultNetstreamDriverCAFile="/ca/ca.crt"  
	DefaultNetstreamDriverCertFile="/ca/rsyslog.crt"  
	DefaultNetstreamDriverKeyFile="/ca/rsyslog.key"  
)  
  
# load TCP listener  
module(  
	load="imtcp"  
	StreamDriver.Name="gtls"  
	StreamDriver.Mode="1"  
	StreamDriver.Authmode="anon"  
)  
  
# start up listener at port 6514  
input(  
	type="imtcp"  
	port="6514"  
)  

Клиент

# /etc/rsyslog.conf  
action(
    type="omfwd" 
    protocol="tcp" 
    target="192.168.1.1" 
    port="6514" 
    StreamDriver="gtls" 
    StreamDriverMode="1" 
    StreamDriverAuthMode="anon"
)  
 
# убирать не надо 
*.*;auth,authpriv.none @192.168.1.1