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
