Το προφίλ μας στο Google Plus
0

Πρακτική χρήση του Mail-in-a-Box και κόλπα

Στο πλαίσιο του αφιερώματός μας για τη δημιουργία ενός ασφαλούς mailserver που ελέγχουμε εμείς και μόνον εμείς, έχουμε ήδη φτάσει στο σημείο όπου διαθέτουμε ένα καλορυθμισμένο κι ασφαλές VPS στο cloud, το οποίο τρέχει το Mail-in-a-Box: Πρόκειται για μια πλατφόρμα λογισμικού που παρέχει όλες τις λειτουργίες ενός σύγχρονου mailserver, καθώς και υπηρεσίες DNS. Στο παρόν άρθρο, το τελευταίο της σειράς, φωτίζουμε κατ’ αρχάς ορισμένες ενδιαφέρουσες όψεις του MiaB. Επίσης, μετά από δύο περίπου μήνες συνεχούς λειτουργίας και καθημερινής χρήσης, σας μεταφέρουμε τις εντυπώσεις μας περί των επιδόσεων και της συμπεριφοράς του όλου συστήματος.

Μέρος 1: Ο δικός σας mailserver: Το γιατί και το πώς
Μέρος 2: Υποδομή για τον mailserver μας
Μέρος 3: Εγκατάσταση και βασική ρύθμιση Mail-in-a-Box
Μέρος 4: Πρακτική χρήση του Mail-in-a-Box και κόλπα

Λίγο πριν ξεκινήσουμε τη συγγραφή του άρθρου που τώρα διαβάζετε, παρατηρήσαμε στο Twitter feed του MiaB (@Mailinabox) ότι είχε κυκλοφορήσει νέα έκδοση του συστήματος. Θελήσαμε βεβαίως ν’ αναβαθμίσουμε το λογισμικό στον δικό μας server, οπότε συνδεθήκαμε στο VPS μέσω SSH και πληκτρολογήσαμε τα ακόλουθα:

sub0@box:~$ curl -s https://mailinabox.email/bootstrap.sh | sudo bash

Στις ερωτήσεις που είδαμε αφήσαμε τις προεπιλεγμένες απαντήσεις και μετά από λίγα λεπτά είχαμε την πλέον πρόσφατη έκδοση του MiaB, η οποία τη στιγμή που γράφονται αυτές οι γραμμές είναι η 0.12c. Γενικά, τις αλλαγές/διορθώσεις που εισάγει μια νέα έκδοση μπορούμε να τις τσεκάρουμε με την ησυχία μας στο αντίστοιχο CHANGELOG, στο GitHub. Δείτε τα ακόλουθα screenshots και διαβάστε τις αντίστοιχες περιγραφές για μερικές από τις εμφανείς αλλαγές που εντοπίσαμε στη νέα έκδοση.

Μετά την αναβάθμιση από τη γραμμή εντολών του VPS, από τον web browser της επιλογής μας συνδεόμαστε στο web control panel του MiaB και συγκεκριμένα στο λογαριασμό του διαχειριστή. Για εμάς, το email του διαχειριστή είναι το talk2us@colder.xyz.

Πρώτη σύνδεση στο λογαριασμό του διαχειριστή, μετά την αναβάθμιση του MiaB.

Κατά την πρώτη μας σύνδεση διαπιστώσαμε ότι μια σειρά πακέτων χρειάζονταν επίσης αναβάθμιση. Επρόκειτο για πακέτα του Ubuntu Server που δεν είχαν σχέση με το MiaB. Η αναβάθμισή τους έγινε από την κονσόλα, με χρήση του κλασικού “σχήματος” sudo apt-get update και sudo apt-get upgrade.

Το ότι αρκετά πακέτα του Ubuntu χρειάζονται επίσης αναβάθμιση, αποτελεί απλή σύμπτωση.

Λίγο πιο κάτω στη σελίδα με τα αποτελέσματα των ελέγχων του MiaB, βλέπουμε ότι για το domain μας (colder.xyz) είναι πλέον ορισμένο ένα νέο subdomain (το “www”). Η προηγούμενη έκδοση του MiaB δεν μεριμνούσε για το www.colder.xyz. Χαιρόμαστε που η παρούσα έκδοση φροντίζει για τον ορισμό του www.colder.xyz, όμως το θέμα τώρα είναι ότι το δωρεάν πιστοποιητικό που έχουμε πάρει από τη StartCom ισχύει για το colder.xyz και για ένα μόνο subdomain (το “box”). Μπορούμε βεβαίως να αγοράσουμε ένα wildcard certificate από τη StartCom (κοστίζει περί τα 60 δολάρια), το οποίο θα καλύπτει κάθε subdomain του colder.xyz. Λόγω όμως των capital controls αλλά κι επειδή δεν έχουμε (ακόμα) κάποιο δικτυακό τόπο στο colder.xyz, αποφασίσαμε ν’ αφήσουμε την αγορά wildcard certificate γι’ αργότερα. Μην ξεχνάτε και το άλλο: Από το Σεπτέμβριο θα είναι στον αέρα η υπηρεσία Let’s Encrypt, χάρη στην οποία θα μπορούμε να αποκτάμε, πολύ εύκολα και πάντα δωρεάν, πιστοποιητικά για τα domains μας και όποια subdomains θέλουμε. Στοιχηματίζουμε μάλιστα ότι σύντομα θα κυκλοφορήσει κι έκδοση του MiaB που θα φροντίζει για την αυτόματη εγκατάσταση υπογεγραμμένων πιστοποιητικών από το Let’s Encrypt. Λέτε να υπολογίζουμε λάθος; Υπάρχει ένας τρόπος για να το μάθουμε ;)

Στη νέα έκδοση του MiaB έχει οριστεί άλλο ένα subdomain για το domain μας και γι' αυτό δεν υπάρχει έγκυρο πιστοποιητικό.

