Tartalom
Bevezető
A legjobb családban is előfordulhat hogy az ember elgépeli a jelszavát, vagy éppen a vágólapra másolt jelszó nem volt a megfelelő, aminek következtében a rendszer letilthatja az IP-címét. Nos a napokban én is így jártam, miközben beállítottam az email címeimet. Persze ez akár egy FTP belépéssel, HTTP hitelesítéssel is megtörténhet, vagy bármelyik internetes szolgáltatással, ahol meg kell adni jelszavunkat.
Ebben a kis leírásban a velem megtörtént IMAP postafiók beállításakor bekövetkezett IP-cím letiltását én annak feloldását írom le, hogy ha más is hasonló szituációba kerül, és hirtelen nincs kéznél a megoldás, akkor ezzel az írással megspórolhat pár további keresést az interneten.
Mindez persze csak akkor működik, ha mi magunk üzemeltetjük a szervert, ahonnan tiltásra került az IP-címünk valamelyik szolgáltatásból, tehát rendelkezünk (root) SSH hozzáféréssel, továbbá a Fail2Ban program is működik a szerveren. Az én esetemben konkrétan a jól bevált ISPConfig-os szerverkörnyezetben fordult elő a letiltás, aminek utólag még kicsit örültem is, tudván, hogy jól végzik a dolgukat a szerveren futó programok.
A hiba elkövetése
Egyik késő este egy frissen telepített Mozilla Thunderbird email kliensben állítgattam be az email címeimet, már hármat be is állítottam, majd a soron következőnél kicsit tovább matekolt az ellenőrzés:
Ezután a jelszó ellenőrzés, és utána ki is dobta a hibát:
Majd újra kimásoltam a generált jelszavam a jelszó tárolómból, és újra kezdtem előröl. Gondoltam előfordul ez bárkivel, nincs ezzel semmi gond.
De aztán amikor harmadszorra sem volt jó, ekkor már egy ilyen ablakot adott be:
Na, innentől már csinálhattam bármit, nem volt jó. Közben leesett, hogy benéztem az email címet, és egy másiknak a jelszavával próbálkoztam. De már a jó jelszóval is ezt adta be.
Ami érdekes volt, hogy mindeközben a már beállított email címek szépen szinkronizáltak, így első körben meg se fordult a fejemben, hogy blokkolva lenne az IP-címem, vagy valami hasonló történt volna.
A hiba felderítése
Mivel már nem jutottam tovább ezen a ponton, mondom körülnézek a szerveren. Beléptem root-ként, majd elsőként néztem a /var/log/mail.log fájl végét:
cat /var/log/mail.log | tail -40
És lám, megtaláltam az IP címem a hibaüzenetek soraiban:
... postfix/submission/smtpd[16279]: improper command pipelining after EHLO from <ip-címem>: QUIT ... dovecot: imap-login: Disconnected (auth failed, 3 attempts in 26 secs): user=<email címem>, method=PLAIN, rip=<ip-címem>, lip=<szerver IP-címe>, TLS, session=... ... postfix/anvil[12691]: statistics: max connection rate 4/60s for (submission:<ip-címem>) at ... ... postfix/anvil[12691]: statistics: max connection count 2 for (submission:<ip-címem>) at ...
Na, akkor mondom irány a tűzfal:
iptables -L
Az iptables listázó parancsára kiadta a láncokat, bennük persze sok más blokkolt IP-címekkel, mint a legyek a lénypapíron, és persze itt is megtaláltam a sajátomat a fail2ban-dovecot-pop3imap láncban:
Chain fail2ban-dovecot-pop3imap (1 references) target prot opt source destination REJECT all -- <IP-címem> anywhere reject-with icmp-port-unreachable RETURN all -- anywhere anywhere
Ebben a láncban éppen egyedül a saját címem ücsörgött, tehát már csak fel kellett oldani.
Blokkolt IP-cím feloldása
Egyszerű megoldás lett volna itt az iptables megfelelő parancsával kiszedni a blokkolt IP-címet, de mivel a Fail2Ban program tette bele a listába, így nem lett volna tanácsos belenyúlni, hanem ilyenkor a Fail2Ban programhoz kell fordulni ez ügyben.
Korábban már készítettem egy leírást a Fail2Ban program szűrőinek kezeléséről, ahol éppen egy másik jail-t állítgattam be, itt pedig először a Jail-ok pontos neveire volt szükség, hogy hivatkozni tudjak a megfelelőre, mert pontosan nem emlékeztem a nevekre:
fail2ban-client status
Status |- Number of jail: 7 `- Jail list: postfix-sasl, dovecot-pop3imap, apache-noscript, ssh, pureftpd, apache, apache-multiport
Meg is volt: dovecot-pop3imap a jail-om neve (csak egy "fail2ban-" prefixe volt az iptables-ben). Ránéztem a jail-omra:
fail2ban-client status dovecot-pop3imap
Status for the jail: dovecot-pop3imap |- filter | |- File list: /var/log/mail.log | |- Currently failed: 1 | `- Total failed: 7470 `- action |- Currently banned: 1 | `- IP list: <ip-címem> `- Total banned: 9
Itt virít a címem, így már csak egy lépés volt kivenni ezt a megfelelő fail2ban-client paranccsal:
fail2ban-client set dovecot-pop3imap unbanip <ip-címem>
Majd újra néztem a jail állapotát az előző paranccsal, és már nem volt benne a címem:
Status for the jail: dovecot-pop3imap |- filter | |- File list: /var/log/mail.log | |- Currently failed: 1 | `- Total failed: 7470 `- action |- Currently banned: 0 | `- IP list: `- Total banned: 9
Ezután már hiba nélkül be tudtam állítani az email címem a megfelelő jelszóval.
Konklúzió
Utólag belegondolva végül is egyetlen parancs kellett az egészhez, de akkor hirtelen az első pár percben gondolkodni kellett, hogy hova nyúljon az ember. Tehát gyakorlásnak mindenképpen jó volt, így ha újra előfordulna akár egy másik szolgáltatással, pl FTP, akkor már egyből a megfelelő jail-ból szedi ki az ember az IP-címet.
Viszont ha az SSH-val történik hasonló blokkolás, és nincs módunk a konzolhoz jutni, akkor bizony ki kell várni a saját magunk által beállított bantime időt, mert addig nem jutunk kedvenc terminálunk közelébe. Ezért, hogy az SSH-val semmiképpen se fordulhasson elő ilyesmi, nagyon ajánlom a jelszó nélküli, hitelesítő kulcsos belépési módszert.
- Enciklopédia - Fail2Ban
- Fail2Ban (manual oldal)
- Iptables (manual oldal)
- Hogyan engedélyezzük a Fail2Ban program szűrőit az ISPConfig-os szerverkörnyezetben
- SSH védelem erősítése további Fail2Ban szűrőmintával a Debian 8 (Jessie) rendszeren
- Hogyan tartsuk távol szerverünk weboldalaitól a nem kívánatos robotokat
- Hogyan védekezzünk az "Access denied for user root@ip-cím (using password: YES/NO)" típusú adatbázis kiszolgálónkat érő támadásokkal szemben a Fail2Ban segítségével
- Mit tegyünk, ha a Matomo webanalitikai rendszerünk "AH01630: client denied by server configuration" típusú Apache hibákat generál, ami miatt a Fail2Ban letiltja az IP-címünket?
- Hogyan védekezzünk a nagy mennyiségben érkező 404 vagy egyéb 4xx HTTP hibakódokat eredményező támadásokkal szemben Fail2Ban segítségével
- Tökéletes szerver: Debian 8 (Jessie) V1.0
- Tökéletes szerver: Debian 9 (Stretch) V1.0
- Tökéletes szerver: Debian 10 (Buster) V1.0
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 2481 megtekintés