[rsyslog_server] pep-cransified + gulp
parent
44f7e0285c
commit
2095ae8f19
|
@ -28,3 +28,25 @@ loc_borg:
|
||||||
|
|
||||||
glob_prometheus_node_exporter:
|
glob_prometheus_node_exporter:
|
||||||
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
|
listen_addr: "{{ query('ldap', 'ip', ansible_hostname, 'cachan-adm') | ipv4 | first }}"
|
||||||
|
|
||||||
|
loc_rsyslog_server:
|
||||||
|
name: gulp
|
||||||
|
root: /var/log
|
||||||
|
rules:
|
||||||
|
- name: cablage
|
||||||
|
rotate: 365
|
||||||
|
ips:
|
||||||
|
- 172.16.33
|
||||||
|
- 172.16.34
|
||||||
|
programs:
|
||||||
|
- firewall
|
||||||
|
- radiusd
|
||||||
|
- dhcpd
|
||||||
|
modules:
|
||||||
|
- name: imudp
|
||||||
|
index: 53
|
||||||
|
- name: imrelp
|
||||||
|
index: 52
|
||||||
|
vars:
|
||||||
|
- name: InputRELPServerRun
|
||||||
|
value: 20514
|
||||||
|
|
|
@ -34,3 +34,25 @@ loc_borg:
|
||||||
- /etc
|
- /etc
|
||||||
- /var
|
- /var
|
||||||
- /pool/home
|
- /pool/home
|
||||||
|
|
||||||
|
loc_rsyslog_server:
|
||||||
|
name: tealc
|
||||||
|
root: /pool/logs
|
||||||
|
rules:
|
||||||
|
- name: cablage
|
||||||
|
rotate: 365
|
||||||
|
ips:
|
||||||
|
- 172.16.33
|
||||||
|
- 172.16.34
|
||||||
|
programs:
|
||||||
|
- firewall
|
||||||
|
- radiusd
|
||||||
|
- dhcpd
|
||||||
|
modules:
|
||||||
|
- name: imudp
|
||||||
|
index: 53
|
||||||
|
- name: imrelp
|
||||||
|
index: 52
|
||||||
|
vars:
|
||||||
|
- name: InputRELPServerRun
|
||||||
|
value: 20514
|
||||||
|
|
4
hosts
4
hosts
|
@ -175,6 +175,10 @@ roundcube.adm.crans.org
|
||||||
routeur-sam.adm.crans.org
|
routeur-sam.adm.crans.org
|
||||||
routeur-gulp.cachan-adm.crans.org
|
routeur-gulp.cachan-adm.crans.org
|
||||||
|
|
||||||
|
[rsyslog_server]
|
||||||
|
gulp.cachan-adm.crans.org
|
||||||
|
tealc.adm.crans.org
|
||||||
|
|
||||||
[slapd]
|
[slapd]
|
||||||
tealc.adm.crans.org
|
tealc.adm.crans.org
|
||||||
sam.adm.crans.org
|
sam.adm.crans.org
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
#!/usr/bin/env ansible-playbook
|
|
||||||
---
|
|
||||||
# tealc is the log server.
|
|
||||||
# Servers need to send their logs to tealc.
|
|
||||||
|
|
||||||
# Send logs to tealc
|
|
||||||
- hosts: server,!tealc.adm.crans.org
|
|
||||||
vars:
|
|
||||||
rsyslog:
|
|
||||||
server: 172.16.10.1
|
|
||||||
roles: ["rsyslog-client"]
|
|
||||||
|
|
||||||
- hosts: tealc.adm.crans.org
|
|
||||||
roles:
|
|
||||||
- rsyslog-server
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env ansible-playbook
|
||||||
|
---
|
||||||
|
# tealc is the log server.
|
||||||
|
# Servers need to send their logs to tealc.
|
||||||
|
|
||||||
|
- hosts: rsyslog_server
|
||||||
|
vars:
|
||||||
|
rsyslog_server: "{{ glob_rsyslog_server | default({}) | combine(loc_rsyslog_server | default({})) }}"
|
||||||
|
roles:
|
||||||
|
- rsyslog-server
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- name: restart rsyslog
|
||||||
|
service:
|
||||||
|
name: rsyslog
|
||||||
|
state: restarted
|
|
@ -9,34 +9,29 @@
|
||||||
retries: 3
|
retries: 3
|
||||||
until: apt_result is succeeded
|
until: apt_result is succeeded
|
||||||
|
|
||||||
- name: Deploy logrotate cablage config
|
- name: Deploy logrotate config
|
||||||
template:
|
template:
|
||||||
src: logrotate.d/crans.j2
|
src: logrotate.d/logrotate.j2
|
||||||
dest: /etc/logrotate.d/crans
|
dest: "/etc/logrotate.d/{{ rsyslog_server.name }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
|
|
||||||
- name: Deploy rsyslog cablage config
|
- name: Deploy rsyslog config
|
||||||
template:
|
template:
|
||||||
src: rsyslog.d/30-cablage.conf.j2
|
src: rsyslog.d/30-rules.conf.j2
|
||||||
dest: /etc/rsyslog.d/30-cablage.conf
|
dest: /etc/rsyslog.d/30-rules.conf
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
|
notify: restart rsyslog
|
||||||
|
|
||||||
- name: Deploy rsyslog listen relp config
|
- name: Deploy rsyslog modules config
|
||||||
template:
|
template:
|
||||||
src: rsyslog.d/52-listen_relp.conf.j2
|
src: rsyslog.d/50-module.conf.j2
|
||||||
dest: /etc/rsyslog.d/52-listen_relp.conf
|
dest: /etc/rsyslog.d/{{ item.index }}-module_{{ item.name }}.conf
|
||||||
mode: 0640
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
|
|
||||||
- name: Deploy rsyslog listen switches config
|
|
||||||
template:
|
|
||||||
src: rsyslog.d/53-listen_switches.conf.j2
|
|
||||||
dest: /etc/rsyslog.d/53-listen_switches.conf
|
|
||||||
mode: 0640
|
mode: 0640
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
|
loop: "{{ rsyslog_server.modules }}"
|
||||||
|
notify: restart rsyslog
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
{{ ansible_header | comment }}
|
|
||||||
|
|
||||||
# Logs Crans
|
|
||||||
|
|
||||||
# Logs pour le cablage
|
|
||||||
/pool/logs/tealc/cablage/global.log {
|
|
||||||
daily
|
|
||||||
rotate 365
|
|
||||||
compress
|
|
||||||
notifempty
|
|
||||||
missingok
|
|
||||||
create 640 root adm
|
|
||||||
postrotate
|
|
||||||
invoke-rc.d rsyslog rotate > /dev/null
|
|
||||||
endscript
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Logs centralisés
|
|
||||||
|
|
||||||
# FreeRADIUS
|
|
||||||
/pool/logs/tealc/freeradius/*.log {
|
|
||||||
weekly
|
|
||||||
rotate 365
|
|
||||||
compress
|
|
||||||
delaycompress
|
|
||||||
notifempty
|
|
||||||
missingok
|
|
||||||
postrotate
|
|
||||||
invoke-rc.d rsyslog rotate > /dev/null
|
|
||||||
endscript
|
|
||||||
}
|
|
||||||
|
|
||||||
# Logs des bornes et des switches
|
|
||||||
/pool/logs/tealc/wifi/global.log {
|
|
||||||
daily
|
|
||||||
rotate 365
|
|
||||||
compress
|
|
||||||
notifempty
|
|
||||||
postrotate
|
|
||||||
invoke-rc.d rsyslog rotate > /dev/null
|
|
||||||
endscript
|
|
||||||
}
|
|
||||||
|
|
||||||
/pool/logs/tealc/filaire/global.log {
|
|
||||||
daily
|
|
||||||
rotate 365
|
|
||||||
compress
|
|
||||||
notifempty
|
|
||||||
postrotate
|
|
||||||
invoke-rc.d rsyslog rotate > /dev/null
|
|
||||||
endscript
|
|
||||||
}
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
{{ ansible_header | comment }}
|
||||||
|
|
||||||
|
# Logs pour le cablage
|
||||||
|
{% for rule in rsyslog_server.rules %}
|
||||||
|
{{ rsyslog_server.root }}/{{ rsyslog_server.name }}/{{ rule.name }}/global.log {
|
||||||
|
daily
|
||||||
|
rotate {{ rule.rotate }}
|
||||||
|
compress
|
||||||
|
notifempty
|
||||||
|
missingok
|
||||||
|
create 640 root adm
|
||||||
|
postrotate
|
||||||
|
invoke-rc.d rsyslog rotate > /dev/null
|
||||||
|
endscript
|
||||||
|
}
|
||||||
|
{% endfor %}
|
|
@ -1,24 +0,0 @@
|
||||||
{{ ansible_header | comment }}
|
|
||||||
|
|
||||||
$template CablageFileFormat,"%TIMESTAMP:::date-rfc3339% %fromhost% %syslogtag%%msg%\n"
|
|
||||||
|
|
||||||
# Logs des switches
|
|
||||||
|
|
||||||
if $fromhost-ip startswith '172.16.33.' then /pool/logs/tealc/cablage/global.log; CablageFileFormat
|
|
||||||
|
|
||||||
# Logs des bornes
|
|
||||||
|
|
||||||
## Dropbear est atteint de logorhée, une partie de ses logs ne sont pas vitaux
|
|
||||||
if $programname contains "dropbear" and $msg contains "Exit before auth: Exited normally" then ~
|
|
||||||
if $programname contains "dropbear" and re_match($msg, "Child connection from (127.0.0.1|::1|10.231.148.102)") then ~
|
|
||||||
if $programname contains "dropbear" and re_match($msg, "Pubkey auth succeeded .* from 10.231.148.102") then ~
|
|
||||||
if $programname contains "dropbear" and re_match($msg, "Exit \\(.*\\): Disconnect received") then ~
|
|
||||||
|
|
||||||
if $fromhost-ip startswith '172.16.34.' then /pool/logs/tealc/cablage/global.log; CablageFileFormat
|
|
||||||
|
|
||||||
# Logs RADIUS
|
|
||||||
if $programname contains 'freeradius' then /pool/logs/tealc/cablage/global.log
|
|
||||||
if $programname contains 'radiusd' then /pool/logs/tealc/cablage/global.log
|
|
||||||
|
|
||||||
# Logs DHCP
|
|
||||||
if $programname contains 'dhcpd' then /pool/logs/tealc/cablage/global.log
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{ ansible_header | comment }}
|
||||||
|
$template CablageFileFormat,"%TIMESTAMP:::date-rfc3339% %fromhost% %syslogtag%%msg%\n"
|
||||||
|
|
||||||
|
{% for rule in rsyslog_server.rules %}
|
||||||
|
{% set dest = rsyslog_server.root+'/'+rsyslog_server.name+'/'+rule.name+'/global.log' %}
|
||||||
|
{% for ip in rule.ips %}
|
||||||
|
if $fromhost-ip startswith '{{ ip }}' then {{ dest }}; CablageFileFormat
|
||||||
|
{% endfor %}
|
||||||
|
{% for program in rule.programs %}
|
||||||
|
if $programname contains '{{ program }}' then {{ dest }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{{ ansible_header | comment }}
|
||||||
|
|
||||||
|
$ModLoad {{ item.name }}
|
||||||
|
{% if item.vars is defined %}
|
||||||
|
{% for var in item.vars %}
|
||||||
|
${{ var.name }} {{ var.value }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
|
@ -1,4 +0,0 @@
|
||||||
{{ ansible_header | comment }}
|
|
||||||
|
|
||||||
$ModLoad imrelp
|
|
||||||
$InputRELPServerRun 20514
|
|
|
@ -1,8 +0,0 @@
|
||||||
{{ ansible_header | comment }}
|
|
||||||
|
|
||||||
# Réception en udp: pour les switchs seulement
|
|
||||||
# et les bornes wifi
|
|
||||||
$ModLoad imudp
|
|
||||||
$UDPServerRun 514
|
|
||||||
|
|
||||||
$AllowedSender UDP, 127.0.0.1, *.adm.crans.org, 172.16.10.0/24, *.infra.crans.org, 172.16.33.0/24, 172.16.34.0/24
|
|
Loading…
Reference in New Issue