Պաշտպանեք Zimbra OSE-ն դաժան ուժից և DoS հարձակումներից

Zimbra Collaboration Suite Open-Source Edition-ն ունի մի քանի հզոր գործիքներ՝ ապահովելու տեղեկատվական անվտանգությունը: Նրանց մեջ Postscreen - փոստի սերվերը բոտնետների հարձակումներից պաշտպանելու լուծում, ClamAV - հակավիրուս, որը կարող է սկանավորել մուտքային ֆայլերը և տառերը վնասակար ծրագրերով վարակվելու համար, ինչպես նաև SpamAssassin - Այսօրվա լավագույն սպամի զտիչներից մեկը: Այնուամենայնիվ, այս գործիքները չեն կարողանում պաշտպանել Zimbra OSE-ն բիրտ ուժի հարձակումներից: Ոչ առավել էլեգանտ, բայց դեռևս բավականին արդյունավետ, կոպիտ պարտադրող գաղտնաբառերը, որոնք օգտագործում են հատուկ բառարան, հղի է ոչ միայն հաջող հակերացման հավանականությամբ՝ դրանից բխող բոլոր հետևանքներով, այլև սերվերի վրա զգալի բեռի ստեղծմամբ, որը մշակում է բոլորը։ Zimbra OSE-ով սերվերը կոտրելու անհաջող փորձեր:

Պաշտպանեք Zimbra OSE-ն դաժան ուժից և DoS հարձակումներից

Սկզբունքորեն, դուք կարող եք պաշտպանվել ձեզ կոպիտ ուժից՝ օգտագործելով ստանդարտ Zimbra OSE գործիքներ: Գաղտնաբառի անվտանգության քաղաքականության կարգավորումները թույլ են տալիս սահմանել գաղտնաբառի մուտքագրման անհաջող փորձերի քանակը, որից հետո հնարավոր հարձակման ենթարկված հաշիվը արգելափակվում է: Այս մոտեցման հիմնական խնդիրն այն է, որ առաջանում են իրավիճակներ, երբ մեկ կամ մի քանի աշխատակիցների հաշիվները կարող են արգելափակվել բիրտ ուժի հարձակման պատճառով, որի հետ նրանք անելիք չունեն, և աշխատողների աշխատանքի արդյունքում առաջացած պարապուրդը կարող է մեծ կորուստներ բերել: ընկերություն. Այդ իսկ պատճառով ավելի լավ է չօգտագործել բիրտ ուժից պաշտպանության այս տարբերակը։

Պաշտպանեք Zimbra OSE-ն դաժան ուժից և DoS հարձակումներից

Կոպիտ ուժից պաշտպանվելու համար DoSFilter կոչվող հատուկ գործիքը շատ ավելի հարմար է, որը ներկառուցված է Zimbra OSE-ում և կարող է ավտոմատ կերպով դադարեցնել կապը Zimbra OSE-ի հետ HTTP-ի միջոցով: Այլ կերպ ասած, DoSFilter-ի գործառնական սկզբունքը նման է PostScreen-ի գործառնական սկզբունքին, միայն այն օգտագործվում է այլ արձանագրության համար։ Ի սկզբանե նախագծված է սահմանափակելու գործողությունների քանակը մեկ օգտագործողի կողմից, DoSFilter-ը կարող է նաև ապահովել կոպիտ ուժի պաշտպանություն: Դրա հիմնական տարբերությունը Zimbra-ում ներկառուցված գործիքից այն է, որ որոշակի թվով անհաջող փորձերից հետո այն արգելափակում է ոչ թե ինքը օգտագործողին, այլ IP հասցեն, որից մի քանի փորձեր են արվում մուտք գործել որոշակի հաշիվ: Դրա շնորհիվ համակարգի ադմինիստրատորը կարող է ոչ միայն պաշտպանել կոպիտ ուժից, այլև խուսափել ընկերության աշխատակիցների արգելափակումից՝ պարզապես ավելացնելով իր ընկերության ներքին ցանցը վստահելի IP հասցեների և ենթացանցերի ցանկում:

