Εγκαταστήστε τον 'iRedMail' (Πλήρως προβεβλημένος διακομιστής αλληλογραφίας) με εικονικούς τομείς, Webmail, SpamAssassin & ClamAV σε Linux


Μετά τις υπηρεσίες HTTP και σκιώδους DNS, η αλληλογραφία (SMTP, POP, IMAP και όλα τα σχετικά πρωτόκολλα κρυπτογραφημένης αλληλογραφίας) είναι μια από τις πιο χρησιμοποιούμενες υπηρεσίες στο Διαδίκτυο και επίσης, μια από τις πιο λογικές, λόγω των διακομιστών αλληλογραφίας spam και ανοιχτής αναμετάδοσης.

Αυτό το σεμινάριο θα σας καθοδηγήσει στην εγκατάσταση ενός πλήρους διακομιστή αλληλογραφίας με λογισμικό MTA, MDA και MUA σε λίγα λεπτά στο RHEL, CentOS, Επιστημονικό Linux και Debian, Ubuntu, Linux Mint με Postfix, εικονικούς τομείς και χρήστες με MySQL, Dovecot – υποστήριξη για POP3/POP3S, IMAP/IMAPS, Roundcube – Webmail και επίσης, σάρωση ανεπιθύμητης αλληλογραφίας και ιών με SpamAssassin και ClamAV, όλα εγκατεστημένα χρησιμοποιώντας ένα ενιαίο πακέτο λογισμικού που ονομάζεται «iRedMail».

Τι είναι το iRedMail

Το iRedMail είναι μια ολοκληρωμένη λύση διακομιστή αλληλογραφίας ανοιχτού κώδικα που μπορεί να αφιερώσει πολύ χρόνο στους διαχειριστές συστήματος για πολύπλοκες διαμορφώσεις, έχει υποστήριξη για όλες τις μεγάλες διανομές Linux και αποστέλλεται με τα ακόλουθα πακέτα Linux.

  1. Postfix: Υπηρεσία SMTP – προεπιλεγμένο MTA.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, υπηρεσία Managesieve – προεπιλεγμένο MDA.
  3. Apache: Διακομιστής Ιστού.
  4. MySQL/PostgreSQL: Αποθήκευση δεδομένων εφαρμογών ή/και λογαριασμών αλληλογραφίας.
  5. OpenLDAP: Αποθήκευση λογαριασμών αλληλογραφίας.
  6. Πολιτική: Διακομιστής πολιτικών Postfix.
  7. Amavisd: Μια διεπαφή μεταξύ Postfix και SpamAssassin, ClamAV. Χρησιμοποιείται για ανίχνευση ανεπιθύμητων μηνυμάτων και ιών.
  8. Roundcube: Webmail – προεπιλεγμένη MUA.
  9. Awstats: Αναλυτής καταγραφής Apache και Postfix.
  10. Fail2ban: σαρώνει αρχεία καταγραφής (π.χ. /var/log/maillog) και αποκλείει IP που εμφανίζουν κακόβουλες προσπάθειες συστήματος.

Απαιτήσεις

  1. Ελάχιστη εγκατάσταση CentOS 6.5 – Οδηγός εγκατάστασης CentOS 6.5
  2. Μια έγκυρη εγγραφή DNS MX που οδηγεί στον διακομιστή αλληλογραφίας σας που είναι υπεύθυνος για το όνομα τομέα σας.

Επίσης, αυτό το σεμινάριο έχει σχεδιαστεί μόνο για σκοπούς δοκιμών και εκμάθησης και δεν χρησιμοποιεί έγκυρες εγγραφές MX, ούτε έγκυρη χαίτη τομέα DNS. – όνομα τοπικού τομέα που παρέχεται από το αρχείο κεντρικών υπολογιστών) αλλά έχετε υπόψη σας ότι, παρόλο που το σύστημά μας δεν μπορεί να λάβει μηνύματα ηλεκτρονικού ταχυδρομείου από τομείς διαδικτύου, μπορεί στην πραγματικότητα να αναμεταδίδει μηνύματα σε αυτούς τους διακομιστές αλληλογραφίας τομέα μέσω του Postfix MTA, ακόμα κι αν διαμένετε σε ιδιωτικό χώρο διευθύνσεων IP , χωρίς έγκυρη εγγραφή MX και χρήση φανταστικού τομέα, οπότε δώστε μεγάλη προσοχή σε αυτό που κάνετε.

Βήμα 1: Αρχικές διαμορφώσεις και στατική διεύθυνση IP

