Zimbra Collaboration Suite Open-Source Edition ka nĂ« arsenalin e saj disa mjete tĂ« fuqishme pĂ«r tĂ« siguruar sigurinĂ« e informacionit. NdĂ«r to â njĂ« zgjidhje pĂ«r mbrojtjen e serverit tĂ« postĂ«s nga sulmet e botnetĂ«ve, ClamAV â njĂ« antivirus i cili mund tĂ« kontrollojĂ« skedarĂ«t dhe mesazhet e ardhshme pĂ«r infeksionet nga programe tĂ« dĂ«mshme, si dhe â njĂ« nga filtrat mĂ« tĂ« mirĂ« tĂ« spam-it sot. MegjithatĂ«, kĂ«to mjete nuk janĂ« nĂ« gjendje tĂ« sigurojnĂ« mbrojtjen e Zimbra OSE nga njĂ« lloj sulmi si brute force. NjĂ« metodĂ« jo e eleganta, por ende mjaft efektive e provimit tĂ« kodeve tĂ« fjalĂ«ve pĂ«rmes njĂ« fjalori tĂ« veçantĂ«, sjell jo vetĂ«m probabilitetin e njĂ« thyerjeje tĂ« suksesshme me tĂ« gjitha pasojat qĂ« rrjedhin, por gjithashtu krijon njĂ« ngarkesĂ« tĂ« konsiderueshme nĂ« serverin qĂ« trajton tĂ« gjitha pĂ«rpjekjet e dĂ«shtuara pĂ«r tĂ« depĂ«rtuar nĂ« serverin me Zimbra OSE.

Në parim, mbrojtja nga brute force mund të arrihet me mjete standarde të Zimbra OSE. Cilësimet e politikës së sigurisë së fjalëkalimeve lejojnë përcaktimin e numrit të përpjekjeve të dështuara për të futur fjalëkalimin, pas të cilave llogaria potencialisht e sulmuar bllokohet. Problemi kryesor me këtë qasje është se ndodhin situata kur llogaritë e një ose disa punonjësve mund të bllokohen për shkak të një sulmi brute force me të cilin ata nuk kanë aspak lidhje, dhe ndalesa që rezulton në punën e punonjësve mund të sjellë humbje të mëdha për kompaninë. Prandaj, ky opsion mbrojtjeje nga brute force më mirë të mos aplikohet.