DoSFilter-ի մեծ առավելությունն այն է, որ ի լրումն որոշակի հաշիվ մուտք գործելու բազմաթիվ փորձերի, այս գործիքի միջոցով դուք կարող եք ավտոմատ կերպով արգելափակել այն հարձակվողներին, ովքեր տիրացել են աշխատողի նույնականացման տվյալներին, այնուհետև հաջողությամբ մուտք են գործել նրա հաշիվ և սկսել են ուղարկել հարյուրավոր հարցումներ: սերվերին:

Դուք կարող եք կարգավորել DoSFilter-ը՝ օգտագործելով հետևյալ վահանակի հրամանները.

  • zimbraHttpDosFilterMaxRequestsPerSec — Օգտագործելով այս հրամանը, կարող եք սահմանել մեկ օգտագործողի համար թույլատրված կապերի առավելագույն քանակը: Լռելյայն այս արժեքը 30 կապ է:
  • zimbraHttpDosFilterDelayMillis - Օգտագործելով այս հրամանը, կարող եք միլիվայրկյաններով ուշացում սահմանել այն կապերի համար, որոնք կգերազանցեն նախորդ հրամանով սահմանված սահմանը: Ի լրումն ամբողջ թվերի, ադմինիստրատորը կարող է նշել 0, որպեսզի ընդհանրապես ուշացում չլինի, և -1, որպեսզի նշված սահմանը գերազանցող բոլոր կապերը պարզապես ընդհատվեն։ Նախնական արժեքը -1 է:
  • zimbraHttpThrottleSafeIPs — Օգտագործելով այս հրամանը՝ ադմինիստրատորը կարող է նշել վստահելի IP հասցեներ և ենթացանցեր, որոնք չեն ենթարկվի վերը թվարկված սահմանափակումներին: Նշենք, որ այս հրամանի շարահյուսությունը կարող է տարբեր լինել՝ կախված ցանկալի արդյունքից: Այսպիսով, օրինակ, մուտքագրելով հրամանը zmprov mcf zimbraHttpThrottleSafeIPs 127.0.0.1, դուք ամբողջությամբ կվերագրեք ամբողջ ցուցակը և դրանում կթողնեք միայն մեկ IP հասցե։ Եթե ​​մուտքագրեք հրամանը zmprov mcf +zimbraHttpThrottleSafeIPs 127.0.0.1, ձեր մուտքագրած IP հասցեն կավելացվի սպիտակ ցուցակում: Նմանապես, օգտագործելով հանման նշանը, դուք կարող եք հեռացնել ցանկացած IP թույլատրված ցուցակից:

Խնդրում ենք նկատի ունենալ, որ DoSFilter-ը կարող է մի շարք խնդիրներ ստեղծել Zextras Suite Pro ընդլայնումներն օգտագործելիս: Դրանցից խուսափելու համար խորհուրդ ենք տալիս ավելացնել միաժամանակյա միացումների թիվը 30-ից մինչև 100՝ օգտագործելով հրամանը. zmprov mcf zimbraHttpDosFilterMaxRequestsPerSec 100. Բացի այդ, խորհուրդ ենք տալիս ավելացնել ձեռնարկության ներքին ցանցը թույլատրվածների ցանկում: Դա կարելի է անել՝ օգտագործելով հրամանը zmprov mcf +zimbraHttpThrottleSafeIPs 192.168.0.0/24. DoSFilter-ում որևէ փոփոխություն կատարելուց հետո համոզվեք, որ վերագործարկեք ձեր փոստի սերվերը՝ օգտագործելով հրամանը zmmailboxdctl վերագործարկում.