1. Μετά την πρώτη επανεκκίνηση, συνδεθείτε με τον λογαριασμό σας root και βεβαιωθείτε ότι το σύστημά σας είναι ενημερωμένο και εγκαταστήστε ορισμένα χρήσιμα πακέτα που απαιτούνται για μελλοντική χρήση.

Σε RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
Σε Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Επειδή αυτό το πλαίσιο λειτουργεί σαν Διακομιστής αλληλογραφίας, πρέπει να διαμορφωθεί μια στατική IP στη διεπαφή δικτύου. Για να προσθέσετε μια στατική IP, ανοίξτε και επεξεργαστείτε το αρχείο διαμορφώσεων NIC που βρίσκεται στη διαδρομή /etc/sysconfig/network-scripts/ και προσθέστε τις ακόλουθες τιμές.

Σε RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Χρησιμοποιήστε αυτό το αρχείο ως πρότυπο και αντικαταστήστε το με τις τιμές προσαρμογής σας.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Αφού ολοκληρώσετε την επεξεργασία του αρχείου NIC, ανοίξτε το αρχείο δικτύου από την ίδια τοποθεσία όπως παραπάνω και προσθέστε το μη πιστοποιημένο όνομα κεντρικού υπολογιστή του διακομιστή σας στην οδηγία HOSTNAME.

nano /etc/sysconfig/network-scripts/network

Σε Debian/Ubuntu/Linux Mint
nano /etc/network/interfaces

Αντικαταστήστε τις ακόλουθες τιμές με τις ρυθμίσεις σας.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Μόλις τελειώσετε με το αρχείο δικτύου σας, τώρα προσθέστε το όνομα κεντρικού υπολογιστή σας στο αρχείο /etc/hostname.

nano /etc/hostnames

3. Στη συνέχεια, ανοίξτε το αρχείο /etc/resolv.conf και προσθέστε το σύστημα των διακομιστών IP DNS σας ευρέως όπως στο παρακάτω στιγμιότυπο οθόνης.

nano /etc/resolv.conf

Προσθέστε το ακόλουθο περιεχόμενο με τους αγαπημένους σας διακομιστές ονομάτων.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Αφού εγγραφούν όλες οι παραπάνω διαμορφώσεις στα αντίστοιχα αρχεία τους, επανεκκινήστε την υπηρεσία δικτύου σας για να εφαρμόσετε νέες διαμορφώσεις και να τις επαληθεύσετε χρησιμοποιώντας τις εντολές ping και ifconfig.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. Τώρα που το στατικό δίκτυό σας είναι πλήρως λειτουργικό, επεξεργαστείτε το αρχείο /etc/hosts και προσθέστε το όνομα κεντρικού υπολογιστή που δεν πληροί τα κριτήρια και το FQDN, όπως στο παρακάτω παράδειγμα.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Για να επαληθεύσετε το πρόβλημα με τη διαμόρφωση του ονόματος κεντρικού υπολογιστή, εκτελέστε τις εντολές hostname και hostname –f.

hostname
hostname -f

6. Ένα άλλο χρήσιμο πακέτο είναι το bash-completion (ακολουθία εντολών αυτόματης συμπλήρωσης χρησιμοποιώντας το πλήκτρο [Tab]) το οποίο παρέχεται από το αποθετήριο EPEL στο RedHat βασισμένα συστήματα και στη συνέχεια ενημερώστε τις πηγές σας.

Σε RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Αφού ενημερωθούν οι πηγές σας, εγκαταστήστε το βοηθητικό πρόγραμμα bash-completion (απαντήστε Ναι σε όλες τις ερωτήσεις).

yum install bash-completion

Σε Debian/Ubuntu/Linux Mint

Το πακέτο συμπλήρωσης bash στα συστήματα που βασίζονται στο Debian μπορεί εύκολα να εγκατασταθεί χρησιμοποιώντας την ακόλουθη εντολή.

apt-get install bash-completion

7. Το τελευταίο βήμα είναι να προσθέσετε έναν χρήστη συστήματος με δικαιώματα root. Πρώτα προσθέστε τον χρήστη και ορίστε τον κωδικό πρόσβασής του.

adduser your_user
passwd your_user

Αφού προστεθεί ο χρήστης σας, ανοίξτε το αρχείο /etc/sudoers και καταργήστε το σχόλιο της ομάδας %wheel και, στη συνέχεια, προσθέστε τον νέο χρήστη στην ομάδα τροχών.

