Ha van egy működő szerverünk az interneten, akkor elengedhetetlen hogy azt kellően be is védjük, erre nem létezik atombiztos megoldás de íme pár tipp, amivel nagyban javíthatunk rajta.
- Soha ne engedjük ki root -t az SSH -ra! Aki kintről akar bejutni, az általában az ssh root@ipcímmel próbálkozik. Általában először egyszerűbb jelszavakkal próbálkoznak, pl: adminadmin, toor, root1234 és társai. Persze ha kintről nem elérhető a root, akkor úgy sem jutnak be ha eltalálják a jelszavát! :) Alap beállításban az ssh-n nincs engedélyezve a root beengedése, de azért nem árt ellenőrizni a /etc/ssh/sshd_config fájlban:
PermitRootLogin no
- Fail2ban: ez egy nagyon hasznos eszköz a többszöri próbálkozások kizárására. Ez a szolgáltatás folyamatosan figyeli a /var/log/auth.log tartalmát, és ha valaki többször is próbálkozott egy adott ip címről a bejutással, akkor azt le tudjuk bannolni jó hosszú időre, ezzel védekezve a brute-force támadások ellen.
Telepítése:apt-get install fail2banBeállítása:sudo nano /etc/fail2ban/jail.conf[DEFAULT]ignoreip = 127.0.0.1/8
#ban idő másodpercen 1 hónap/ipbantime = 2592000
#findtime(10perc) és maxretry(3), azaz mennyi idő alatt hányszor próbálkozhat
findtime = 600
maxretry = 3
Fail2ban – jogosulatlan bejelentkezési kísérletek elleni védelem
A Fail2ban figyeli a naplófájlokat (pl. SSH login kísérleteket), és ismétlődő sikertelen próbálkozás esetén automatikusan tiltja (banolja) a forrás IP-címet egy meghatározott időre.
Telepítési és konfigurációs útmutató: https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-14-04
Tiltott IP cím feloldása
# Aktuális tiltások listázása
fail2ban-client status
# Egy adott IP cím feloldása az sshd jail-ből
fail2ban-client set sshd unbanip [IP_cim]
Tűzfal beállítása UFW-vel (Uncomplicated Firewall)
Az UFW egy egyszerűsített parancssori felület az iptables fölött, amellyel könnyen kezelhetők a bejövő/kimenő hálózati szabályok.
apt-get install ufw
ufw allow ssh
ufw enable
ufw status
Port nyitása csak meghatározott IP-knek (pl. DLNA szolgáltatáshoz)
Fontos sorrend: előbb engedélyezd a portot a kívánt IP-k számára, utána tiltsd le mindenki másnak — fordított sorrendben ez nem működik megbízhatóan.
ufw allow from [engedelyezett_ip_1] to any port 1900
ufw allow from [engedelyezett_ip_1] to any port 8200
ufw allow from [engedelyezett_ip_2] to any port 1900
ufw allow from [engedelyezett_ip_2] to any port 8200
ufw deny 1900
ufw deny 8200
Gyakran használt szolgáltatás-portok
ufw allow 53 # DNS
ufw allow 9091 # Transmission webes felület
ufw allow 80 # HTTP
ufw allow 548 # AFP
ufw allow 20 # FTP (data)
ufw allow 21 # FTP (control)
ufw allow 500 # VPN (IKE)
ufw allow 4500 # VPN (NAT-T)
ufw allow 50 # VPN (ESP)
ufw allow 1701 # VPN (L2TP)
ufw allow 6660:6670/udp # FTP passzív port tartomány
ufw allow 6660:6670/tcp # FTP passzív port tartomány
Szabályok törlése
sudo ufw status numbered
sudo ufw delete [sorszam]
sudo ufw delete allow 548/tcp
Példa előnézet (ufw status numbered)
[ 1] 22 ALLOW IN Anywhere
[ 2] 1900 ALLOW IN [engedelyezett_ip_1]
[ 3] 8200 ALLOW IN [engedelyezett_ip_1]
[ 4] 1900 ALLOW IN [engedelyezett_ip_2]
[ 5] 8200 ALLOW IN [engedelyezett_ip_2]
[ 6] 1900 DENY IN Anywhere
[ 7] 8200 DENY IN Anywhere
[ 8] 22 ALLOW IN Anywhere (v6)
[ 9] 1900 DENY IN Anywhere (v6)
[10] 8200 DENY IN Anywhere (v6)
iptables-persistent ütközés megoldása
apt remove iptables-persistent
apt autoremove