Κοιτάζοντας λίγο πιο προσεκτικά στα μενού του control panel, ανακαλύπτουμε ότι κάτω από το System υπάρχει ένα νέο entry, ονόματι Munin Monitoring. Από την αντίστοιχη επιλογή αποκτάμε πρόσβαση σε μια πληθώρα στατιστικών που αφορούν στη λειτουργία του VPS κι απεικονίζονται σε γραφήματα. Από το Categories στ’ αριστερά, με κλικ πάνω στο network διαπιστώσαμε ότι το Fail2ban που τρέχει στο box μας δεν απασχολεί απλά τον επεξεργαστή, αλλά έχει πράγματι μπλοκάρει κάποια IPs. Περισσότερα για το Fail2ban μπορείτε να διαβάσετε στο σχετικό άρθρο του τεύχους 034.

Το Fail2ban στο box μας δεν απασχολεί άσκοπα τον επεξεργαστή :)

Στην πάνω οριζόντια μαύρη μπάρα του MiaB υπάρχει, πλέον, η επιλογή Version. Από εκεί βλέπουμε την έκδοση του συστήματος που τρέχουμε. Επίσης, με κλικ πάνω στο σχετικό κουμπάκι ελέγχουμε αν έχει κυκλοφορήσει νεότερη έκδοση.

Στην πάνω οριζόντια μαύρη μπάρα του MiaB υπάρχει, πλέον, η επιλογή Version. Από εκεί βλέπουμε την έκδοση του συστήματος που τρέχουμε. Επίσης, με κλικ πάνω στο σχετικό κουμπάκι ελέγχουμε αν έχει κυκλοφορήσει νεότερη έκδοση.

Χρήστες και aliases
Μετά την πρώτη εγκατάσταση του MiaB διαθέτουμε ακριβώς έναν χρήστη email, ο οποίος τελεί και χρέη διαχειριστή. Όταν λέμε “διαχειριστής” δεν εννοούμε του λειτουργικού συστήματος, αλλά μόνο του MiaB. Για την πρόσβαση στο email του διαχειριστή πηγαίνουμε στη διεύθυνση https://colder.xyz/mail και κάνουμε login στο webmail interface που παρέχεται από το Roundcube και είναι ήδη εγκατεστημένο και ρυθμισμένο. Περισσότερα για το Roundcube θα δούμε στην επόμενη ενότητα. Προς το παρόν, ας πάμε στο web control panel του MiaB (https://box.colder.xyz/admin) και συγκεκριμένα στο Mail –> Users. Από αυτή τη σελίδα μπορούμε να ορίζουμε νέους λογαριασμούς email. Λογικό κι αναμενόμενο είναι να φτιάξουμε τουλάχιστον έναν λογαριασμό, αφού δεν θα θέλουμε να στέλνουμε και να λαμβάνουμε email από το λογαριασμό του διαχειριστή. Εμείς, για παράδειγμα, έχουμε φτιάξει ένα νέο λογαριασμό email, με διεύθυνση subzraw@colder.xyz. Επειδή όμως αυτό το “subzraw” δεν είναι κατάλληλο για κάθε περίσταση, θέλαμε κι έναν πιο επίσημο λογαριασμό, με διεύθυνση του στιλ christos.varelas@colder.xyz. Μιλάμε για το ίδιο φυσικό πρόσωπο, άρα αντί να φτιάξουμε άλλον ένα λογαριασμό δημιουργήσαμε ένα alias προς την υπάρχουσα διεύθυνση email (subzraw@colder.xyz). Τέτοια aliases έχει δημιουργήσει και το MiaB αυτομάτως, για τη διεύθυνση email του διαχειριστή (talk2us@colder.xyz) και μάλιστα για δύο domains (το box.colder.xyz και το colder.xyz). Για περισσότερες λεπτομέρειες δείτε τα screenshots που ακολουθούν και βεβαίως διαβάστε τις αντίστοιχες περιγραφές.

Στον mailserver μας έχουμε δύο λογαριασμούς email. Ο ένας είναι του διαχειριστή (talk2us@colder.xyz) κι ο άλλος του γράφοντα (subzraw@colder.xyz). Θα μπορούσαμε να έχουμε περισσότερους λογαριασμούς, αλλά προς το παρόν α) κάποιοι συνεργάτες προτιμούν το παλιομοδίτικο email τους, β) εμείς δεν χρειαζόμαστε νέο λογαριασμό email. Χρειαζόμαστε όμως aliases. Συνεχίστε το διάβασμα.

Στον mailserver μας έχουμε δύο λογαριασμούς email. Ο ένας είναι του διαχειριστή (talk2us@colder.xyz) κι ο άλλος του γράφοντα (subzraw@colder.xyz).

