Προστασία του Zimbra OSE από ωμή βία και επιθέσεις DoS

Το Zimbra Collaboration Suite Open-Source Edition διαθέτει πολλά ισχυρά εργαλεία ασφάλειας πληροφοριών στο οπλοστάσιό του. Ανάμεσα τους Postscreen - μια λύση για την προστασία του διακομιστή αλληλογραφίας από επιθέσεις από botnet, ClamAV - ένα antivirus που μπορεί να σαρώσει εισερχόμενα αρχεία και γράμματα για μόλυνση από κακόβουλο λογισμικό, καθώς και 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 ZIMBRAHTTPTROTTLESAFEIPS 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, το οποίο είναι ένα πλαίσιο που μπορεί να παρακολουθεί συνεχώς τα αρχεία καταγραφής του συστήματος πληροφοριών για επαναλαμβανόμενες ενέργειες και να αποκλείει τον εισβολέα αλλάζοντας τις ρυθμίσεις του τείχους προστασίας. Ο αποκλεισμός σε τόσο χαμηλό επίπεδο σάς επιτρέπει να απενεργοποιήσετε τους εισβολείς ακριβώς στο στάδιο της σύνδεσης IP με τον διακομιστή. Έτσι, το Fail2Ban μπορεί να συμπληρώσει τέλεια την προστασία που έχει δημιουργηθεί με το DoSFilter. Ας μάθουμε πώς μπορείτε να κάνετε φίλους με το Fail2Ban Zimbra OSE και με αυτόν τον τρόπο να αυξήσετε την ασφάλεια της υποδομής πληροφορικής της επιχείρησής σας.

Όπως κάθε άλλη εφαρμογή εταιρικής κατηγορίας, το Zimbra Collaboration Suite Open-Source Edition διατηρεί λεπτομερή αρχεία καταγραφής της εργασίας του. Τα περισσότερα από αυτά είναι αποθηκευμένα στο φάκελο /opt/zimbra/log/ με τη μορφή αρχείων. Εδώ είναι μερικά μόνο από αυτά:

  • mailbox.log - Μητρώα υπηρεσίας αλληλογραφίας Jetty
  • audit.log - αρχεία καταγραφής ελέγχου ταυτότητας
  • clamd.log - αρχεία καταγραφής λειτουργίας προστασίας από ιούς
  • freshclam.log - αρχεία καταγραφής ενημερώσεων προστασίας από ιούς
  • convertd.log - αρχεία καταγραφής μετατροπέα συνημμένων
  • zimbrastats.csv - αρχεία καταγραφής απόδοσης διακομιστή

Επίσης, τα αρχεία καταγραφής Zimbra μπορούν να βρεθούν στο αρχείο /var/log/zimbra.log, όπου φυλάσσονται τα αρχεία καταγραφής της Postfix και της ίδιας της Zimbra.

Για να προστατεύσουμε το σύστημά μας από ωμή βία, θα παρακολουθούμε γραμματοκιβώτιο.log, έλεγχος.log и zimbra.log.

Για να λειτουργήσουν όλα, πρέπει να έχετε εγκατεστημένο το Fail2Ban και τα iptables στον διακομιστή 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:

  • Ignoreip - χρησιμοποιώντας αυτήν την παράμετρο, μπορείτε να καθορίσετε μια συγκεκριμένη ip ή υποδίκτυο, διευθύνσεις από τις οποίες δεν πρέπει να ελέγχει το Fail2Ban. Κατά κανόνα, το εσωτερικό δίκτυο της επιχείρησης και άλλες αξιόπιστες διευθύνσεις προστίθενται στη λίστα με αυτές που αγνοούνται.
  • Bantime - Ο χρόνος για τον οποίο θα απαγορευτεί ο παραβάτης. Μετρήθηκε σε δευτερόλεπτα. Η τιμή -1 σημαίνει αόριστο αποκλεισμό.
  • maxretry - Ο μέγιστος αριθμός φορών που μια διεύθυνση IP μπορεί να προσπαθήσει να αποκτήσει πρόσβαση στον διακομιστή.
  • Sendmail - Μια ρύθμιση που σας επιτρέπει να στέλνετε αυτόματα ειδοποιήσεις μέσω email σχετικά με τη λειτουργία του Fail2Ban.
  • Βρείτε χρόνο - Μια ρύθμιση που σας επιτρέπει να ορίσετε το χρονικό διάστημα μετά το πέρας του οποίου η διεύθυνση IP μπορεί να προσπαθήσει ξανά να αποκτήσει πρόσβαση στον διακομιστή αφού εξαντληθεί ο μέγιστος αριθμός ανεπιτυχών προσπαθειών (παράμετρος maxretry)

Αφού αποθηκεύσετε το αρχείο με τις ρυθμίσεις Fail2Ban, μένει μόνο να επανεκκινήσετε αυτό το βοηθητικό πρόγραμμα χρησιμοποιώντας την εντολή επανεκκίνηση της υπηρεσίας fail2ban. Μετά την επανεκκίνηση, τα κύρια αρχεία καταγραφής Zimbra θα παρακολουθούνται συνεχώς για κανονικές εκφράσεις. Χάρη σε αυτό, ο διαχειριστής θα είναι σε θέση να αποκλείσει ουσιαστικά κάθε πιθανότητα εισβολής ενός εισβολέα όχι μόνο στα γραμματοκιβώτια Open-Source Edition του Zimbra Collaboration Suite, αλλά και να προστατεύει όλες τις υπηρεσίες που εκτελούνται εντός του Zimbra OSE και να γνωρίζει τυχόν προσπάθειες απόκτησης μη εξουσιοδοτημένης πρόσβασης .

Για όλες τις ερωτήσεις που σχετίζονται με το Zextras Suite, μπορείτε να επικοινωνήσετε με την Εκπρόσωπο της Zextras Αικατερίνα Τριανταφυλλίδη μέσω e-mail [προστασία μέσω email]

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο