Portál AbcLinuxu, 17. května 2024 13:03


Dotaz: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení

6.9.2023 10:25 chinook | skóre: 28
dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Přečteno: 661×
Odpovědět | Admin
Zdravím, poslední dobou mně píše thunderbird:

Nelze se připojit na IMAP server. Pravděpodobně jste překročili maximální počet povolených spojení na server. Pokud ano, použijte dialog Rozšířené nastavené IMAP serveru pro zmenšení počtu spojení. 

Už nevím jaký parametrn na dovecotu navýšit. A v logu na dovecotu o tom nic nevidím.

mám tam:

mail_max_userip_connections = 800
default_process_limit = 800
default_client_limit = 8096

service imap {
process_limit = 2048
}

Poradí někdo čím to může být případně na co se mám zaměřit?

doveadm who -1 2>/dev/null | wc -l
Vypsal snad 250 nejvíc.

Server by mělo používat cca max. 200 userů, ale někteří jsou přes nat, někteří přes VPN, mají mobily apod.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.9.2023 10:31 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jediné co vidím v logu:

auth: Warning: auth client 0 disconnected with 1 pending requests: Connection reset by peer
7.9.2023 08:52 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Ještě posílám konfiguraci dovecotu. Furt si myslím, že mně tam něco přeteče.

