
Ransomware und Cyberangriffe häufen sich
3. November 2021
Backlink Checks: Backlink Prüfung und Link Monitoring Services
8. April 2022
Ransomware und Cyberangriffe häufen sich
3. November 2021
Backlink Checks: Backlink Prüfung und Link Monitoring Services
8. April 2022Falls das eine oder andere Programm keine PID erstellt und auch die Konfigurationsdatei dies nicht zulässt, ist es möglich über einen kleinen Umweg eine solche Datei erstellen zu lassen. Dazu wird lediglich ein Bash Script mit einer kurzen Abfrage benötigt. Der jeweilige User sollte natürlich die nötigen Rechte haben um die Datei auszuführen.
Bash Script erstellen
Dieser Code muss in die Bash Datei eingefügt werden.
#!/bin/sh
## Fevarus Design ##
## www.fevarus-design.de ##
## 16.12.2021 ##
# - - - - - - - - - - - - - - - - - - WRITE ALL PIDS - - - - - - - - - - - - - - - - - - #
WRITE_PIDS () {
pid_file="/var/run/${service}.pid"
touch ${pid_file}
get_pid=`systemctl show --property MainPID --value ${service}`
if test ${get_pid} != 0
then
current_pid=`pgrep -g ${get_pid}`
echo ${get_pid} > ${pid_file}
echo ${get_pid}
else
echo "Cant get ${service} PID!"; exit 1;
fi
}
# - - - - - - - - - - - - - - - - - - RSPAMD - - - - - - - - - - - - - - - - - - #
GET_RSPAMD_PID () {
service="rspamd"
WRITE_PIDS
}
# - - - - - - - - - - - - - - - - - - UNBOUND - - - - - - - - - - - - - - - - - - #
GET_UNBOUND_PID () {
service="unbound"
WRITE_PIDS
}
Config für Monit: /etc/monit/monitrc
Empfehlenswert ist es in der Datei /etc/monit/monitrc
den Wert
with start delay 20
oder mehr hinzuzufügen.
Config für Services
Nachfolgend eine Beispielkonfiguration für Monit. Diese ruft zuerst das Bash Script auf und erstellt die PIDs.
# Bash Script: PID für Rspamd erstellen
check program rspamd.pid with path "/bin/bash -c 'source /etc/monit/scripts/create-service-pid.sh && $@GET_RSPAMD_PID'"
if status = 1 for 2 cycles then alert
if status = 1 for 10 cycles then UNMONITOR
# Monit Rspamd
check process rspamd with pidfile /run/rspamd/rspamd.pid
# ... hier weitere Werte für Rpamd
# Bash Script: PID für Unbound erstellen
check program unbound.pid with path "/bin/bash -c 'source /etc/monit/scripts/create-service-pid.sh && $@GET_UNBOUND_PID'"
if status = 1 for 2 cycles then alert
if status = 1 for 10 cycles then UNMONITOR
# Monit Unbound
check process unbound with pidfile /var/run/unbound.pid every 5 cycles
# ... hier weitere Werte für Unbound
Alternativlösung
Optional kann der jeweilige Service in Monit auch Über diesen Befehl und ohne PID eingebunden werden:
check process rspamd
matching 'rspamd: main process'
Cronjob
Es ist auch möglich die PIDs über ein cronjob erstellen zu lassen. Am besten pro Minute.
crontab -e
Dort diesen Wert hinzufügen.
*/1 * * * * ..... link zum Script