Τα aliases (ψευδώνυμα) μπορούμε να τα φανταζόμαστε ως μηχανισμούς που προωθούν τα εισερχόμενα emails. Παράδειγμα: Έχω το λογαριασμό με διεύθυνση subzraw@colder.gr κι αντί να φτιάξω νέο λογαριασμό με την πιο σοβαρή διεύθυνση christos.varelas@colder.xyz, φτιάχνω απλά ένα alias του subzraw@colder.xyz το οποίο ονομάζεται christos.varelas@colder.xyz. Έτσι, όποιο email φτάνει στο christos.varelas@colder.xyz, καταλήγει αυτομάτως στο inbox του subzraw@colder.xyz. Επίσης, αντί να στέλνω email μόνο από το subzraw@colder.xyz, μπορώ τώρα να στέλνω από το christos.varelas@colder.xyz. Όπως λένε και στο Λευκαντί Ευβοίας, for all intents and purposes τα subzraw@colder.xyz και christos.varelas@colder.xyz είναι ένα και το αυτό. Το MiaB επιτρέπει τον ορισμό τριών ειδών aliases.

  • Regular. Πρόκειται για aliases που ουσιαστικά επιτρέπουν σε έναν υπάρχοντα λογαριασμό να έχει περισσότερες από μία διευθύνσεις email, στο ίδιο domain. Παράδειγμα: Ο χρήστης με διεύθυνση email την subzraw@colder.xyz έχει δύο aliases, τα christos.varelas@colder.xyz και cvar@colder.xyz. Μπορεί λοιπόν να στέλνει email από οποιαδήποτε εκ των τριών αυτών διευθύνσεων, ενώ τα εισερχόμενα μηνύματα σε καθεμία απ’ αυτές καταλήγουν στο ίδιο inbox (εν προκειμένω, σ’ αυτό του subzraw@colder.xyz).
  • Catch-All. Ένα alias αυτού του είδους πιάνει εισερχόμενα μυνήματα σε διευθύνσεις του domain που *δεν υπάρχουν* και τα προωθεί σε μία ή περισσότερες *υπαρκτές* διευθύνσεις του *ίδιου* domain.
  • Domain Alias. Ένα alias του είδους πιάνει εισερχόμενα μηνύματα σε διευθύνσεις του domain που *δεν υπάρχουν*, αλλά σε αντίθεση με ένα catch-all alias τα στέλνει σε αντίστοιχες υπαρκτές διευθύνσεις ενός *άλλου* domain. Παράδειγμα: Έχουμε τα domains colder.xyz και parabing.com, δεν υπάρχει ο λογαριασμός mpapadop@colder.xyz αλλά υπάρχει ο mpapadop@parabing.com. Μετά τον ορισμό του κατάλληλου domain alias, όλα τα emails που απευθύνονται στο mpapadop@colder.xyz δεν απορρίπτονται αλλά προωθούνται στο mpapadop@parabing.com.

Τα aliases (ψευδώνυμα) μπορούμε να τα φανταζόμαστε ως μηχανισμούς που προωθούν τα εισερχόμενα emails. Το MiaB επιτρέπει τον ορισμό τριών ειδών aliases.

Ιδού όλα τα aliases που ισχύουν για τον mailserver μας. Έχουμε, π.χ., φτιάξει το christos.varelas@colder.xyz, για τη διεύθυνση subzraw@colder.xyz. Σημειώστε ότι τα περισσότερα aliases τα ‘χει φτιάξει το MiaB αυτόματα, αφορούν σε δύο domains (box.colder.xyz και colder.xyz) κι έχουν σχέση με το email του διαχειριστή (talk2us@colder.xyz). Θα παρατηρήσετε ότι υπάρχουν aliases προς aliases. Παράδειγμα: Το admin@box.colder.xyz είναι alias του administrator@box.colder.xyz κι αυτό με τη σειρά του είναι alias του “κανονικού” talk2us@colder.xyz. Παρατηρήστε εξάλλου και μια άλλη χρήση των aliases: Κατά κύριο λόγο διαχειριζόμαστε το email του subzraw@colder.xyz και τα όποια εισερχόμενα μηνύματα στο λογαριασμό του talk2us@colder.xyz θέλουμε να φτάνουν σ’ εμάς κι όχι να συνδεόμαστε στο λογαριασμό του τελευταίου. Για να ισχύει αυτή η διευθέτηση, αρκεί να ορίσουμε το talk2us@colder.xyz ως alias του subzraw@colder.xyz.

Ιδού όλα τα aliases που ισχύουν για τον mailserver μας. Δεν είναι και λίγα!

Καλωσορίστε το webmail
Το webmail του  MiaB παρέχεται από το Roundcube, το οποίο αποτελεί δημοφιλή επιλογή για όλους όσοι φτιάχνουν τα δικά τους συστήματα διαχείρισης email. Το Roundcube δείχνει ελαφρώς παλιομοδίτικο σε σύγκριση με τα webmail interfaces των μεγάλων παικτών (βλέπε Google, Yahoo και Microsoft). Μη φανταστείτε όμως ότι υστερεί σημαντικά σε ευκολία χρήσης, σε εμφάνιση ή σε δυνατότητες. Αν και γενικά είμαστε οπαδοί του webmail –και μόνο το γεγονός ότι έχεις πρόσβαση στο email σου από έναν οποιονδήποτε web browser είναι μια ιδιαίτερα σημαντική δυνατότητα–, τους τελευταίους μήνες έχουμε γίνει ξανά οπαδοί των email clients (για το desktop ή για το smartphone/tablet). Ο λόγος είναι διότι, με τον κατάλληλο email client, είναι πολύ πιο εύκολο να υπογράφεις ψηφιακά ή/και να κρυπτογραφείς το email σου. Περισσότερα για την κατάλληλη ρύθμιση ενός οποιουδήποτε email client, ώστε να συνεργάζεται με το MiaB, θα συζητήσουμε στην επόμενη ενότητα. Προς το παρόν, αξίζει να παρατηρήσουμε πιο προσεκτικά ορισμένες όψεις και δυνατότητες του Roundcube. Σκεφτείτε πως, ασχέτως αν σκοπεύετε να καταφύγετε σε κάποιον email client ή όχι, θα υπάρχουν περιπτώσεις κατά τις οποίες το webmail interface του Roundcube θα αποδεικνύεται χρήσιμο. Φορές, π.χ., θα θέλετε να ελέγξετε το email από κάποιον υπολογιστή που δεν είναι δικός σας ή δεν έχει κάποιον email client εγκατεστημένο.

Προκειμένου να συνδεθούμε στο webmail που παρέχει το MiaB μέσω του Roundcube, από τον web browser της επιλογής μας μεταβαίνουμε στη διεύθυνση https://box.colder.xyz/mail ή στη https://colder.xyz/mail. Φυσικά, στη θέση του “colder.xyz” εσείς θα βάλετε το δικό σας domain.

Προκειμένου να συνδεθούμε στο webmail που παρέχει το MiaB μέσω του Roundcube, από τον web browser της επιλογής μας μεταβαίνουμε στη διεύθυνση https://box.colder.xyz/mail ή στη https://colder.xyz/mail. Φυσικά, στη θέση του 'colder.xyz' εσείς θα βάλετε το δικό σας domain.