nano /etc/sudoers

Αναζητήστε και καταργήστε το σχόλιο της γραμμής ομάδας τροχών για να μοιάζει με αυτό.

%wheel                ALL=(ALL)            ALL

Κλείστε το αρχείο και προσθέστε τον χρήστη σας στην ομάδα τροχών εκδίδοντας την ακόλουθη εντολή.

usermod -aG wheel your_user

8. Προτού ξεκινήσουμε τη λήψη και εγκατάσταση του λογισμικού iRedMail, επανεκκινήστε το σύστημά σας και, στη συνέχεια, συνδεθείτε με τον χρήστη που μόλις δημιουργήσατε και βεβαιωθείτε ότι όλα είναι πλήρως λειτουργικά.

Βήμα 2: Εγκαταστήστε το iRedMail

9. Για να κατεβάσετε το πακέτο αρχείου iRedMail, πρέπει να επισκεφτείτε την επίσημη ενότητα της σελίδας λήψης ή μπορείτε να χρησιμοποιήσετε την εντολή wget για λήψη της τελευταίας έκδοσης ( 0.8.7 τη στιγμή της συγγραφής αυτού του άρθρου).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Αφού ολοκληρωθεί η λήψη του αρχείου iRedMail, εξαγάγετε το χρησιμοποιώντας την ακόλουθη εντολή.

tar xvjf iRedMail-0.8.7.tar.bz2

11. Στη συνέχεια, εισαγάγετε τη νέα διαδρομή καταλόγου iRedMail που έχει εξαχθεί, επισημάνετε το σενάριο iRedMail.sh με εκτελέσιμα δικαιώματα και, στη συνέχεια, εκτελέστε το.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. Μετά τους αρχικούς ελέγχους του συστήματος, το πρόγραμμα αρχίζει να προσθέτει τον απαιτούμενο χώρο αποθήκευσης, τότε το πρώτο μήνυμα καθοδήγησης σάς ρωτά εάν θέλετε να συνεχίσετε με την εγκατάσταση ή να ματαιώσετε. Επιλέξτε Ναι για να συνεχίσετε.

13. Το iRedMail χρησιμοποιεί τη μορφή Maildir για την αποθήκευση μηνυμάτων ηλεκτρονικού ταχυδρομείου στη διαδρομή συστήματος /var/vmail όπου δημιουργεί χωριστούς καταλόγους για κάθε τομέα που προσαρτάτε στον διακομιστή MTA σας. Εάν αισθάνεστε άνετα με αυτήν τη διαδρομή, πατήστε Επόμενο για να προχωρήσετε με τις διαμορφώσεις διακομιστή, διαφορετικά δώστε την επιθυμητή τοποθεσία σας και, στη συνέχεια, Επόμενο.

14. Στο επόμενο βήμα επιλέξτε τη βάση δεδομένων που προτιμάτε για να αποθηκεύσετε ονόματα τομέων αλληλογραφίας και παραλήπτες που θα συνδεθούν στο Postfix. Αυτό το σεμινάριο εστιάζει στη βάση δεδομένων MySQL, επομένως επιλέξτε MySQL χρησιμοποιώντας τη γραμμή [Space] και, στη συνέχεια, συνεχίστε με το Επόμενο και παρέχετε έναν ισχυρό κωδικό πρόσβασης για τον ριζικό λογαριασμό MySQL.

15. Στο επόμενο βήμα προσθέστε το πρώτο σας εικονικό όνομα τομέα. Εάν έχετε ένα καταχωρημένο όνομα τομέα που προστέθηκε εδώ (προσθέστε μόνο το όνομα τομέα και όχι το σύστημα FQDN).

16. Από προεπιλογή, το iRedAdmin δημιουργεί έναν διαχειριστή χρήστη με πλήρεις εξουσίες στον διακομιστή σας, στον οποίο μπορείτε να προσπελάσετε μέσω του πίνακα iRedAdmin ή μέσω πρωτοκόλλων Dovecot (προεπιλεγμένη διεπαφή ηλεκτρονικού ταχυδρομείου Roundcube ή οποιοδήποτε άλλο λογισμικό IMAP/POP MUA όπως SquirrelMail, Rainloop , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm κ.λπ.).

