Linux Operating System Security
Tehnički vodič za hardening Linux sustava
Uvod
Linux se koristi na većini servera, cloud platformi i produkcijskih sustava. Proboji najčešće nisu bugovi u kernelu, već loša administracija: otvoreni servisi, slabe lozinke, neažurirani sustavi i pogrešne mrežne postavke.
Ovaj tekst fokusiran je na praktične sigurnosne korake i naredbe koje administrator može odmah primijeniti.
Provjera sustava i servisa
Pregled aktivnih servisa:
systemctl list-units --type=service --state=running
Onemogućavanje nepotrebnog servisa:
systemctl stop avahi-daemon
systemctl disable avahi-daemon
Provjera otvorenih portova:
ss -tulnp
netstat -tulnp
Lokalno skeniranje portova:
nmap localhost
nmap -sT -sU localhost
Ažuriranja i zakrpe
Debian / Ubuntu:
apt update
apt upgrade
apt full-upgrade
Automatske sigurnosne zakrpe:
apt install unattended-upgrades
dpkg-reconfigure unattended-upgrades
RHEL / Rocky / Alma:
dnf update
dnf install dnf-automatic
systemctl enable --now dnf-automatic.timer
Provjera neažuriranih paketa:
apt list --upgradable
dnf check-update
Upravljanje korisnicima i privilegijama
Pregled korisnika:
cut -d: -f1 /etc/passwd
Zaključavanje korisnika:
passwd -l username
Brisanje korisnika:
userdel -r username
Provjera sudo prava:
cat /etc/sudoers
ls /etc/sudoers.d/
Nikad ne koristiti direktan root login za svakodnevni rad.
SSH hardening
Konfiguracija: /etc/ssh/sshd_config
Preporučene postavke:
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
LoginGraceTime 30
AllowUsers admin user1
Reload servisa:
systemctl reload sshd
Generiranje ključeva:
ssh-keygen -t ed25519
Kopiranje ključa:
ssh-copy-id user@server
Firewall (iptables)
Default politika:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
Dozvoli loopback:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Dozvoli postojeće konekcije:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
SSH pristup:
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
HTTP / HTTPS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Spremanje pravila:
iptables-save > /etc/iptables/rules.v4
Fail2ban
Instalacija:
apt install fail2ban
Osnovni jail konfiguracija: /etc/fail2ban/jail.local
Primjer:
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 3600
Restart:
systemctl restart fail2ban
Kontrola lozinki
Postavke politike: /etc/login.defs, /etc/pam.d/common-password
Primjer pam_cracklib:
password requisite pam_pwquality.so retry=3 minlen=14 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
Provjera slabih hash-eva:
apt install john
unshadow /etc/passwd /etc/shadow > hashes.txt
john hashes.txt
Praćenje logova
Pregled auth logova:
journalctl -u ssh
cat /var/log/auth.log
Live praćenje:
journalctl -f
Neuspjele prijave:
grep "Failed password" /var/log/auth.log
IDS i audit
Snort:
apt install snort
Lynis audit:
apt install lynis
lynis audit system
Automatski izvještaj:
lynis audit system --quick
Provjera integriteta sustava
AIDE:
apt install aide
aideinit
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
aide --check
Backup i recovery
Primjer rsync backupa:
rsync -avz --delete /home /backup/home
Snapshot (LVM):
lvcreate -L 10G -s -n homesnap /dev/vg0/home
Testiraj restore, ne samo backup.
Zaključak
Linux sigurnost nije jedna naredba ili alat. Radi se o stalnom procesu: minimiziranje servisa, stroga kontrola pristupa, firewall, monitoring i redoviti updatei.
Najčešći uzrok kompromitiranog Linux sustava i dalje nije exploit – nego loša administracija.