Εξ ορισμού και για λόγους ασφαλείας, το φόρτωμα εικόνων στα HTML emails είναι απενεργοποιημένο. Κάθε φορά που ανοίγουμε ένα HTML email με μπλοκαρισμένες εικόνες, έχουμε την επιλογή να τις φορτώσουμε μόνο για το συγκεκριμένο email (κλικ στο Display images) ή για όλα τα επόμενα email από τον ίδιο αποστολέα (κλικ στο Always show images from…).

Εξ ορισμού και για λόγους ασφαλείας, το φόρτωμα εικόνων στα HTML emails είναι απενεργοποιημένο.

Ιδού κι ένα email με περιεχόμενο HTML, όπου το φόρτωμα των εικόνων επιτρέπεται: όπως βλέπετε, τα πάντα προβάλλονται κανονικά. Σε γενικές γραμμές, καλό είναι να επιτρέπουμε το φόρτωμα εικόνων μόνο για τα email συγκεκριμένων αποστολέων, τους οποίους εμπιστευόμαστε.

Ιδού κι ένα email με περιεχόμενο HTML, όπου το φόρτωμα των εικόνων επιτρέπεται: όπως βλέπετε, τα πάντα προβάλλονται κανονικά.

Ακολουθώντας τη διαδρομή Settings –> Preferences –> User Interface, έχουμε τη δυνατότητα να καθορίσουμε μερικές παραμέτρους της όψης του webmail interface. Το προεπιλεγμένο skin είναι το φωτεινό Classic, σ’ εμάς ωστόσο αρέσει το περισσότερο σκοτεινό ονόματι Larry.

Στη στήλη Identities προσθέτουμε όλες τις ταυτότητες που αφορούν στο ίδιο φυσικό πρόσωπο. Ουσιαστικά, έχουμε τη δυνατότητα να βάλουμε τα όποια aliases έχουμε ορίσει για το email μας. Έτσι, από το παράθυρο σύνταξης νέου μηνύματος ή από το παράθυρο όπου πάμε να συντάξουμε απάντηση σε μήνυμα που έχουμε λάβει, θα μπορούμε να επιλέγουμε τη διεύθυνση email από την οποία επιθυμούμε να φαίνεται ότι προέρχεται το μήνυμα.

Στη στήλη Identities προσθέτουμε όλες τις ταυτότητες που αφορούν στο ίδιο φυσικό πρόσωπο. Ουσιαστικά, έχουμε τη δυνατότητα να βάλουμε τα όποια aliases έχουμε ορίσει για το email μας. Έτσι, από το παράθυρο σύνταξης νέου μηνύματος ή από το παράθυρο όπου πάμε να συντάξουμε απάντηση σε μήνυμα που έχουμε λάβει, θα μπορούμε να επιλέγουμε τη διεύθυνση email από την οποία επιθυμούμε να φαίνεται ότι προέρχεται το μήνυμα.

Από την κατηγορία Filters των ρυθμίσεων του Roundcube, ορίζουμε κανόνες για τα εισερχόμενα μηνύματα. Πρόκειται για δυνατότητα που, αν μη τι άλλο, μας διευκολύνει τρομερά να βάζουμε τάξη στο inbox μας. Στο screenshot φαίνονται οι κανόνες για τα εισερχόμενα μηνύματα που θέλουμε να καταλήγουν αμέσως στον φάκελο Social (ναι, το Roundcube επιτρέπει τη δημιουργία φακέλων). Σημειώστε ότι οι κανόνες που ορίζουμε δεν ισχύουν μόνο για το Roundcube αλλά αντικατοπτρίζονται και σε κάθε άλλον email client διαχειρίζεται τα μηνύματα του λογαριασμού μας.

Από την κατηγορία Filters των ρυθμίσεων του Roundcube, ορίζουμε κανόνες για τα εισερχόμενα μηνύματα. Πρόκειται για δυνατότητα που, αν μη τι άλλο, μας διευκολύνει τρομερά να βάζουμε τάξη στο inbox μας.

Ρύθμιση email client
Όπως και να το δει κανείς, ένας καλός email client παρέχει περισσότερη ευελιξία σε σχέση με το όποιο webmail interface. Βέβαια αυτή η ευελιξία είναι “τοπική”: ρυθμίζοντας έναν email client σε κάποιον από τους υπολογιστές ή τις συσκευές μας, δεν διασφαλίζουμε ότι οι ίδιες ρυθμίσεις θα ισχύουν και σε άλλους υπολογιστές/συσκευές, ακόμη κι αν τρέχουμε παντού τον ίδιο client. Το ίδιο ισχύει και με τους κανόνες για τα εισερχόμενα ή για την εκπαίδευση του όποιου anti-spam filter. Εξάλλου, όποτε επιθυμούμε πρόσβαση στο email μας από συσκευή που δεν είναι δική μας, εννοείται ότι δεν θα καθήσουμε να εγκαταστήσουμε κάποιον email client πρώτα. Μήπως λοιπόν να ξεχάσουμε τον όποιον client και να αφοσιωθούμε στο Roundcube του MiaB, αφού σ’ αυτό έχουμε πρόσβαση απ’ όπου υπάρχει web browser, άρα πρακτικά από παντού; Δεν υπάρχει σωστή απάντηση για το ερώτημα: όλα εξαρτώνται από το πώς χρησιμοποιεί κάποιος το email του και τι ανάγκες/επιθυμίες έχει. Εμείς, π.χ., έχουμε αποκτήσει τη συνήθεια να υπογράφουμε ψηφιακά όλα τα emails που στέλνουμε, ενώ όποτε είναι δυνατόν τα κρυπτογραφούμε κιόλας. Κατά περιπτώσεις, οι δύο αυτές ενέργειες είναι δυνατό να γίνονται και μέσα από το interface κάποιου webmail. Όσοι όμως παίρνουν στα σοβαρά την υπόθεση της ισχυρής κρυπτογράφησης του email, αργά ή γρήγορα (μάλλον το δεύτερο) στρέφονται στον κατάλληλο client. (Δείτε περισσότερα στα δύο εκτενή video tutorials.) Γι’ αυτό κι από τη μεριά μας σπάνια συνδεόμαστε στο Roundcube και, κατά κύριο λόγο, χρησιμοποιούμε το συνδυασμό Thunderbird+Enigmail, σε ένα κλασικό PC και σ’ ένα MacBook Pro. Υπάρχει βέβαια και το (Android) smartphone, όπου εκεί έχουμε ρυθμίσει κατάλληλα τη σχετική εφαρμογή της Google ώστε να διαχειρίζεται και το λογαριασμό μας στο colder.xyz. (Προς το παρόν δεν υπογράφουμε ψηφιακά κι ούτε κρυπτογραφούμε/αποκρυπτογραφούμε emails από το smartphone.) Παρατηρήστε τα screenshots που ακολουθούν και διαβάστε τις αντίστοιχες περιγραφές, ώστε μεταξύ άλλων να δείτε πώς ρυθμίζουμε το Thunderbird προκειμένου να συνεργάζεται με το MiaB.

