UBUNTU 14.10 - Zabezpečení serveru

Pokud dáte do sítě čistě nainstalovaný Linuxový stroj, tak do 24 hodin budou na něm sedět roboti a testovat bezpečnostní díry. I na zabezpečených serverech se stačí podívat do logu z kolika IP jsou vedeny útoky.

Pokud se chcete pořádně vyděsit, tak nahlédněte do logu var/log/auth.log

Ano je toho tam docela dost

SSH LOG

Nejprve aktualizujeme zdroje

sudo apt-get update

Následně nainstalujeme program fail2ban

sudo apt-get install fail2ban

Veškerá konfigurace se nachází v adresáři /etc/fail2ban, kde mimo jiné najdeme adresář s filtry filter.d, adresář s akcemi action.d a konfigurační soubory fail2ban.conf a jail.conf. Ten první slouží k obecnému nastavení démona, ten druhý pak k nastavení samotného banování.

Hned na začátku je sekce [Default], ve které je dobré si nastavit adresy, které nebudou nikdy banovány, dále pak dobu zákazu v sekundách, počet pokusů, po kterých zákaz nastane a časové okno, ve kterém se musí tyto pokusy objevit (ve výchozím stavu 10 minut).

ignoreip = 127.0.0.1/8 91.213.160.118
bantime  = 86400
maxretry = 3
findtime = 600

Dále pak následuje definice výchozích akcí a nakonec už samotné nastavení pro jednotlivé služby. Příklad pro SSH:

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
Hlídáme port ssh, použijeme filtr sshd a přesměrujeme ho na správný autorizační log, kde budou informace o neúspěšných přihlášeních. Nakonec je přidána volba o maximálním počtu pokusů, po kterých dojde k blokaci. Tady odpovídá výchozí hodnotě, je možné ale počty měnit pro každou službu zvlášť, stejně jako třeba dobu blokace.

Po provedených změnách pak už stačí jen démona restartovat:

service fail2ban restart

Informace z provozu je možné sledovat v logu, který je ve výchozím stavu umístěn v /var/log/fail2ban.log. Tam se dočtete, kdo dostal proč zákaz a nebo že mu byl zrušen.

V pravidlech pro IPtables si Fail2ban vytvoří vlastní řetězce (chain), do kterých posílá odpovídající pakety. V řetězcích pak provádí samotnou filtraci, přidávání zákazů a jejich odebírání. Aktuální stav si můžete prohlédnout:

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dport                         s ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
REJECT     all  --  122.225.109.113      anywhere             reject-with icmp-p      ort-unreachable
REJECT     all  --  58.132.132.30        anywhere             reject-with icmp-p      ort-unreachable
REJECT     all  --  118.37.198-18.dc74.net  anywhere          reject-with icm         p-port-unreachable
RETURN     all  --  anywhere             anywhere
Vidíte, že v současné době mají u mě na serveru ban tři adresy, ze kterých probíhaly pokusy o hádání hesel na SSH.
  • Jiří Ottmar
  • 2015-01-15
  • UBUNTU, LAMP, Bezpečnost