DoSFilter-ի հիմնական թերությունն այն է, որ այն աշխատում է հավելվածի մակարդակով և, հետևաբար, կարող է սահմանափակել միայն հարձակվողների կարողությունը սերվերի վրա տարբեր գործողություններ իրականացնելու համար՝ չսահմանափակելով հյուսիսին միանալու հնարավորությունը: Այդ պատճառով սերվերին նույնականացման կամ նամակներ ուղարկելու հարցումները, թեև դրանք ակնհայտորեն ձախողվելու են, այնուամենայնիվ կներկայացնեն հին լավ DoS հարձակում, որը հնարավոր չէ կանգնեցնել այդքան բարձր մակարդակով:

Ձեր կորպորատիվ սերվերը Zimbra OSE-ով ամբողջությամբ ապահովելու համար կարող եք օգտագործել այնպիսի լուծում, ինչպիսին է Fail2ban-ը, որը շրջանակ է, որը կարող է անընդհատ վերահսկել տեղեկատվական համակարգի տեղեկամատյանները՝ կրկնվող գործողությունների համար և արգելափակել ներխուժողին՝ փոխելով firewall-ի կարգավորումները: Նման ցածր մակարդակով արգելափակումը թույլ է տալիս անջատել հարձակվողներին հենց սերվերին IP միացման փուլում։ Այսպիսով, Fail2Ban-ը կարող է կատարելապես լրացնել DoSFilter-ի միջոցով կառուցված պաշտպանությունը: Եկեք պարզենք, թե ինչպես կարող եք միացնել Fail2Ban-ը Zimbra OSE-ի հետ և դրանով իսկ բարձրացնել ձեր ձեռնարկության ՏՏ ենթակառուցվածքի անվտանգությունը:

Ինչպես ձեռնարկությունների դասի ցանկացած այլ հավելված, Zimbra Collaboration Suite Open-Source Edition-ը պահպանում է իր աշխատանքի մանրամասն մատյանները: Նրանցից շատերը պահվում են թղթապանակում /opt/zimbra/log/ ֆայլերի տեսքով։ Ահա դրանցից ընդամենը մի քանիսը.

  • mailbox.log — Նավահանգիստ փոստի ծառայության մատյաններ
  • audit.log - նույնականացման տեղեկամատյաններ
  • clamd.log — հակավիրուսային գործողության մատյաններ
  • freshclam.log - հակավիրուսային թարմացման տեղեկամատյաններ
  • convertd.log — հավելվածի փոխարկիչի տեղեկամատյաններ
  • zimbrastats.csv - սերվերի աշխատանքի տեղեկամատյաններ

Զիմբրայի տեղեկամատյանները կարելի է գտնել նաև ֆայլում /var/log/zimbra.log, որտեղ պահվում են Postfix-ի և հենց Zimbra-ի տեղեկամատյանները։

Մեր համակարգը բիրտ ուժից պաշտպանելու համար մենք վերահսկելու ենք փոստարկղ.log, աուդիտ.log и zimbra.log.

Որպեսզի ամեն ինչ աշխատի, անհրաժեշտ է, որ ձեր սերվերի վրա տեղադրվեն Fail2Ban-ը և iptable-ները Zimbra OSE-ով։ Եթե ​​դուք օգտագործում եք Ubuntu, կարող եք դա անել՝ օգտագործելով հրամանները dpkg -s fail2ban, եթե օգտագործում եք CentOS, կարող եք ստուգել սա՝ օգտագործելով հրամանները yum ցուցակը տեղադրված է fail2ban. Եթե ​​դուք չունեք տեղադրված Fail2Ban, ապա այն տեղադրելը խնդիր չի լինի, քանի որ այս փաթեթը հասանելի է գրեթե բոլոր ստանդարտ պահեստներում:

Բոլոր անհրաժեշտ ծրագրերը տեղադրելուց հետո կարող եք սկսել Fail2Ban-ի կարգավորումը: Դա անելու համար դուք պետք է ստեղծեք կազմաձևման ֆայլ /etc/fail2ban/filter.d/zimbra.conf, որտեղ մենք կգրենք կանոնավոր արտահայտություններ Zimbra OSE տեղեկամատյանների համար, որոնք կհամապատասխանեն սխալ մուտքի փորձերին և գործարկեն Fail2Ban մեխանիզմները։ Ահա zimbra.conf-ի բովանդակության օրինակ՝ մի շարք կանոնավոր արտահայտություններով, որոնք համապատասխանում են տարբեր սխալներին, որոնք Zimbra OSE-ն անում է, երբ նույնականացման փորձը ձախողվում է.

