Myslím, že ľudia, ktorí jazdia Servery Linux vedia a vedia o DENHOSTS y Fail2ban. Pre tých, ktorí ho nepoznajú, urobím vysvetliť trochu o týchto dvoch aplikácie. |
Tieto dve aplikácie nainštalujeme a nakonfigurujeme, aby sme predišli následným bolestiam hlavy. Najskôr vysvetlíme, čo sú tieto dve aplikácie a aké sú ich funkcie:
Fail2Ban
Jedná sa o analyzátor protokolov, ktorý vyhľadáva neúspešné pokusy o registráciu a blokuje adresy IP, z ktorých tieto pokusy pochádzajú. Je distribuovaný pod licenciou GNU a zvyčajne funguje na všetkých systémoch, ktoré sú prepojené so systémom riadenia útokov alebo lokálnym firewallom.
Fail2Ban má vynikajúcu konfiguráciu a tiež dokáže vytvárať pravidlá pre programy
vlastné alebo tretie strany.
DENHOSTS
Je to bezpečnostný nástroj napísaný v pythone, ktorý monitoruje protokoly prístupového servera, aby zabránil útokom hrubou silou na virtuálny server. Program funguje tak, že zakazuje adresy IP, ktoré presahujú určitý počet neúspešných pokusov o pripojenie.
Tieto aplikácie pre Linux - DenyHosts a Fail2ban - je možné používať samostatne alebo spoločne. V mojom prípade mám obidve spolupracovať.
Inštalácia a konfigurácia každého z nich závisí od použitej distribúcie. Tento príspevok je zameraný na CentOS 6.3, aj keď rozdiely medzi ostatnými distribúciami nie sú príliš výrazné.
No tak, hor sa do práce.
Inštalácia a konfigurácia Fail2Ban
Táto aplikácia generuje dynamické pravidlá v samotnom firewalle Linux a je zodpovedná za vytváranie živých pravidiel v IpTables.
inštalácia
Pre inštaláciu a:
yum nainštaluj fail2ban
Ak sa balík nezobrazí, musíme pridať potrebné úložisko:
rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
S týmto by ste mali začať inštalovať aplikáciu spolu s jej závislosťami.
Teraz musíme nakonfigurovať Fail2Ban na analýzu protokolov, ktoré chceme, a blokovanie
IP adresy, zasielanie oznámení prostredníctvom e-mailu. Aby sme to dosiahli, musíme upraviť súbor jail.conf, ktorý nájdeme v / etc / fail2ban
cd / etc / fail2ban
nano väzenie.conf
V tomto súbore by sa malo robiť toto:
- Modify je bantime hodnota, táto hodnota určuje čas v sekundách, kedy bude IP útočníka zablokovaná, štandardne hodnota prichádza za 600 sekúnd.
- Nájdite hodnotu maxretry, ktorá bude predstavovať počet zlyhaní overenia adresy IP pred blokovaním.
- Pridajte naše IP do parametra ignoreip. Aplikácia bude v tomto parametri ignorovať naše overené adresy IP.
[VÝCHODNÉ]
# „ignoreip“ môže byť adresa IP, maska CIDR alebo hostiteľ DNS. Fail2ban nebude
# zakázať hostiteľa, ktorý sa zhoduje s adresou v tomto zozname. Môže byť niekoľko adries
# definované pomocou oddeľovača medzery.
ignoreip = 127.0.0.1
# „bantime“ je počet sekúnd, počas ktorých je hostiteľ zakázaný.
bantime = 600
# Hostiteľ je zakázaný, ak vygeneroval „maxretry“ počas posledného „času hľadania“
# sekúnd.
findtime = 600
# „maxretry“ je počet zlyhaní predtým, ako bude hostiteľovi zablokovaný prístup.
maxretry = 3
Príklad toho, ako to môže vyzerať, je nasledujúci:
ignoreip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2
Nakonfigurujte Fail2Ban a SSH
Aby sme vyhľadali neúspešné pokusy o prihlásenie SSH, upravujeme súbor tak, aby vyzeral takto:
[ssh-iptables]
enabled = true
filter = sshd
action = iptables [name = SSH, port = 22, protocol = tcp] sendmail-whois [name = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / secure # Toto je log, ktorý bude analyzovať fail2ban
maxretry = 3 # akákoľvek IP adresa, ktorá má tri alebo viac neúspešných pokusov, bude blokovaná.
bantime = 86400 # 24 hodinový čas zákazu vyjadrený v sekundách
Nezabudnite, že ak upravíte port, na ktorom SSH počúva, musíte upraviť aj parameter portu.
Táto aplikácia funguje nielen na neoprávnený prístup v SSH, ale aj na apache, na čítanie protokolov Asterisk atď.
Inštalácia a konfigurácia DenyHOSTS
Jeho činnosť je založená na použití súboru /etc/hosts.deny, to znamená na blokovaní adries „útočiacich“ hostiteľov, vytvorení zoznamu odmietnutých hostiteľov.
Inštaláciu z úložísk je možné získať nasledujúcim príkazom:
yum nainštalovať denyhosts
Konfiguračný súbor sa nachádza v /etc/denyhosts.conf
Predtým, ako budeme pokračovať, môžeme ako ľudia robiť chyby a robiť typickú „vrstvu 8“, keď pristupujeme k niektorej zo služieb a blokujeme sa. Aby sme sa tomu vyhli, upravíme súbor /etc/hosts.allow a pridáme IP adresy strojov, z ktorých nechceme byť obmedzovaní kvôli zlyhaniu prístupu.
Upravte súbor denyhosts.conf
Aby sme v nastaveniach nešli tak ďaleko, v tomto súbore ideme iba upravovať a odkomentovať niektoré parametre. Sú to:
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 hod
SYNC_UPLOAD = áno
SYNC_DOWNLOAD = áno
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 h
Konfiguráciu teda necháme prakticky predvolenú, ale s veľkým zabezpečením proti útokom SSH.
nano /etc/hosts.allow
príklad:
sshd: 127.0.0.1
sshd: 192.168.1.10
sshd: 192.168.0. *
Potom reštartujeme službu:
/etc/init.d/denyhosts reštartovať
Týmto udeľujeme povolenie IP, rozsahu IP a samozrejme nášmu rozhraniu spätnej väzby. Niečo, čo som neskúšal - preto neviem, či to funguje - je pridať do tohto súboru DNS; teda so službami ako DynDNS. Ak tak urobím, poviem vám, ako to šlo.
S určitými možnosťami a úpravami tiež zaistíme, že po uplynutí času, ktorý uvedieme v konfigurácii DenyHOSTS, sa uložené adresy vyčistia a aktualizujú sa o ďalšie zoznamy vytvorené inými - ak to označíme - poskytnutie prístupu server DenyHOSTS.
Aby ste z času na čas vyčistili uložené adresy, tak ako sú nakonfigurované, musí byť démon spustený s parametrom –purge:
/etc/init.d/denyhosts štart --purge
Okrem toho ho musíme zahrnúť na začiatok systému:
chkconfig denyhosts na