Për mbrojtjen nga brutforca, një mjet i veçantë i quajtur DoSFilter është shumë më i përshtatshëm, i cili është i integruar në Zimbra OSE dhe mund të ndërpresë automatikisht lidhjen me Zimbra OSE përmes HTTP. Me fjalë të tjera, parimi i funksionimit të DoSFilter është i ngjashëm me parimin e PostScreen, por përdoret për një protokoll tjetër. I destinuar fillimisht për të kufizuar numrin e veprimeve që një përdorues mund të kryejë, DoSFilter gjithashtu mund të sigurojë mbrojtje nga brutforca. Dallimi kryesor midis këtij mjeti dhe atij të integruar në Zimbra është se, pas një numri të caktuar të përpjekjeve të pasuksesshme, ai bllokon jo përdoruesin, por adresën IP nga e cila po kryhen shumë përpjekje për të hyrë në një llogari të caktuar. Falë kësaj, administratorët e sistemeve mund të mbrohen nga brutforca dhe të shmangin bllokimin e punonjësve të kompanisë, thjesht duke shtuar adresat IP dhe subnetet e brendshme të kompanisë në listën e IP-ve të besuara.
Një përparësi e madhe e DoSFilter është se, përveç shumë përpjekjeve për të hyrë në një llogari të caktuar, me këtë mjet mund të bllokoni automatikisht ata sulmues që kanë fituar të dhënat e autentikimit të punonjësit, dhe më pas kanë hyrë me sukses në llogarinë e tij dhe kanë filluar të dërgojnë qindra kërkesa në server.
Për të konfiguruar DoSFilter, mund të përdoren komandat e mëposhtme të konsolës:
- zimbraHttpDosFilterMaxRequestsPerSec â Me kĂ«tĂ« komandĂ« mund tĂ« pĂ«rcaktoni numrin maksimal tĂ« lidhjeve tĂ« lejuara pĂ«r njĂ« pĂ«rdorues tĂ« vetĂ«m. NdĂ«rsa me default, kjo vlerĂ« Ă«shtĂ« 30 lidhje.
- zimbraHttpDosFilterDelayMillis â Me kĂ«tĂ« komandĂ« mund tĂ« pĂ«rcaktoni njĂ« vonesĂ« nĂ« milisekonda pĂ«r lidhjet qĂ« do tĂ« kalojnĂ« limitin e caktuar nga komanda e mĂ«parshme. PĂ«rveç vlerave tĂ« plota, administratori mund tĂ« caktojĂ« 0, pĂ«r tĂ« eliminuar çdo vonesĂ«, dhe gjithashtu -1, qĂ« do tĂ« thotĂ« se tĂ« gjitha lidhjet qĂ« kalojnĂ« limitin e caktuar do tĂ« ndalohen. Me default, kjo vlerĂ« Ă«shtĂ« -1.
- zimbraHttpThrottleSafeIPs â Me kĂ«tĂ« komandĂ«, administratori mund tĂ« pĂ«rcaktojĂ« adresat IP dhe subnetet e besuara, pĂ«r tĂ« cilat nuk do tĂ« aplikohet asnjĂ« nga kufizimet e mĂ«sipĂ«rme. Vlen tĂ« theksohet se sintaksa e kĂ«saj komande mund tĂ« ndryshojĂ« nĂ« varĂ«si tĂ« rezultatit tĂ« dĂ«shiruar. PĂ«r shembull, duke futur komandĂ«n zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, do tĂ« rivendosni plotĂ«sisht listĂ«n e tĂ« gjithave dhe do tĂ« lini vetĂ«m njĂ« adresĂ« IP nĂ« tĂ«. NĂ«se hyni komandĂ«n zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, adresa IP qĂ« ju vendosni do tĂ« shtohet nĂ« listĂ«n e bardhĂ«. Po ashtu, duke pĂ«rdorur shenjĂ«n e zbritjes, mund tĂ« hiqni ndonjĂ« IP nga lista e lejuar.
Vlen të theksohet se DoSFilter mund të krijojë disa probleme kur përdoren shtesa nga Zextras Suite Pro. Për të shmangur këto, rekomandojmë që numri i lidhjeve paralele të rritet nga 30 në 100 me komandën zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Gjithashtu, rekomandojmë që të shtoni rrjetin e brendshëm të ndërmarrjes në listën e lejuar. Këtë mund ta bëni me komandën zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. Pas çdo ndryshimi në DoSFilter, sigurohuni që ta rinitni serverin e postës me komandën zmmailboxdctl restart.
Disavantazhi kryesor i DoSFilter është se ai funksionon në nivelin e aplikacionit dhe për këtë arsye mund të kufizojë vetëm mundësitë e aktorëve të keq duke kryer veprime të ndryshme në server, pa kufizuar lidhjen me serverin. Prandaj, kërkesat e dërguara në server për autentifikim ose dërgimin e mesazheve, ndonëse do të dështojnë, do të mbesin një sulm i njohur DoS, i cili nuk mund të ndalet në një nivel kaq të lartë.
Për të siguruar plotësisht serverin tuaj të korporatës me Zimbra OSE, mund të përdorni një zgjidhje si Fail2ban, e cila është një kuadër që ndihmon në monitorimin e vazhdueshëm të logeve të sistemeve informative për aktivitete të përsëritura dhe bllokimin e shkelësve përmes ndryshimit të cilësimeve të murit mbrojtës. Bllokimi në një nivel kaq të ulët lejon që aktorët e keq të çaktivizohen që në fazën e lidhjes IP me serverin. Në këtë mënyrë, Fail2Ban mund të plotësojë mjaft mirë mbrojtjen e ndërtuar nga DoSFilter. Le t'i zbulojmë se si mund të lidhet Fail2Ban me Zimbra OSE dhe si të rritë kështu sigurinë e infrastrukturës IT të ndërmarrjes tuaj.
Si çdo aplikacion tjetër të klasës korporative, Zimbra Collaboration Suite Open-Source Edition mban regjistra të detajuar të funksionimit të saj. Shumica e këtyre janë ruajtur në dosjen /opt/zimbra/log/ në formë skedarësh. Ja disa prej tyre:
- mailbox.log â regjistrat e shĂ«rbimit tĂ« postĂ«s Jetty
- audit.log â regjistrat e autentifikimit
- clamd.log â regjistrat e operacioneve tĂ« antivirusit
- freshclam.log â regjistrat e pĂ«rditĂ«simeve tĂ« antivirusit
- convertd.log â regjistrat e konvertuesit tĂ« tĂ« dhĂ«nave
- zimbrastats.csv â regjistrat e performancĂ«s sĂ« serverit
Gjithashtu, regjistrat e Zimbra mund të gjenden në skedarin /var/log/zimbra.log, ku regjistrohen operacionet e Postfix dhe Zimbra vetë.
Për të mbrojtur sistemin tonë nga brute force, do të monitorojmë mailbox.log, audit.log dhe zimbra.log.
Për të siguruar funksionimin e gjithçkaje, është e nevojshme që në serverin tuaj me Zimbra OSE të jenë instaluar Fail2Ban dhe iptables. Nëse përdorni Ubuntu, mund ta bëni këtë me komandat dpkg -s fail2ban, ndërsa nëse përdorni CentOS, mund ta kontrolloni këtë me komandat yum list installed fail2ban. Në rast se Fail2Ban nuk është instaluar, instalimi i tij nuk do të jetë problem, pasi ky paket është në praktisht të gjithë repository të standardeve.
Pas instalimit të gjithë softuerit të nevojshëm, mund të filloni konfigurimin e Fail2Ban. Për këtë, është e nevojshme të krijoni një skedar konfigurimi /etc/fail2ban/filter.d/zimbra.conf, në të cilin do të shqyrtojmë shprehjet e rregullta për regjistrat e Zimbra OSE që do të përputhen me përpjekjet e gabuara për të hyrë dhe do të aktivizojnë mekanizmat e Fail2Ban. Ja një shembull përmbajtjeje të zimbra.conf me një grup shprehjesh të rregullta që u përgjigjen gabimeve të ndryshme që jepen në Zimbra OSE në rastin e një përpjekjeje të dështuara për autentifikim:
# Fail2Ban configuration file
[Definition]
failregex = [ip=<HOST>;] account - authentication failed for .* (no such account)$
[ip=<HOST>;] security - cmd=Auth; .* error=authentication failed for .*, invalid password;$
;oip=<HOST>;.* security - cmd=Auth; .* protocol=soap; error=authentication failed for .* invalid password;$
;oip=<HOST>;.* security - cmd=Auth; .* protocol=imap; error=authentication failed for .* invalid password;$
[oip=<HOST>;.* SoapEngine - handler exception: authentication failed for .*, account not found$
WARN .*;ip=<HOST>;ua=ZimbraWebClient .* security - cmd=AdminAuth; .* error=authentication failed for .*;$
ignoreregex =Pasi shprehjet e rregullta për Zimbra OSE janë përgatitur, është koha të filloni redaktimin e konfigurimit të vetë Fail2ban. Cilësimet e këtij mjeti ndodhen në skedarin /etc/fail2ban/jail.conf. Për çdo rast, le të bëjmë një kopje rezervë me komandën cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Pas kësaj, le të sjellim këtë skedar në një formë përafërsisht si kjo:
# Fail2Ban configuration file
[DEFAULT]
ignoreip = 192.168.0.1/24
bantime = 600
findtime = 600
maxretry = 5
backend = auto
[ssh-iptables]
enabled = false
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=admin@company.ru, sender=fail2ban@company.ru]
logpath = /var/log/messages
maxretry = 5
[sasl-iptables]
enabled = false
filter = sasl
backend = polling
action = iptables[name=sasl, port=smtp, protocol=tcp]
sendmail-whois[name=sasl, dest=support@company.ru]
logpath = /var/log/zimbra.log
[ssh-tcpwrapper]
enabled = false
filter = sshd
action = hostsdeny
sendmail-whois[name=SSH, dest=support@ company.ru]
ignoreregex = for myuser from
logpath = /var/log/messages
[zimbra-account]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-account]
sendmail[name=zimbra-account, dest=support@company.ru ]
logpath = /opt/zimbra/log/mailbox.log
bantime = 600
maxretry = 5
[zimbra-audit]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-audit]
sendmail[name=Zimbra-audit, dest=support@company.ru]
logpath = /opt/zimbra/log/audit.log
bantime = 600
maxretry = 5
[zimbra-recipient]
enabled = true
filter = zimbra
action = iptables-allports[name=zimbra-recipient]
sendmail[name=Zimbra-recipient, dest=support@company.ru]
logpath = /var/log/zimbra.log
bantime = 172800
maxretry = 5
[postfix]
enabled = true
filter = postfix
action = iptables-multiport[name=postfix, port=smtp, protocol=tcp]
sendmail-buffered[name=Postfix, dest=support@company.ru]
logpath = /var/log/zimbra.log
bantime = -1
maxretry = 5Ky shembull, megjithëse është mjaft universale, vlen të shpjegohen disa parametra që ndoshta dëshironi të ndryshoni gjatë konfigurimit të pavarur të Fail2Ban:
- Ignoreip â me ndihmĂ«n e kĂ«tij parametri mund tĂ« specifikoni njĂ« IP ose njĂ« subnet tĂ« caktuar, adresat nga tĂ« cilat Fail2Ban nuk duhet tĂ« pĂ«rllogarisĂ«. Si rregull, lista e adresave tĂ« injoruara pĂ«rfshin rrjetin e brendshĂ«m tĂ« kompanisĂ« dhe adresat e tjera tĂ« besuara.
- Bantime â Koha pĂ«r tĂ« cilĂ«n shkelĂ«si do tĂ« bllokohet. Matet nĂ« sekonda. Vlera -1 do tĂ« thotĂ« bllokim tĂ« pĂ«rhershĂ«m.
- Maxretry â Numri maksimal i herĂ«ve qĂ« njĂ« adresĂ« IP mund tĂ« pĂ«rpiqet tĂ« aksesojĂ« serverin.
- Sendmail â Konfigurimi qĂ« lejon dĂ«rgimin automatik tĂ« njoftimeve me email pĂ«r aktivizimin e Fail2Ban.
- Findtime â Konfigurimi qĂ« lejon caktimin e njĂ« intervali kohor, pas sĂ« cilĂ«s adresa IP mund tĂ« provojĂ« pĂ«rsĂ«ri tĂ« qasje nĂ« server pas shterjes sĂ« numrit maksimal tĂ« pĂ«rpjekjeve tĂ« pasuksesshme (parametri maxretry)
Pas ruajtjes së skedarit me konfigurimet e Fail2Ban, mbetet vetëm të rifilloni këtë utilitar duke përdorur komandën service fail2ban restart. Pas rifillimit, logjet kryesore të Zimbra do të fillojnë të monitorohen vazhdimisht për përputhje me shprehje të rregullta. Falë kësaj, administratori do të jetë në gjendje të eliminojë çdo mundësi të infiltrimit të një sulmuesi jo vetëm në kuti postare të Zimbra Collaboration Suite Open-Source Edition, por gjithashtu të mbrojë të gjitha shërbimet që funksionojnë brenda Zimbra OSE dhe të jetë në dijeni të çdo përpjekjeje për qasje të paautorizuar.
Për të gjitha pyetjet që lidhen me Zextras Suite mund të kontaktoni Përfaqësuesin e kompanisë "Zextras", Ekaterina Triandafiliidi në email katerina@zextras.com
Burimi: habr.com