Επίσης, αυτός ο λογαριασμός διαχείρισης ταχυδρομείου χρησιμοποιείται από το σύστημα για την αναφορά περιστατικών που σχετίζονται με λειτουργίες αλληλογραφίας ή άλλες αποτυχίες συστήματος ή χρήσιμες πληροφορίες – το logwatch συνήθως στέλνει τα στατιστικά του εδώ – επομένως επιλέξτε έναν ισχυρό κωδικό πρόσβασης και συνεχίστε με το Επόμενο.

17. Στο επόμενο βήμα επιλέξτε τα άλλα στοιχεία του διακομιστή αλληλογραφίας σας, όπως ο επίσημος πίνακας διαχείρισης iRedAdmin σε Postfix, κλειδιά τομέα DKIM – (προσθέτει μια υπογραφή στην κεφαλίδα μηνύματος αξιολογώντας την εμπιστοσύνη του μηνύματος για τελική παράδοση ή περαιτέρω αναμετάδοση), Roundcube προεπιλεγμένη διεπαφή webmail (εάν σκοπεύετε να χρησιμοποιήσετε άλλο Mail Delivery Agent, παραλείψτε το Roundcube), PhpMyadmin (αν είστε άνετοι με τη γραμμή εντολών MySQL, θα πρέπει επίσης να παραλείψετε την εγκατάσταση του PhpMyAdmin), Awstats (χρήσιμα στατιστικά στοιχεία καταγραφής και αναλυτής), Fail2ban (προστατεύει τον διακομιστή σας από επιθέσεις ωμής βίας).

18. Στην επόμενη σειρά ερωτήσεων, ανάλογα με τα προαιρετικά στοιχεία που έχετε εγκαταστήσει, θα πρέπει να απαντήσετε με Ναι. Δώστε ιδιαίτερη προσοχή στο αρχείο iRedMail.tips που βρίσκεται στον εξαγόμενο κατάλογο $HOME επειδή περιέχει ευαίσθητες πληροφορίες διακομιστή αλληλογραφίας όπως ονόματα χρήστη και κωδικούς πρόσβασης για εφαρμογές διακομιστή, αρχεία διαμορφώσεων διακομιστή, προεπιλεγμένη διεύθυνση URL και άλλες σημαντικές πληροφορίες.

19. Αφού ολοκληρωθεί η εγκατάσταση επανεκκινήστε το σύστημά σας και επαληθεύστε το αρχείο iRedmail.tips για να δείτε τις προεπιλεγμένες ρυθμίσεις του διακομιστή σας – θα πρέπει να μετακινήσετε αυτό το αρχείο σε ασφαλές διαδρομή συστήματος με 600 δικαιώματα σε αυτό.

20. Αποκτήστε πρόσβαση σε προεπιλεγμένες εφαρμογές ιστού στις ακόλουθες διευθύνσεις URL.

  1. Roundcube Webmail – https://domain_name ή server_IP/mail/
  2. Πίνακας IRedAdmin – https://domain_name ή server_IP/iredadmin/
  3. PhpMyadmin – https://domain_name ή server_IP /phpmyadmin/
  4. Awstats – https://domain_name ή server_IP/awstats/awstats.pl?config=web (ή ?config=smtp)
  5. Policyd anti-spam plugin – https://domain_name or server_IP/cluebringer/

Βήμα 3: Αρχικές διαμορφώσεις αλληλογραφίας Web

21. Ο πίνακας διαχείρισης iRedAdmin προσφέρει μια βασική διεπαφή αλληλογραφίας ιστού όπου μπορείτε να προσθέσετε εικονικούς τομείς και λογαριασμούς για τον διακομιστή αλληλογραφίας σας, τους οποίους μπορεί να χειριστεί το Postfix μέσω του συστήματος υποστήριξης της MySQL. Για να συνδεθείτε στον πίνακα iRedAdmin, τοποθετήστε το πρόγραμμα περιήγησής σας στη διεύθυνση URL https://domain_name/iredadmin/ ή https://server_IP/iredadmin/ και χρησιμοποιήστε τα παρακάτω προεπιλεγμένα διαπιστευτήρια.

  1. Όνομα χρήστη: postmaster@your_domain_name.tld
  2. Κωδικός πρόσβασης: ο κωδικός του ταχυδρομείου ορίστηκε στο σημείο #16

22. Για να προσθέσετε έναν χρήστη, πλοηγηθείτε στο Προσθήκη -> Χρήστης και, στη συνέχεια, καταχωρίστε τη διεύθυνση email και τον κωδικό πρόσβασης που επιθυμείτε. Μπορείτε επίσης να ρυθμίσετε τον χώρο που μπορεί να χειριστεί το γραμματοκιβώτιο χρήστη σας με το Quota και μπορείτε επίσης να προωθήσετε χρήστες με εξουσίες διαχείρισης μέσω του πίνακα iRedAdmin Επισήμανση χρήστη ως παγκόσμιου διαχειριστή.

