Da bismo pravovremeno reagovali na Red Hat Enterprise Linux (RHEL) sigurnosne zakrpe i olakšali svakodnevni posao sistem administratorima, napravićemo Bash skriptu koja jednom nedeljno automatski šalje izveštaj o dostupnim sigurnosnim ažuriranjima na e-mail adresu administratora.

Za ovaj postupak potrebno je da imate instaliran sendmail ili drugi servis koji omogućava slanje e-mail poruka (npr. postfix).

U prethodnom članku Kako bezbedno ažurirati RHEL sigurnosne zakrpe – vodič korak po korak detaljno smo obradili proces ručnog ažuriranja i verifikacije zakrpa. Ovaj tekst predstavlja njegovu nadogradnju kroz automatizaciju – kreiraćemo skriptu koja proverava dostupne zakrpe i automatski šalje izveštaj jednom nedeljno.


1. Kreiranje skripte za proveru dostupnih ažuriranja

Otvorite novi fajl u nano editoru:

sudo nano /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh

U otvorenom GNU Nano editoru unesite sledeću skriptu:

#!/bin/bash
# ------------------------------------------------------------
# RHEL Nedeljni Bezbednosni Izveštaj
# Autor: Vladimir Stankovic
# Lokacija loga: /root/weekly_security_logs/
# ------------------------------------------------------------

LOGDIR="/root/weekly_security_logs"
EMAIL="email@vladimirstankovic.rs"
DATE=$(date +%F)
LOGFILE="$LOGDIR/security_$DATE.log"

mkdir -p "$LOGDIR"

echo "=========================================" > "$LOGFILE"
echo "  RHEL Nedeljni Bezbednosni Izveštaj - $DATE" >> "$LOGFILE"
echo "=========================================" >> "$LOGFILE"
echo "" >> "$LOGFILE"

# Prikupi sve Important i Critical zakrpe
yum updateinfo list security available | egrep "Important|Critical" >> "$LOGFILE" 2>&1

# Ako ima rezultata, pošalji mejl sa detaljima
if grep -qE "Important|Critical" "$LOGFILE"; then
    echo "" >> "$LOGFILE"
    echo "Sledeće zakrpe su označene kao važne (Important/Critical)." >> "$LOGFILE"
    echo "Preporuka: proveriti i planirati njihovu instalaciju." >> "$LOGFILE"
    echo "" >> "$LOGFILE"
    mail -s "RHEL Security Update - Important/Critical [$DATE]" "$EMAIL" < "$LOGFILE" else echo "Nema važnih (Important/Critical) bezbednosnih zakrpa na dan $DATE." > "$LOGFILE"
    mail -s "RHEL Security Report - Clean [$DATE]" "$EMAIL" < "$LOGFILE"
fi

# Očisti stare logove (starije od 60 dana)
find "$LOGDIR" -type f -mtime +60 -delete

2. Dozvole i testiranje skripte

Omogućite izvršavanje skripte:

sudo chmod +x /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh

Pokrenite testno izvršavanje:

sudo /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh

Ukoliko sendmail ili postfix servis nije aktivan, proverite njegov status:

systemctl status sendmail
# ili
systemctl status postfix

3. Automatizacija putem crontab-a

Da bismo automatizovali slanje e-mail izveštaja, dodajemo zadatak u crontab koji će se izvršavati svakog ponedeljka u 08:00 ujutru:

sudo crontab -e

Dodajte sledeću liniju na kraj fajla:

0 8 * * 1 /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh >/dev/null 2>&1

Tako će se svakog ponedeljka automatski slati nedeljni izveštaj o RHEL sigurnosnim zakrpama.


4. Brzi rezime komandi (Checklist)

Opis Komanda
Kreiranje skripte sudo nano /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh
Omogućavanje izvršenja sudo chmod +x /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh
Testiranje skripte sudo /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh
Automatizacija putem cron-a 0 8 * * 1 /usr/local/bin/rhel_nedeljni_izvestaj_na_email.sh >/dev/null 2>&1

Zaključak

Ovom jednostavnom automatizacijom možete značajno olakšati nadzor nad bezbednosnim zakrpama na RHEL serverima. Sistem će vas svakog ponedeljka obavestiti e-mailom o novim Important i Critical ažuriranjima, dok će se stari logovi automatski čistiti. Na ovaj način uvek imate pregled stanja, bez potrebe za ručnom proverom