Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
debian:syslog-ng [2025/04/30 10:26] – Method | debian:syslog-ng [2025/05/01 19:52] (поточний) – [DNS query logging] Method | ||
---|---|---|---|
Рядок 128: | Рядок 128: | ||
===== DNS query logging ===== | ===== DNS query logging ===== | ||
apt-get install syslog-ng-mod-python | apt-get install syslog-ng-mod-python | ||
+ | |||
+ | Підготуємо каталоги | ||
+ | |||
+ | Створюємо tmpfs директорію та монтуємо | ||
+ | |||
+ | mkdir -p / | ||
+ | echo "tmpfs / | ||
+ | mount -a | ||
+ | mkdir -p / | ||
+ | |||
+ | Створюємо директорію для архівів | ||
+ | mkdir -p / | ||
+ | |||
+ | Створимо скрипт для переміщення логів | ||
+ | <code bash> | ||
+ | cat <<EOT > / | ||
+ | #!/bin/bash | ||
+ | |||
+ | SRC_DIR="/ | ||
+ | DST_DIR="/ | ||
+ | |||
+ | # Знайти файли старші за 15 хвилин | ||
+ | find " | ||
+ | # Визначити відносний шлях | ||
+ | rel_path=" | ||
+ | target_dir=" | ||
+ | |||
+ | # Створити директорію в цільовому місці | ||
+ | mkdir -p " | ||
+ | |||
+ | # Перемістити файл | ||
+ | mkdir -p " | ||
+ | mv " | ||
+ | done | ||
+ | |||
+ | # Видалити всі порожні каталоги у вихідному каталозі | ||
+ | find " | ||
+ | EOT | ||
+ | </ | ||
+ | |||
+ | chmod +x / | ||
+ | bash / | ||
+ | |||
+ | crontab -e | ||
+ | |||
+ | Вписуємо | ||
+ | * * * * * / | ||
+ | |||
+ | Додатково логи можна переміщати на віддаленний сервер по NFS | ||
+ | |||
+ | apt install nfs-common | ||
+ | mkdir -p / | ||
+ | showmount --exports 172.16.0.14 | ||
+ | echo " | ||
+ | mount -a | ||
+ | mkdir -p / | ||
+ | |||
+ | Створимо скрипт для переміщення логів | ||
+ | <code bash> | ||
+ | cat <<EOT > / | ||
+ | #!/bin/bash | ||
+ | |||
+ | SRC_DIR="/ | ||
+ | NFS_DIR="/ | ||
+ | NFS_MOUNT="/ | ||
+ | RETENTION_DAYS=100 | ||
+ | |||
+ | # Перевірити, | ||
+ | if ! mountpoint -q " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # Знайти файли старші за 15 хвилин | ||
+ | find " | ||
+ | # Визначити відносний шлях | ||
+ | rel_path=" | ||
+ | target_dir=" | ||
+ | |||
+ | # Створити директорію на NFS | ||
+ | mkdir -p " | ||
+ | |||
+ | # Перемістити файл | ||
+ | mkdir -p " | ||
+ | mv " | ||
+ | done | ||
+ | |||
+ | # Видалити всі порожні каталоги у вихідному каталозі | ||
+ | find " | ||
+ | |||
+ | # Видалити файли на NFS, які старші за вказану кількість днів | ||
+ | find " | ||
+ | |||
+ | # Також видалити порожні каталоги на NFS після видалення файлів | ||
+ | find " | ||
+ | EOT | ||
+ | </ | ||
+ | |||
+ | chmod +x / | ||
+ | ln -s / | ||
+ | bash / | ||
<code bash> | <code bash> | ||
cat <<EOT > / | cat <<EOT > / | ||
source source_net_udp_514 { | source source_net_udp_514 { | ||
- | | + | |
}; | }; | ||
EOT | EOT | ||
cat <<EOT > / | cat <<EOT > / | ||
source source_net_tcp_514 { | source source_net_tcp_514 { | ||
- | tcp(ip(0.0.0.0) port(514)); | + | tcp(ip(0.0.0.0) port(514) flags(no-parse)); |
}; | }; | ||
EOT | EOT | ||
</ | </ | ||
- | |||
- | |||
<code bash> | <code bash> | ||
Рядок 207: | Рядок 306: | ||
# destination(d_debug_all); | # destination(d_debug_all); | ||
#}; | #}; | ||
+ | |||
+ | # Фільтр для ігнорування доменів | ||
+ | filter f_ignore_domains { | ||
+ | not match(" | ||
+ | }; | ||
log { | log { | ||
Рядок 238: | Рядок 342: | ||
keep_hostname(yes); | keep_hostname(yes); | ||
}; | }; | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | Домени, | ||
+ | |||
+ | Формат: | ||
+ | <code bash> | ||
+ | cat << EOF > / | ||
+ | google.com | ||
+ | youtube.com | ||
+ | facebook.com | ||
+ | instagram.com | ||
+ | twitter.com | ||
+ | netflix.com | ||
+ | amazon.com | ||
+ | microsoft.com | ||
+ | apple.com | ||
EOF | EOF | ||
</ | </ | ||
Рядок 243: | Рядок 364: | ||
Перевіримо правильність конфігурацій | Перевіримо правильність конфігурацій | ||
syslog-ng -s -f / | syslog-ng -s -f / | ||
+ | |||
+ | Тестовий запуск | ||
+ | syslog-ng -Fev | ||
+ | або | ||
+ | syslog-ng -R / | ||
+ | |||
+ | З іншої консолі посилаємо тестове повідомлення | ||
+ | logger -n 127.0.0.1 -P 514 -d " | ||
Перезапуск служб | Перезапуск служб | ||
Рядок 249: | Рядок 378: | ||
+ | FIXME | ||
+ | 361 nano / | ||
+ | 362 nano / | ||
+ | 382 nano /etc/fstab | ||
+ | 393 nano / | ||
+ | 394 systemd-tmpfiles --create / | ||
+ | 396 systemctl restart syslog-ng | ||
+ | FIXME | ||
+ | <code bash> | ||
+ | cat <<EOT > / | ||
+ | D / | ||
+ | D / | ||
+ | D / | ||
+ | EOT | ||
+ | </ | ||
+ | FIXME | ||