miércoles, 5 de agosto de 2015

Archivo de ejemplo para configuración de Rsyslog como cliente.

En el tema anterior vimos la lógica para el envío de archivos log, dependiendo de su tipo y criticidad. en este punto trataremos de como configurar un cliente y como se debe optimizar para el envío de solo la información necesaria.
#  /etc/rsyslog.conf    Configuration file for rsyslog.
#
#                       For more information see
#                       /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html

#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf


###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
auth,authpriv.info              @@syslog.dominio.com
auth,authpriv.*                 /var/log/auth.log
*.notice;auth,authpriv.none     @@syslog.dominio.com
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          @@syslog.dominio.com
user.*                          -/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

#
# Logging for INN news system.
#
news.crit                       /var/log/news/news.crit
news.err                        /var/log/news/news.err
news.notice                     -/var/log/news/news.notice
#
# Some "catch-all" log files.
#
*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          @@192.168.200.249 # mismo servidor pero por ip

#
# Emergencies are sent to everybody logged in.
#
*.emerg                         *

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#       news.=crit;news.=err;news.=notice;\
#       *.=debug;*.=info;\
#       *.=notice;*.=warn       /dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
#
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
        news.err;\
        *.=debug;*.=info;\
        *.=notice;*.=warn       |/dev/xconsole
viendo la anterior información debemos desglosar para comprende su funcionamiento:
En este caso hay 2 funciones, una el envió de archivos locales y la otra el envío hacia nuestro servidor syslog. en este caso lo enviaremos por TCP por comodidad y flexibilidad.
>auth,authpriv.info @@syslog.dominio.com | autenticación
todo lo que se relacione con autenticación, inicio de sesión y comandos sudo es configurado con estas líneas. en este caso si queremos que envíe todo ponemos * después del punto, sin embargo a los fines de no sobrecargar de información que se considere innecesaria se coloca al final el adjetivo info, para indicar que todo los niveles desde info en adelante serán los que se van a enviar al archivo syslog
>*.notice;auth,authpriv.none @@syslog.dominio.com | General
todos los archivos, sean daeon, kernel y otros serán enviados con esta sentencia, igualmente se coloca al final el adjetivo info, para indicar que todo los niveles desde info en adelante serán los que se van a enviar al archivo syslog. en este caso hay un punto y coma, lo cual significa que se obviaran ciertos parámetros, en cuyo caso es la autenticación que ha sido colocada aparte.
>user.* @@ssyslog.dominio.com | procesos
En este caso se indicará las aplicaciones de usuario. si no se quiere mucha información se puede configurar en notice, poniendo los mas relevantes, pero en líneas generales, este es el archivo que menos conflictos dá, a menos que se tenga un apache o un LDAP muy concurrido en cuyo caso se puede colocar la sentencia ya recomendada

Teniendo estas sencillas configuraciones ya se puede controlar el envío de información y depurar hacia nuestro servidor syslog.

Espero les sirva de ejemplo.
Nota adicional:
Archivo para PFSense
*.notice;user.err;auth,authpriv.none @192.168.200.249
auth,authpriv.info @192.168.200.249
local0.err @@192.168.200.249
local3.err @@192.168.200.249
local7.err @@192.168.200.249

 
!ntp,ntpd,ntpdate
#*.*                                %/var/log/ntpd.log
#!ppp
#*.*                                %/var/log/ppp.log
#!pptps
#*.*                                %/var/log/pptps.log
#!poes
#*.*                                %/var/log/poes.log
#!l2tps
#*.*                                %/var/log/l2tps.log
#!racoon
#*.*                                %/var/log/ipsec.log
#!openvpn
#*.*                                %/var/log/openvpn.log
#!apinger
#*.*                                %/var/log/apinger.log
#!relayd
#*.*                                 %/var/log/relayd.log
#!hostapd
#*.*                                 %/var/log/wireless.log
#!ntpd,racoon,openvpn,pptps,poes,l2tps,relayd,hostapd
local0.*                            %/var/log/filter.log
local3.*                            %/var/log/vpn.log
local4.*                            %/var/log/portalauth.log
local7.*                            %/var/log/dhcpd.log
*.notice;kern.debug;lpr.info;mail.crit;                %/var/log/system.log
news.err;local0.none;local3.none;local4.none;            %/var/log/system.log
local7.none                            %/var/log/system.log
security.*                            %/var/log/system.log
auth.info;authpriv.info;daemon.info                %/var/log/system.log
auth.info;authpriv.info                     |exec /usr/local/sbin/sshlockout_pf 15
*.emerg                                *
 
Para evitar mensajes syslog en consola
Ejecutamos:
dmesg -n 1
y para hacer permanentes los cambios
editamos
nano /etc/rc.local

tambien en algunas versiones de syslog podemos agregar la línea 

KLOGD_OPTIONS="-2 -c 1"

No hay comentarios:

Publicar un comentario