Από το web control panel του MiaB δίνουμε Mail –> Instructions. Στη σελίδα που εμφανίζεται βρίσκουμε, μεταξύ άλλων, γενικές πληροφορίες για τη ρύθμιση ενός οποιουδήποτε email client, ώστε να συνεργάζεται με το MiaB. Παρατηρήστε ότι:

  • το πρωτόκολλο για τη λήψη email είναι το IMAP (κι όχι το απαρχαιωμένο POP)
  • ο server για τα εισερχόμενα είναι ίδιος με τον server για τα εξερχόμενα (και στην περίπτωσή μας είναι ο box.colder.xyz)
  • το port για τη λήψη της αλληλογραφίας είναι το 993/TCP κι εκείνο για την αποστολή είναι το 587/TCP
  • το πρωτόκολλο ασφαλείας για τη λήψη email είναι το SSL, ενώ το αντίστοιχο για την αποστολή είναι το STARTTLS
  • το username για τη σύνδεση στον mailserver είναι *ολόκληρη* η διεύθυνση email

Γενικές πληροφορίες για τη ρύθμιση ενός οποιουδήποτε email client, ώστε να συνεργάζεται με το MiaB.

Προκειμένου να προσθέσουμε έναν νέο λογαριασμό email στο Thunderbird, ένας τρόπος είναι να δώσουμε File –> New –> Get a New Mail Account. Στο παράθυρο που εμφανίζεται θα παρατηρήσετε ότι μας προτείνεται ν’ αποκτήσουμε νέα διεύθυνση email από το Gandi. Δεν ενδιαφερόμαστε για κάτι τέτοιο –τουλάχιστον όχι αυτή τη φορά– και θέλουμε μία διεύθυνση από αυτές που έχουμε στο MiaB. Κάνουμε, λοιπόν, ένα κλικ στο κουμπί Skip this and use my existing email.

Εδώ φροντίζουμε ώστε οι διάφοροι παράμετροι να έχουν τιμές που προτείνονται στο control panel του MiaB. Παρατηρήστε το screenshot και κάντε τις αντίστοιχες επιλογές για τα δικά σας email και domain. Μη σας παραξενεύει που για το Authentication έχουμε βάλει Normal Password, αφού ο κωδικός θα ταξιδεύει μέσω κρυπτογραφημένου καναλιού. Όταν τελειώσετε με τις ρυθμίσεις πατήστε στο κουμπί Done, κάτω δεξιά.

Εδώ φροντίζουμε ώστε οι διάφοροι παράμετροι να έχουν τιμές που προτείνονται στο control panel του MiaB. Παρατηρήστε το screenshot και κάντε τις αντίστοιχες επιλογές για τα δικά σας email και domain.

Το Thunderbird είναι ρυθμισμένο ώστε να διαχειρίζεται το email του subzraw@colder.xyz. Έχουμε μάλιστα φροντίσει να το ενημερώσουμε και για ένα από τα υπάρχοντα aliases της συγκεκριμένης διεύθυνσης, συγκεκριμένα για το christos.varelas@colder.xyz, συνεπώς είμαστε σε θέση να στέλνουμε email είτε από το subzraw@colder.xyz είτε από το christos.varelas@colder.xyz. Για να προσθέσουμε ένα alias σε συγκεκριμένο λογαριασμό email που γνωρίζει το Thunderbird, στο αριστερό, κάθετο pane της εφαρμογής κάνουμε δεξί κλικ πάνω στο λογαριασμό που μας ενδιαφέρει κι επιλέγουμε το Settings. Στο νέο παράθυρο που εμφανίζεται πατάμε στο Manage Identities, κάτω δεξιά.

Το Thunderbird είναι ρυθμισμένο ώστε να διαχειρίζεται το email του subzraw@colder.xyz. Έχουμε μάλιστα φροντίσει να το ενημερώσουμε και για ένα από τα υπάρχοντα aliases της συγκεκριμένης διεύθυνσης, συγκεκριμένα για το christos.varelas@colder.xyz, συνεπώς είμαστε σε θέση να στέλνουμε email είτε από το subzraw@colder.xyz είτε από το christos.varelas@colder.xyz.

Εδώ φαίνονται οι δύο ταυτότητες (identities) που γνωρίζει το Thunderbird για τον προεπιλεγμένο λογαριασμό (στο colder.xyz). Ουσιαστικά, η μία ταυτότητα είναι το “κανονικό” email του λογαριασμού και η άλλη είναι ένα alias προς το ίδιο email.

Οι δύο ταυτότητες (identities) που γνωρίζει το Thunderbird για τον προεπιλεγμένο λογαριασμό (στο colder.xyz). Ουσιαστικά, η μία ταυτότητα είναι το 'κανονικό' email του λογαριασμού και η άλλη είναι ένα alias προς το ίδιο email.