# 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 =

Zimbra OSE-ի կանոնավոր արտահայտությունները կազմելուց հետո ժամանակն է սկսել խմբագրել հենց Fail2ban-ի կոնֆիգուրացիան: Այս օգտակար ծառայության կարգավորումները գտնվում են ֆայլում /etc/fail2ban/jail.conf. Ամեն դեպքում, եկեք դրա կրկնօրինակը պատրաստենք՝ օգտագործելով հրամանը cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak. Դրանից հետո մենք կնվազեցնենք այս ֆայլը մոտավորապես հետևյալ ձևի.

# 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, [email protected], [email protected]]
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, [email protected]]
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, [email protected] ]
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, [email protected]]
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, [email protected]]
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, [email protected]]
logpath = /var/log/zimbra.log
bantime = -1
maxretry = 5

Չնայած այս օրինակը բավականին ընդհանուր է, այնուամենայնիվ արժե բացատրել որոշ պարամետրեր, որոնք դուք կարող եք փոխել, երբ ինքներդ կարգավորեք Fail2Ban:

  • Անտեսել — օգտագործելով այս պարամետրը, դուք կարող եք նշել որոշակի ip կամ ենթացանց, որտեղից Fail2Ban-ը չպետք է ստուգի հասցեները: Որպես կանոն, ձեռնարկության ներքին ցանցը և այլ վստահելի հասցեներ ավելացվում են անտեսվածների ցանկին։
  • Բանթայմ — Ժամանակը, որի համար իրավախախտին կարգելեն: Չափված վայրկյաններով: -1 արժեքը նշանակում է մշտական ​​արգելք:
  • Մաքսետրի — Առավելագույն թիվը, երբ մեկ IP հասցեն կարող է փորձել մուտք գործել սերվեր:
  • Փոստ ուղարկել — Պարամետր, որը թույլ է տալիս ավտոմատ կերպով ուղարկել էլփոստի ծանուցումներ, երբ գործարկվում է Fail2Ban:
  • Գտեք ժամանակ — Պարամետր, որը թույլ է տալիս սահմանել այն ժամանակային միջակայքը, որից հետո IP հասցեն կարող է կրկին փորձել մուտք գործել սերվեր անհաջող փորձերի առավելագույն քանակի սպառումից հետո (maxretry պարամետր)

Ֆայլը Fail2Ban կարգավորումներով պահպանելուց հետո մնում է միայն վերագործարկել այս օգտակար ծրագիրը՝ օգտագործելով հրամանը ծառայության fail2ban վերագործարկումը. Վերագործարկումից հետո Zimbra-ի հիմնական տեղեկամատյանները կսկսեն մշտապես վերահսկվել կանոնավոր արտահայտություններին համապատասխանելու համար: Դրա շնորհիվ ադմինիստրատորը կկարողանա գործնականում վերացնել հարձակվողի ներթափանցման ցանկացած հնարավորություն ոչ միայն Zimbra Collaboration Suite Open-Source Edition փոստարկղեր, այլ նաև պաշտպանել բոլոր ծառայությունները, որոնք աշխատում են Zimbra OSE-ում, ինչպես նաև տեղյակ լինել չարտոնված մուտք ստանալու ցանկացած փորձի մասին: .

Zextras Suite-ի հետ կապված բոլոր հարցերի համար կարող եք կապվել Zextras-ի ներկայացուցիչ Եկատերինա Տրիանդաֆիլիդիի հետ էլ. [էլեկտրոնային փոստով պաշտպանված]

Source: www.habr.com

Добавить комментарий