23. Η ανάγνωση των μηνυμάτων ηλεκτρονικού ταχυδρομείου των χρηστών παρέχεται από τη διεπαφή ιστού Roundcube. Για να αποκτήσετε πρόσβαση σε αυτό, μεταβείτε στη διεύθυνση URL https://domain_name/mail ή https://server_IP/mail/ και παρέχετε τα διαπιστευτήρια του λογαριασμού αλληλογραφίας σας με τη μορφή [ email προστατεύεται].

Με την πρόσβαση στον προεπιλεγμένο διαχειριστή ταχυδρομικού λογαριασμού αλληλογραφίας, θα βρείτε δύο αρχικά μηνύματα ηλεκτρονικού ταχυδρομείου, το ένα από τα οποία περιλαμβάνει ευαίσθητες πληροφορίες του διακομιστή σας. Από εδώ μπορείτε πλέον να διαβάζετε μηνύματα ηλεκτρονικού ταχυδρομείου, να συντάσσετε και να στέλνετε μηνύματα σε άλλους χρήστες του τομέα.

24. Για να αποκτήσετε πρόσβαση στον διακομιστή Policyd anti-spam Policy μεταβείτε στη διεύθυνση https://domain_name/cluebringer ή https://server_IP/ cluebringer/ και παρέχετε τα ακόλουθα διαπιστευτήρια.

  1. Όνομα χρήστη: [email 
  2. Κωδικός πρόσβασης: κωδικός ταχυδρομείου

25. Για να δείτε τα στατιστικά στοιχεία του διακομιστή αλληλογραφίας σας, μεταβείτε στη διεύθυνση https://mydomain.lan/awstats/awstats.pl/?config=smtp ή https:// mydomain.lan/awstats/awstats.pl και χρησιμοποιήστε τα ακόλουθα διαπιστευτήρια.

  1. Όνομα χρήστη: [email 
  2. Κωδικός πρόσβασης: κωδικός ταχυδρομείου

26. Εάν θέλετε να ελέγξετε τις ανοιχτές συνδέσεις του διακομιστή σας και την κατάσταση του δαίμονα ακρόασης με τις προσαγωγές υποδοχές τους, δώστε τις ακόλουθες εντολές.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. Για να διορθώσετε άλλα προβλήματα με τις συναλλαγές αλληλογραφίας ή να δείτε τον διακομιστή σας να λειτουργεί ζωντανά, μπορείτε να χρησιμοποιήσετε τις ακόλουθες εντολές.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. Τώρα έχετε αναπτύξει ένα πλήρες περιβάλλον αλληλογραφίας, το μόνο που λείπει, τουλάχιστον σε αυτό το θέμα είναι ένα έγκυρο όνομα τομέα με εγγραφή MX DNS για λήψη αλληλογραφίας από άλλους τομείς διαδικτύου, αλλά ο τοπικός διακομιστής SMTP μπορεί και θα αναμεταδίδει αλληλογραφία σε άλλους έγκυρους τομείς Διαδικτύου, γι' αυτό δώστε ιδιαίτερη προσοχή σε ποιους στέλνετε μηνύματα, επειδή μπορεί να αντιμετωπίσετε παράνομα προβλήματα με τον ISP σας.

Από το παρακάτω στιγμιότυπο οθόνης μπορείτε να δείτε ότι έχω στείλει ένα μήνυμα ηλεκτρονικού ταχυδρομείου από τον τοπικό μη έγκυρο τομέα μου σε έναν από τους λογαριασμούς μου στο google.com και το μήνυμα ηλεκτρονικού ταχυδρομείου ελήφθη με επιτυχία από τον λογαριασμό μου στο google.

Σε αντίθεση με άλλες υπηρεσίες δικτύου όπου τις εγκαθιστάτε και τις ξεχνάτε για μεγάλο χρονικό διάστημα, η διαχείριση ενός διακομιστή αλληλογραφίας είναι μια συνεχής σκληρή δουλειά λόγω προβλημάτων που σχετίζονται με την υπηρεσία αλληλογραφίας, όπως το SPAM, η ανοιχτή αναμετάδοση και οι αναπηδήσεις μηνυμάτων.

Σύνδεσμοι αναφοράς

Αρχική σελίδα iRedMail