Οι λεπτομερείς ρυθμίσεις της επιλεγμένης ταυτότητας. Έχουμε βάλει και υπογραφή, όπως βλέπετε :)

Οι λεπτομερείς ρυθμίσεις της επιλεγμένης ταυτότητας. Έχουμε βάλει και υπογραφή, όπως βλέπετε :)

Χάρη σε κανόνα που έχουμε ορίσει μέσα από το Roundcube, τα emails που αφορούν στο λειτουργικό σύστημα του VPS, καθώς κι εκείνα που αφορούν σε ελέγχους του MiaB, καταλήγουν στο φάκελο ονόματι System. Το επιλεγμένο μήνυμα έχει αποσταλεί από την υπηρεσία των unattended upgrades του Ubuntu Server και προοριζόταν για το λογαριασμό talk2us@colder.xyz. Έχουμε όμως ήδη καθορίσει, μέσω του control panel του MiaB, ότι όσα emails πηγαίνουν στο talk2us@colder.xyz θα καταλήγουν τελικά στο subzraw@colder.xyz. Γενικά αποφεύγουμε να καθορίζουμε κανόνες μέσα από τον email client και προτιμούμε να τους συντάσσουμε κεντρικά, εν προκειμένω μέσα από το Roundcube. Έτσι, η επιθυμητή οργάνωση των emails θα αντικατοπτρίζεται σε κάθε email client του MiaB.

Χάρη σε κανόνα που έχουμε ορίσει μέσα από το Roundcube, τα emails που αφορούν στο λειτουργικό σύστημα του VPS, καθώς κι εκείνα που αφορούν σε ελέγχους του MiaB, καταλήγουν στο φάκελο ονόματι System. Το επιλεγμένο μήνυμα έχει αποσταλεί από την υπηρεσία των unattended upgrades του Ubuntu Server και προοριζόταν για το λογαριασμό talk2us@colder.xyz. Έχουμε όμως ήδη καθορίσει, μέσω του control panel του MiaB, ότι όσα emails πηγαίνουν στο talk2us@colder.xyz θα καταλήγουν τελικά στο subzraw@colder.xyz.

Εκτός από την υπηρεσία unattended upgrades του Ubuntu, μηνύματα περί διαθέσιμων αναβαθμίσεων στέλνει και το ίδιο το MiaB. Αργήσαμε λίγο να το συνειδητοποιήσουμε, όταν όμως καταλάβαμε τι συμβαίνει συνδεθήκαμε στο VPS μέσω SSH, ανοίξαμε το αρχείο /etc/apt/apt.conf.d/50unattended-upgrades με το nano, σχολιάσαμε την εικονιζόμενη γραμμή, αποθηκεύσαμε την αλλαγή κι αφού εγκαταλείψαμε τον editor επανεκκινήσαμε τη σχετική υπηρεσία του λειτουργικού συστήματος.

Εκτός από την υπηρεσία unattended upgrades του Ubuntu, μηνύματα περί διαθέσιμων αναβαθμίσεων στέλνει και το ίδιο το MiaB. Αργήσαμε λίγο να το συνειδητοποιήσουμε, όταν όμως καταλάβαμε τι συμβαίνει απενεργοποιήσαμε τη σχετική δυνατότητα της υπηρεσίας του Ubuntu.

Προς το παρόν προτιμάμε να μη χρησιμοποιούμε το Junk filter του Thunderbird αλλά να εκπαιδεύουμε –όποτε χρειάζεται– τον SpamAssassin του MiaB. Ακριβώς γι’ αυτό δεν έχουμε τσεκαρισμένη τη σχετική επιλογή για το λογαριασμό email που διαχειρίζεται το Thunderbird.

Προς το παρόν προτιμάμε να μη χρησιμοποιούμε το Junk filter του Thunderbird αλλά να εκπαιδεύουμε --όποτε χρειάζεται-- τον SpamAssassin του MiaB. Ακριβώς γι' αυτό *δεν* έχουμε τσεκαρισμένη τη σχετική επιλογή για το λογαριασμό email που διαχειρίζεται το Thunderbird.

Το DNS API και το dynamic DNS
Όπως πρέπει να έχουμε πει καμιά 70ρια φορές έως τώρα, το MiaB υλοποιεί τον δικό του DNS server. Για τον end-user, μάλιστα, δηλαδή για εμάς, παρέχεται ένα API ώστε να διαχειριζόμαστε τον name server χωρίς να συνδεόμαστε στο VPS ή στο web control panel του MiaB. Μια άμεση εφαρμογή της παρουσίας API είναι η παροχή υπηρεσιών dynamic DNS για τις συσκευές μας. Eίναι έτσι δυνατό να αντιστοιχίσουμε, π.χ., σ’ έναν οικιακό server, κάποιο όνομα της μορφής theserver.colder.xyz, ώστε να φτάνουμε σε δημόσιες υπηρεσίες του μηχανήματος χωρίς να γνωρίζουμε τη δημόσια διεύθυνση IP που έχει ο router μπροστά από το μηχάνημα. Κι επειδή η προαναφερθείσα διεύθυνση ενδέχεται ν’ αλλάζει, χάρη στο DNS API του MiaB είναι εύκολο να ανανεώνουμε την αντιστοίχιση theserver.colder.xyz <--> δημόσιο_IP περιοδικά κι αυτόματα, π.χ., με τη βοήθεια ενός cronjob. Ακόμα καλύτερα θα ήταν να δώσουμε ένα hostname στο δημόσιο interface του router. Αν η συσκευή διαθέτει κάποιο Open Source firmware (OpenWrt, dd-wrt) στο οποίο έχουμε πλήρη πρόσβαση, τότε εύκολα πετυχαίνουμε το σκοπό μας. Το ίδιο ισχύει κι αν ο router τρέχει κάποιο λειτουργικό σύστημα σαν το pfSense, όπως ισχύει με τον δικό μας. Στα screenshots που ακολουθούν δείχνουμε πρώτα πώς υλοποιούμε υπηρεσίες dynamic DNS μέσω του API, για ένα μεμονωμένο μηχάνημα. Συνεχίζουμε με τις ρυθμίσεις για τον pfSense-based router μας, ώστε στα δύο public interfaces που έχει να αντιστοιχίζονται δύο διαφορετικά hostnames της μορφής κάτι.colder.xyz.