dovecot -n
# 2.3.13 (89f716dc2): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.13 (cdd19fe3)
# OS: Linux 5.10.0-20-amd64 x86_64 Debian 11.6 ext4
# Hostname: imap1.fann.cz
auth_cache_verify_password_with_worker = yes
auth_mechanisms = plain login
auth_socket_path = /var/run/dovecot/auth-userdb
default_client_limit = 8096
default_process_limit = 800
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
doveadm_port = 2727
first_valid_gid = 5000
first_valid_uid = 5000
hostname = imap1
last_valid_gid = 5000
last_valid_uid = 5000
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot.log
mail_gid = 5000
mail_location = maildir:/data/vmail/%d/%n/Maildir
mail_uid = 5000
maildir_broken_filename_sizes = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext
namespace inbox {
  inbox = yes
  location =
  mailbox "Deleted Items" {
    auto = no
    special_use = \Trash
  }
  mailbox Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox Junk {
    auto = no
    special_use = \Junk
  }
  mailbox Koncepty {
    auto = no
    special_use = \Drafts
  }
  mailbox "Nevyžádaná pošta" {
    auto = no
    special_use = \Junk
  }
  mailbox "Odeslaná pošta" {
    auto = no
    special_use = \Sent
  }
  mailbox "Odstraněná pošta" {
    auto = no
    special_use = \Trash
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Items" {
    auto = no
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = no
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
plugin {
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /etc/dovecot/sieve/sieve_before/
}
postmaster_address = it@fann.cz
protocols = " imap lmtp sieve pop3 sieve"
service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    user = vmail
  }
}
service doveadm {
  inet_listener {
    port = 2727
  }
  user = vmail
  vsz_limit = 512 M
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service imap {
  process_limit = 2048
  process_min_avail = 2
  service_count = 0
  vsz_limit = 1 G
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service stats {
  unix_listener stats-reader {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener stats-writer {
    group = vmail
    mode = 0660
    user = vmail
  }
}
ssl_cert = /etc/letsencrypt/live/mail.fann.cz/fullchain.pem
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
  args = /etc/dovecot/dovecot-ldap.conf.ext
  driver = ldap
}
protocol lda {
  info_log_path = /var/log/dovecot-lda.log
  log_path = /var/log/dovecot-lda-errors.log
  mail_plugins = " sieve"
}
protocol imap {
  mail_max_userip_connections = 800
  mail_plugins = " quota imap_quota"
}
protocol sieve {
  info_log_path = /var/log/dovecot-sieve.log
  log_path = /var/log/dovecot-sieve-errors.log
}

6.9.2023 14:36 X
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Odpovědět | | Sbalit | Link | Blokovat | Admin
Klasika, proste zacni dianostikou site => tcpdump, telnet, ping etc.
6.9.2023 14:39 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
A co tam mám hledat? výpadky internetu nemám a pingy se mně neztrácí.
6.9.2023 14:58 X
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
No tak dobry. Ten server mas pod kontrolou? Tam to vypada jak? Nic neobvikleho?
6.9.2023 16:29 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Ano server mám pod kontrolou a většinu času běží spolehlivě. Jen čas od času třeba jednou za měsíc thunderbird hodí hlášku ohledně IMAPu. Jinak několik let běžel úplně bez problémů. Průběžně jej aktualizuji, třeba jednou za 3-6 měsíců. Ale po aktualizaci se to určitě neobjevilo. Je to virt server. Běží jich tu asi 15 a jediný co má problémy je tento.
6.9.2023 19:47 X
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Muzes projit logy na serveru, odchytit si komunikaci tcpdumpem, napsat si skript ktery otestuje IMAP protokol, otestovat spojeni manualne etc. Dodej nejake diagnosticke vystupy a testy jinak je to hadani..
7.9.2023 08:45 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
A nemůže to být spíš nějaké omezení v konfiguráku? Nějak furt nechápu co mám testovat, resp. hledat přes tcpdump. V čem přesně bych měl hledat chybu?
7.9.2023 09:44 X
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Kolik tech spojeni mas vlastne aktualne otevrenych? Dale internet rika, ze muzes snizit pocet spojeni v cache. Nasimulovat spojeni napriklad pomoci:
openssl s_client -crlf -connect tvuj_imap_server:993
25.10.2023 10:40 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Tak to asi měsíc nedělalo, a ted to začalo znovu. :(

Když to ted dělalo viděl jsem tady jen 200, teď jich je 220 a jede to bez problémů.

doveadm who -1 2>/dev/null | wc -l

Jaký parametr na to může mít vliv? Cestou snižování cache u klientů se mně jít nechce.
25.10.2023 10:59 X
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Znovu bych prosel logy jak na serveru, tak u klienta. Nerikej, ze vsechno vypada ciste a neni se ceho chytit. Dale pokusil bych se proste so vetsi mnozstvi spojeni nasimulovat a sledovat co se bude dit ie. dokazes ten problem reprodukovat?
25.10.2023 11:31 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Zkusím nasimulovat někdy v noci. Jediné co se v logu objevuje je toto.


Oct 25 08:28:07 imap1 postfix/anvil[2979415]: statistics: max connection rate 8/60s for (smtp:192.168.120.31) at Oct 25 08:25:28
Oct 25 08:28:07 imap1 postfix/anvil[2979415]: statistics: max connection count 3 for (submission:192.168.120.1) at Oct 25 08:22:48
Oct 25 08:28:07 imap1 postfix/anvil[2979415]: statistics: max cache size 5 at Oct 25 08:20:25

Taky je možné, že to zahltí nějaký utok a já než se připojím, tak tam již není:

Toto chodí už asi 5let z různých adres stále dokola.

SASL LOGIN authentication failed: UGFzc3dvcmQ6
Nic jiného v logu nevidím :(
25.10.2023 12:52 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
max connection count 3 for ...
A to je, milé deti, softvérový firewall zabraňujúci útoku Denial of Service ktorý je poddimenzovaný kvôli jednoduchému VPN routeru. Kto ho dodal a prpomienkoval?
25.10.2023 13:22 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Předpokládám, že by ten firewall musel být na tom serveru. A tam nic není. Je pravda, že předtím je firewall, ale není nastaven na max. počet připojení.

Můžeš mě navést kde mám hledat? Na serveru kde běží dovecot. Nebo na firewallu? 192.168.120.1 je adresa mikrotiku, ale jsou tam také jednoduchá pravidla jako nat a forward.
25.10.2023 13:42 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Veď tam je, a rovno v konfigurácii danej služby.

Odporučil by som to outsourcovať niekomu skúsenejšiemu, hoci aj majiteľovmu synovcovi.
25.10.2023 13:59 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
A můžeš tedy poradit jakým parametrem se konfiguruje? A kde mám hledat. V konfiguraci postfixu nebo dovecotu?

27.10.2023 15:20 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Podle citovaného výpisu z logu a následné reakce v #16 ten člověk o Postfixu nic neví, nenechte si od něj radit. A proč vůbec řešíte Postfix, tj. SMTP server, když vám chybové hlášení o překročeném počtu spojení hlásí Thunderbird při připojení na IMAP?

A hlavně jste se měl už na začátku zamyslet nad tím, že "Pravděpodobně jste překročili" vůbec nemusí znamenat, že byl skutečně překročen počet spojení.

Dovecot se dá nastavit, aby logoval přepis celé komunikace s klientem. Hledejte "rawlog". Bude to generovat obrovské množství dat, takže si to budete muset nějak ošetřit - například logovat jen u klientů, které to postihuje.
Quando omni flunkus moritati
28.10.2023 14:48 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Díky za radu. je pravda, že vždy tuto chybu hlásili jen klienti s thunderbirdem. Někde jsem našel, že je potřeba snížit počet spojení v TB, ale nemůžu obcházet všechny klienty.

Proto předpokládám, že bude i nějaké omezení na serveru.

Budu muset zkusit nějaký imap perf test. Jen k tomu budu muset vyčlenit nějakou noc, abych neomezoval klienty a zapnu k tomu to logování co doporučujete.

Ještě jsem v logu našel toto:

imap: Error: auth-master: login: request [2953576469]: Login auth request failed: Authenticated user not found from userdb, auth lookup
Napadlo mě, že to vyčerpá limit na ty loginy proto to přes WHO nevidím.

7.9.2023 09:10 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Odpovědět | | Sbalit | Link | Blokovat | Admin
A nie je tam nejaký predvolený (SW) firewall ktorý obmedzuje počet konekcií z jednej IP ako ochrana pred nejakým typom DoS? Či už počet aktívnych spojení z jednej IP alebo celkový počet konekcií kvôli DDoS. On tam môže byť aj adaptívny firewall ktorý zvykne blokovať podľa nastavených limitov na určitú dobu.

fail2ban, iptables, ebtables, ....
7.9.2023 09:44 chinook | skóre: 28
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
Není, ale ted jak píšeš o těch IP, tak mě napadlo, že asi 40 poboček používá k připojení VPN. Tzn. imap server je vidí jako jednu IP. Ale to by stejně nepřekročilo ten limit co tam byl. Navíc nic o tom nemůžu najít v logu. A myslím si, že ten člověk kterému to teď psalo byl připojen přes veřejnou adresu a ne přes VPN. Ale zpětně již nedokážu ověřit. Vždy to píše tuto chybu jen pár lidem. Zbytku to funguje.

Navýšil jsem tedy:

#toto bylo puvodne
#mail_max_userip_connections = 800
#takto jsem to ted navýšil
mail_max_userip_connections = 8000
Tak uvidíme, co to udělá, bohužel někdy se to objeví jednou denně někdy za měsíc. Ale vždy pomůže restart dovecotu. Tzn. bude to něco na tom serveru.
25.10.2023 11:04 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: dovecot thunderbird píše pravděpodobně jste překročili maximální počet spojení
A nie je náhodou problematická vzorka pripojená cez vypadávajúcu (stateless) IPv6?
Popis "Nelze se připojit na IMAP server" totižto nezobrazuje chybu, ale jej dôsledok. Navýšenie počtu aktívnych konekcií alebo reštart služby nemusí vyriešiť problém, a ani ho oddialiť.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.