Hogyan oldjuk fel blokkolt IP címünket, ha kitiltottuk magunkat szerverünk valamelyik szolgáltatásából

botond küldte be 2018. 10. 25., cs - 01:50 időpontban

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:

Mozilla Thunderbird - Email fiók beállítása - Konfiguráció keresése

Ezután a jelszó ellenőrzés, és utána ki is dobta a hibát:

Mozilla Thunderbird - Email fiók beállítása - Rossz felhasználónév vagy jelszó

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:

Mozilla Thunderbird - Email fiók beállítása - Kézi beállítás

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.