Στο web control panel του MiaB, και συγκεκριμένα στη σελίδα που εμφανίζεται επιλέγοντας System –> Custom DNS, υπάρχει η ενότητα ονόματι Custom DNS API. Παρατηρήστε ότι για τη λήψη, την προσθήκη ή τη διαγραφή DNS records χρησιμοποιείται το εργαλείο curl, το οποίο είναι διαθέσιμο για Linux, BSD, OS X και Windows.

Από το τερματικό ενός μηχανήματος με OS X χρησιμοποιούμε το curl ώστε να βρούμε το δημόσιο IP με το οποίο βγαίνουμε στο Internet (1). Στο παράδειγμά μας είναι το 79.131.94.102. Στη συνέχεια χρησιμοποιούμε και πάλι το curl, προκειμένου να θέσουμε ένα νέο A-record στον DNS server του MiaB (2). Ουσιαστικά, λέμε ότι το IP του mbpr15.colder.xyz είναι το 79.131.94.102. Για να επαληθεύσουμε ότι η αντιστοίχιση επετεύχθη, κάνουμε ένα ping στο mbpr15.colder.xyz (3). Παίρνουμε απαντήσεις από το μηχάνημα με IP το 79.131.94.102, συνεπώς όλα έχουν πάει καλά.

Παράδειγμα χρήσης της υπηρεσίας dynamic DNS, μέσω του DNS API που παρέχει το MiaB.

Το πλαισιωμένο είναι το A-record που μόλις θέσαμε, όπως φαίνεται μέσα από το control panel του MiaB. Τα δύο πρώτα αντιστοιχούν στις δύο δημόσιες διευθύνσεις IP που έχει ο pfSense-based router μας, ο οποίος βγαίνει στο Internet μέσω δύο διαφορετικών γραμμών (άλλοτε σε διάταξη load balancing κι άλλοτε σε διάταξη fail-over — δείτε περισσότερα στο σχετικό άρθρο του τεύχους 029).

Το πλαισιωμένο είναι το A-record που μόλις θέσαμε, όπως φαίνεται μέσα από το control panel του MiaB. Τα δύο πρώτα αντιστοιχούν στις δύο δημόσιες διευθύνσεις IP που έχει ο pfSense-based router μας, ο οποίος βγαίνει στο Internet μέσω δύο διαφορετικών γραμμών.

Το pfSense παρέχει υποστήριξη dynamic DNS και είναι σε θέση να επικοινωνεί με τις σχετικές υπηρεσίες εταιρειών όπως dyn.com, noip.com κι ένα σωρό άλλες. Αρκετές εξ αυτών είναι επί πληρωμή, ορισμένες παρέχονται δωρεάν αλλά με περιορισμούς. Από τη στιγμή βέβαια που έχουμε τον δικό μας DNS server και μπορούμε να τον τροποποιούμε απομακρυσμένα μέσω API, πραγματικά δεν έχουμε κανέναν λόγο για ν’ απασχολούμαστε με τις υπηρεσίες dynamic DNS τρίτων. Αντί λοιπόν να καταφύγουμε στον ενσωματωμένο μηχανισμό του pfSense για την υποστήριξη dynamic DNS, θα εγκαταστήσουμε στον router μας το cron και σε τακτά χρονικά διαστήματα, π.χ., κάθε μία ώρα, θα ενημερώνουμε αυτόματα τον DNS server του MiaB μέσω του curl, λέγοντάς του, π.χ., ότι το therouter.colder.xyz έχει την τάδε δημόσια διεύθυνση IP, η οποία έχει αποδοθεί από τον ISP μας και είναι αυτή με την οποία βγαίνουμε στο Internet. Στο screenshot φαίνεται ότι έχουμε ήδη εγκαταστήσει το πακέτο ονόματι Cron (το βρήκαμε στο System –> Packages –> Available Packages –> Services).

Το πακέτο ονόματι Cron το χρειαζόμαστε για τον ορισμό των δικών μας cronjobs στο pfSense και το έχουμε ήδη εγκαταστήσει.

Η υπηρεσία Cron ενεργοποιείται αυτόματα, αμέσως μετά την εγκατάσταση του ομώνυμου πακέτου. Θέλουμε να προσθέσουμε δύο νέα cronjobs, ένα για κάθε public interface που έχει ο router μας. Προς τούτο, δίνουμε Services –> Cron –> Edit.

Κάτι που δεν αναφέραμε έως τώρα είναι ότι το curl απουσιάζει από το pfSense και πρέπει να το εγκαταστήσουμε από τη γραμμή εντολών, αφού πρώτα συνδεθούμε στο λογαριασμό του root μέσω SSH. Το εργαλείο διαχείρισης πακέτων για την εγκατάσταση του curl είναι το pkg κι αν επιχειρήσουμε να το χρησιμοποιήσουμε θα διαπιστώσουμε πως ούτε κι αυτό είναι εγκατεστημένο! Ερωτόμαστε, ωστόσο, αν το θέλουμε, οπότε απαντάμε θετικά κι αμέσως το downloading και η εγκατάστασή του προχωρούν κι ολοκληρώνονται αυτόματα.

Το curl απουσιάζει από το pfSense και πρέπει να το εγκαταστήσουμε από τη γραμμή εντολών, αφού πρώτα συνδεθούμε στο λογαριασμό του root μέσω SSH.

Για την εγκατάσταση του curl γράφουμε, απλά, pkg install curl. Γράφοντας curl –version, ώστε να δούμε αν όλα είναι καλά με το πρόγραμμα, ανακαλύπτουμε ότι δεν μπορεί να βρεθεί. Αυτό διορθώνεται εύκολα, πληκτρολογώντας rehash. Γράφοντας ξανά curl –version το πρόγραμμα καλείται κανονικά και επιστρέφει πληροφορίες περί έκδοσης, υποστηριζόμενων πρωτοκόλλων και δυνατοτήτων.

Για την εγκατάσταση του curl γράφουμε, απλά, pkg install curl. Γράφοντας curl --version, ώστε να δούμε αν όλα είναι καλά με το πρόγραμμα, ανακαλύπτουμε ότι δεν μπορεί να βρεθεί. Αυτό διορθώνεται εύκολα, πληκτρολογώντας rehash.

SpamAssassin και Graylisting
Για την αντιμετώπιση του SPAM το MiaB επιστρατεύει το SpamAssassin, το κατ’ εξοχήν σύστημα στον κόσμο του Open Source για την κατηγοριοποίηση της αλληλογραφίας σε SPAM/HAM. Μερικές φορές κάποιο email θα καταλήγει στον φάκελο Spam, ενώ στην πραγματικότητα δεν θα είναι για εκεί. Για την εκπαίδευση του SpamAssassin, αυτό που αρκεί να κάνουμε είναι να μετακινήσουμε το email εκτός του φακέλου Spam. Θα συμβαίνει και το αντίστροφο: Κάποιο email που είναι SPAM δεν θα καταλήγει στον ομώνυμο φάκελο, οπότε σ’ αυτή την περίπτωση καλό είναι να το μετακινούμε μόνοι μας εκεί. Συν τω χρόνω το SpamAssassin μαθαίνει και γίνεται αποτελεσματικότερο — ή τουλάχιστον αυτή είναι η θεωρία.

Ένας άλλος, εξαιρετικά ενδιαφέρων και πολλά υποσχόμενος μηχανισμός για την αντιμετώπιση του SPAM είναι το λεγόμενο graylisting. Η ιδέα είναι ότι για αποστολείς που μας στέλνουν email για πρώτη φορά, η παράδοση εμποδίζεται τεχνητά για 10 με 15 λεπτά. Η συντριπτική πλειονότητα των spammers ξεγελιούνται απ’ αυτό το τρικ και τελικά εγκαταλείπουν τις προσπάθειες αποστολής. Καλό είναι να έχουμε υπόψη μας για το graylisting όποτε περιμένουμε email από κάποιον φίλο που μας έστειλε για πρώτη φορά ή όταν αναμένουμε email επιβεβαίωσης για εγγραφή σε site ή σε υπηρεσία.

Εντυπώσεις έως τώρα και σχέδια για το (κοντινό) μέλλον
Τις πρώτες μέρες της ενασχόλησής μας με το Mail-in-a-Box παρατηρούσαμε ότι ορισμένα emails που στέλναμε έτειναν να χαρακτηρίζονται ως SPAM — και φυσικά δεν ήταν. Κάτι τέτοιο είναι αναμενόμενο να συμβαίνει στην αρχή, ακόμη κι όταν στέλνουμε σε χρήστες μεγάλων email providers όπως είναι η Google με το Gmail. Με λίγη προσοχή και καλή διάθεση για συνεννόηση, το πρόβλημα αρχίζει να υποχωρεί και τελικά εξαφανίζεται. Τις πρώτες μέρες, π.χ., που στέλνουμε emails σε φίλους και χρήστες του Gmail, καλό είναι να τους έχουμε ειδοποιήσει και προειδοποιήσει, ώστε να ρίχνουν και μια ματιά στο SPAM folder. Άπαξ κι αρχίσουν να χαρακτηρίζουν τα emails μας ως HAM, τότε πολύ σύντομα τα emails μας προς τους χρήστες του Gmail δεν θα χαρακτηρίζονται ως SPAM.

Εκτός από αυτό το κάπως ενοχλητικό ζήτημα, μετά από μερικούς μήνες καθημερινής χρήσης του MiaB οφείλουμε να σημειώσουμε ότι είμαστε απόλυτα ευχαριστημένοι από την πλατφόρμα. Χαιρόμαστε που έχουμε υπό πλήρη έλεγχο το email του domain μας (colder.xyz), πολύ περισσότερο που δεν έχουμε συναντήσει προβλήματα: ακόμη και η αναβάθμιση στη νέα έκδοση του MiaB έγινε ομαλά κι ολοκληρώθηκε επιτυχώς.

Στα μελλοντικά μας σχέδια είναι η φιλοξενία των emails δύο άλλων domains που κατέχουμε (deltahacker.gr και parabing.com), στο ίδιο box που τρέχει το MiaB και ήδη φιλοξενεί το email του colder.xyz. Σκεφτόμαστε ότι ίσως χρειαστεί να κάνουμε ένα resize στο αντίστοιχο VPS, αλλά αυτό θα το δούμε στην πράξη και θα σας μεταφέρουμε τις εντυπώσεις μας — ή ό,τι ενδιαφέρον ανακαλύψουμε, τέλος πάντων. Κάτι άλλο που σχεδιάζουμε και σκοπεύουμε να συζητήσουμε μαζί σας, είναι η φιλοξενία προσωπικού static site στο box του MiaB.

Όπως είπαμε, για όλα τα προηγούμενα και ό,τι άλλο προκύψει θα συζητήσουμε σε επόμενα άρθρα. Προς το παρόν σας προτείνουμε να στήσετε κι εσείς τον δικό σας mailserver στο cloud. Αν διστάζετε σκεφτείτε ότι το ρίσκο είναι, πρακτικά, μηδενικό: Απλά διατηρήστε τους υπάρχοντες email providers που χρησιμοποιείτε, αγοράστε ένα φθηνό domain (που να υποστηρίζει DNSSEC, κατά προτίμηση) και πειραματιστείτε με το email για το συγκεκριμένο domain. Κάτι μας λέει πως δεν θα το μετανιώσετε.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων