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

Εγκατάσταση και βασική ρύθμιση Mail-in-a-Box

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

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

Όπως προαναγγείλαμε ήδη από το πρώτο άρθρο της σειράς, προκειμένου να μην πελαγώσουμε στρεφόμαστε στο εγχείρημα του Mail-in-a-Box, στο εξής MiaB. Συγκεκριμένα, στο παρόν άρθρο ασχολούμαστε με:

  • τα glue records του nameserver που δημιουργεί το MiaB
  • τη βασική εγκατάσταση του MiaB
  • τα DNS Security Extensions
  • τα απαραίτητα πιστοποιητικά SSL

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

Τα glue records για τον nameserver μας
Μία από τις παράπλευρες θετικές συνέπειες του MiaB είναι ότι, αμέσως μετά την εγκατάστασή του, αποκτάμε και τον δικό μας DNS server στο cloud — συγκεκριμένα στο ίδιο VPS που λειτουργεί και το MiaB. Το καλό μ’ αυτή την προσέγγιση είναι ότι ορίζονται αυτόματα (και σωστά) όλα τα απαραίτητα DNS records (MX, SPF, DKIM, DMARC), ώστε ο mailserver μας να είναι πλήρως λειτουργικός, ασφαλής και οι άλλοι mailservers να τον εμπιστεύονται.

Πώς όμως φτάνει κανείς στον nameserver για το domain μας, το οποίο εν προκειμένω είναι το colder.xyz; Το σκηνικό, λίγο μετά την εγκατάσταση και ρύθμιση του DNS από πλευράς MiaB, έχει ως εξής:

  • Ως nameservers για το domain είναι ορισμένα τα ns1.box.colder.xyz και ns2.box.colder.xyz
  • Κάποια στιγμή, ένα μηχάνημα ρωτάει: Ποιος είναι ο nameserver για το colder.xyz;
  • Με την προϋπόθεση ότι στον domain registrar έχουμε δώσει τα ονόματα των nameservers του domain (ns1.box.colder.xyz και ns2.box.colder.xyz), η απάντηση που παίρνει είναι: Το ns1.box.colder.xyz είναι ένας nameserver που θέλεις.
  • Το μηχάνημα που απηύθυνε την προηγούμενη ερώτηση, λέει: Θεσπέσια! Και ποια είναι η αριθμητική διεύθυνση IP του ns1.box.colder.xyz;
  • Η απάντηση είναι μάλλον αποκαρδιωτική: Ιδέα δεν έχω — δοκίμασε να βρεις τους nameservers για το colder.xyz.

Από τα τρία τελευταία bullets είναι προφανές ότι πέφτουμε σε έναν ατέλειωτο βρόγχο κι άκρη δεν βγαίνει. Προκειμένου να αποφεύγεται αυτή η κατάσταση, χρειάζεται να έχουν οριστεί τα λεγόμενα glue records. Ένα glue record δεν είναι τίποτε άλλο από τη διεύθυνση IP ενός nameserver και ορίζεται μέσα από τον registrar. Γενικά, τα glue records πρέπει να καθορίζονται κάθε φορά που ως nameserver για ένα domain επιθυμούμε να χρίσουμε κάποιο μηχάνημα εντός του ίδιου domain — ή κάτω από το domain, αν προτιμάτε. Άπαξ κι έχουμε ορίσει τα απαιτούμενα glue records, τότε ένας διάλογος για την αναζήτηση nameserver για το domain εξελίσσεται κάπως έτσι:

  • Αχμ, ποιος είναι ο nameserver για το colder.xyz;
  • Ένας ωραιότατος nameserver για το colder.xyz είναι το ns1.box.colder.xyz.
  • Ναι, πράγματι, ωραίος φαίνεται. Μήπως έχεις και τη διεύθυνση IP του μορφονιού;
  • Άκου λέει! Και βέβαια την έχω — και είναι η 46.101.173.140.

Από τα screenshots και τις περιγραφές που ακολουθούν, φαίνεται πώς ορίσαμε τα glue records για το colder.xyz μέσα από το περιβάλλον του Gandi.net (ο registrar στον οποίο καταφύγαμε για την κατοχύρωση του colder.zyz).

Προκειμένου να ορίσουμε glue records στο Gandi συνδεόμαστε πρώτα στο λογαριασμό μας, δίνουμε Services –> Domains και κάνουμε ένα κλικ πάνω στο domain που μας ενδιαφέρει (για το παράδειγμά μας είναι το colder.xyz). Στη νέα σελίδα που εμφανίζεται κάνουμε άλλο ένα κλικ στο Glue record management, το οποίο είναι κάτω από την ενότητα Name servers, στα δεξιά της σελίδας “Domain Names > colder.xyz”. Εστιάζουμε την προσοχή μας στην περιοχή Register a server with the registry. Στη θυρίδα Name γράφουμε “ns1.box” (χωρίς τα εισαγωγικά) και, όπως βλέπετε, το Gandi έχει ήδη συμπληρωμένο το όνομα του domain μας (colder.xyz). Στο πλαίσιο IP address, από κάτω, συμπληρώνουμε τη διεύθυνση IP του VPS στο οποίο θα εγκατασταθεί το MiaB. Πατάμε πάνω στο κουμπάκι Validate (κάτω από το πλαίσιο IP address και δεξιά) κι έτσι ορίζουμε τον nameserver με όνομα ns1.box.colder.xyz και διεύθυνση IP την 46.101.173.140. Φυσικά, εσείς θα βάλετε το IP του δικού σας VPS. Επαναλαμβάνουμε ώστε να ορίσουμε τον mailserver με όνομα ns2.box.colder.xyz, ο οποίος έχει την ίδια διεύθυνση IP (πρόκειται για τον ίδιο server).

Καθορισμός glue record, μέσα από το web interface του Gandi.

Ιδού οι δύο nameservers για το domain μας (colder.xyz). Είναι οι ns1.box.colder.xyz και ns2.box.colder.xyz και ουσιαστικά πρόκειται για το ίδιο μηχάνημα, με διεύθυνση 46.101.173.140.

Τα δύο glue records που χρειαζόμαστε έχουν τεθεί.

Οφείλουμε στη συνέχεια να αλλάξουμε τους nameservers για το domain μας και να υποδείξουμε αυτούς που μόλις ορίσαμε (δηλαδή τους ns1.box.colder.xyz και ns2.box.colder.xyz). Στο site του Gandi, ακολουθούμε τη διαδρομή Services –> Domains –> colder.xyz –> Modify server. Στη σελίδα με όνομα “Domain Names > colder.xyz – update DNS”, διαγράφουμε τα ονόματα των nameservers που είναι ήδη συμπληρωμένα στις θυρίδες DNS1, DNS2, DNS3 και DNS4. Στις DNS1 και DNS2 πληκτρολογούμε ns1.box.colder.xyz και ns2.box.colder.xyz αντίστοιχα. Πατάμε πάνω στο κουμπάκι Submit, κάτω δεξιά, και είμαστε έτοιμοι.

Κι εκτός από τα glue records, καθορίζουμε και τους nameservers για το domain.

Αν όλα έχουν γίνει σωστά, τότε στη σελίδα με τα domains μας –και συγκεκριμένα στη γραμμή με το colder.xyz–, κάτω από το DNS θα πρέπει να γράφει “External DNS”.

Όλα είναι εντάξει με τους nameservers του domain μας εκτός από τους ίδιους τους nameservers, οι οποίοι δεν έχουν καν εγκατασταθεί. Αλλά αυτό σε λίγο θ' αλλάξει :)

Η αυτοματοποιημένη εγκατάσταση του MiaB
Για την εγκατάσταση του MiaB αρκεί να τρέξουμε ένα μόνο script. Ουσιαστικά, αυτό θα κατεβάσει όλα τα απαιτούμενα πακέτα από τα αποθετήρια του Ubuntu και, το σημαντικότερο, θα πραγματοποιήσει όλες τις απαραίτητες ρυθμίσεις ώστε mailserver και DNS server να λειτουργούν σωστά. Αφού συνδεθούμε μέσω SSH στη γραμμή εντολών του VPS μας, λαμβάνουμε και τρέχουμε το script κάπως έτσι:

$ cd ~
$ wget https://mailinabox.email/bootstrap.sh
$ chmod 755 bootstrap.sh
$ sudo ~/bootstrap.sh

Στα screenshots και στις περιγραφές που ακολουθούν, δείτε τι θα σας περιμένει κατά την εκτέλεση του script.

Κατά τη διαδικασία εγκατάστασης του MiaB καλούμαστε να απαντήσουμε σε μερικές απλές ερωτήσεις. Όπως βλέπετε και στο screenshot, αν αργότερα χρειαστεί ν’ αλλάξουμε κάτι θα δώσουμε “sudo mailinabox”. Το πιθανότερο πάντως είναι πως δεν θα τρέξουμε ξανά το συγκεκριμένο εργαλείο.

Τον απλό εγκαταστάτη του MiaB δεν θα χρειαστεί να τον τρέξουμε δεύτερη φορά.

Πληκτρολογούμε την ηλεκτρονική διεύθυνση που επιθυμούμε να έχει ο διαχειριστής του email για το domain. Το δικό μας domain είναι το colder.xyz και θέλαμε ο διαχειριστής να έχει username το talk2us (η συνήθεια από τα deltahacker.gr και parabing.com, βλέπετε). Μετά την εγκατάσταση, από το (web) control panel που παρέχει το MiaB έχουμε τη δυνατότητα να προσθέτουμε ή να αφαιρούμε κι άλλες ηλεκτρονικές διευθύνσεις.

Η ηλεκτρονική διεύθυνση που επιθυμούμε να έχει ο διαχειριστής του email για το domain.

Εδώ δίνουμε το όνομα του συστήματος στο οποίο τρέχει το MiaB. Πρέπει να είναι της μορφής box.το-domain.μας, επομένως εμείς γράψαμε box.colder.xyz.

Το όνομα του συστήματος στο οποίο τρέχει το MiaB πρέπει να είναι της μορφής 'box.το-domain.μας'.

Επιλέγουμε τη χώρα στην οποία βρισκόμαστε. Δεν το κάνουμε για τον ορισμό της ζώνης ώρας αλλά για την παραγωγή του πιστοποιητικού SSL που θα χρησιμοποιείται για τον nginx, το Dovecot και το postfix.

Επιλογή χώρας όχι για τον ορισμό της ζώνης ώρας, αλλά για την παραγωγή πιστοποιητικού SSL.

Το script εγκατάστασης του MiaB θα φέρει και θα εγκαταστήσει όλα τα απαραίτητα για τη λειτουργία του mailserver πακέτα, από τα repositories του Ubuntu. Όταν τελειώσει με τις εγκαταστάσεις, θα μας ζητήσει password για το λογαριασμό email του διαχειριστή (για εμάς, talk2us@colder.xyz). Με το email και το password του διαχειριστή κάνουμε login στο webmail του mailserver μας, αλλά και στο control panel διαχείρισης.

Ορισμός password για τον λογαριασμό email του διαχειριστή.

To script εγκατάστασης έχει τελειώσει και, όπως βλέπετε, έχει δημιουργήσει και μερικά απαραίτητα mail aliases. Στη συνέχεια θα συνδεθούμε στο control panel του mailserver μας — με τη βοήθεια του web browser της επιλογής μας φυσικά. Ο nameserver του box δεν είναι ακόμα ορατός για τον υπόλοιπο κόσμο, επομένως στη μπάρα διευθύνσεων του web browser θα πληκτρολογήσουμε τη διεύθυνση που μας υποδεικνύει το script εγκατάστασης. Για εμάς αυτή η διεύθυνση ήταν η https://46.101.173.140/admin, όπου το 46.101.173.140 είναι η δημόσια διεύθυνση IP του VPS. Παρατηρήστε εξάλλου ότι, σ’ αυτό το στάδιο, το πιστοποιητικό του web server είναι self-signed. Συνεπώς, ο web browser δικαιολογημένα θα γκρινιάξει. Αν θέλουμε να είμαστε έξτρα προσεκτικοί –και κάπως υπερβολικά σχολαστικοί–, πριν πούμε στον browser να δεχθεί το πιστοποιητικό θα δούμε το fingerprint που διαθέτει και θα το συγκρίνουμε μ’ εκείνο που έχει εμφανίσει το script εγκατάστασης στο τερματικό.

Η διεύθυνση που οδηγεί στο web panel του MiaB, καθώς και το fingerprint του self-signed πιστοποιητικού.

Πρώτη απόπειρα σύνδεσης στο (web) control panel του MiaB κι ο browser δικαίως παραπονιέται, αφού το πιστοποιητικό που του στέλνει ο απομακρυσμένος web server είναι self-signed. Σε λίγο θα αποκτήσουμε ένα κανονικό, έγκυρο πιστοποιητικό για το MiaB. Προς το παρόν πάντως μπορούμε να κάνουμε μια εξαίρεση (κλικ στο κουμπί Add Exception) και να πούμε στον Firefox να δεχτεί αυτό που βλέπει.

Σ' αυτό το πρώιμο στάδιο, το πιστοποιητικό του web server είναι self-signed.

Για τη σύνδεση στο control panel του MiaB χρειάζεται να δώσουμε το email του διαχειριστή (για εμάς είναι το talk2us@colder.xyz), βεβαίως και το αντίστοιχο password.

Πρώτη σύνδεση στο control panel του MiaB.

Μετά από την πρώτη επιτυχή σύνδεση στο control panel του MiaB, διεξάγεται ένα πλήθος ελέγχων και τα αποτελέσματα των επιμέρους δοκιμών παρουσιάζονται σε μια απλή και όμορφη σελίδα. Όπως μπορείτε να δείτε, όλα δείχνουν να είναι μια χαρά (έμφαση στο “δείχνουν” και θα πούμε σε λίγο γιατί). Για παράδειγμα:

  • όλες οι απαραίτητες υπηρεσίες του server μας είναι ενεργές
  • απαγορεύονται τα SSH logins με πληκτρολόγηση password
  • το λογισμικό είναι πλήρως ενημερωμένο
  • η διεύθυνση του διαχειριστή συστήματος, η οποία είναι administrator@box.colder.xyz, υπάρχει ως alias της talk2us@colder.xyz
  • ο διαθέσιμος αποθηκευτικός χώρος είναι υπεραρκετός
  • το port 25/TCP δεν είναι μπλοκαρισμένο (όπως πιθανώς θα συνέβαινε αν είχαμε εγκαταστήσει το MiaB σε server/VM στο σπίτι)
  • η διεύθυνση IP του server δεν βρίσκεται σε blacklist από το zen.spamhaus.org
  • τα glue records έχουν τεθεί σωστά στον registrar (Gandi) (οι ρυθμίσεις που αφορούν στο DNS χρειάζονται κάποια ώρα για να διαδοθούν, αλλά στην πλειονότητα των περιπτώσεων όλα θα είναι καλά μέσα σε 30 λεπτά)
  • το box.colder.xyz αντιστοιχεί στο IP του VPS
  • το reverse DNS έχει τεθεί σωστά από τον ISP (DigitalOcean) κ.ο.κ.

Σκρολάροντας όμως λίγο τη σελίδα, βλέπουμε γιατί δώσαμε έμφαση σ’ αυτό το “δείχνουν”.

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

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

  • το πιστοποιητικό SSL για το box.colder.xyz είναι self-signed και, πέρα από τις ενοχλητικές προειδοποιήσεις που παίρνουμε σε web browsers και mail clients, τα εξερχόμενα emails μας έχουν μεγαλύτερη πιθανότητα να καταλήγουν στα spam folders των παραληπτών (ο mailserver χρησιμοποιεί το πιστοποιητικό που χρησιμοποιεί και ο web server)
  • ανάλογες παρατηρήσεις ισχύουν και για το πιστοποιητικό SSL για το colder.xyz (αν στήσουμε static site στο VPS με το MiaB, οι επισκέπτες του θα παίρνουν ενοχλητικές προειδοποιήσεις περί self-signed πιστοποιητικού)
  • το (προαιρετικό) DNSSEC DS record δεν έχει τεθεί (θα εξηγήσουμε σε λίγο περί τίνος πρόκειται)

Στο υπόλοιπο του παρόντος άρθρου κάνουμε όλες τις απαραίτητες ενέργειες για να επιληφθούμε των τριών αυτών θεμάτων.

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

Οι ρυθμίσεις που αφορούν στο DNS χρειάζονται κάποιο χρόνο για να διαδοθούν — κι ο χρόνος αυτός είναι πιθανό να φτάσει τις 24 ώρες. Ευτυχώς, στις περισσότερες των περιπτώσεων δεν χρειάζεται πάνω από μισή ώρα. Όπως φαίνεται και στο screenshot ο DNS server του MiaB ήδη λειτουργεί σωστά, οπότε αν από κάποιο άλλο μηχάνημα κάνουμε ping στα box.colder.xyz και colder.xyz παίρνουμε απαντήσεις.

Ο nameserver του box λειτουργεί κανονικά!

DNS Security Extensions
Όταν σχεδιάστηκε για πρώτη φορά το DNS τα προβλήματα ασφαλείας που έχουμε σήμερα δεν φαίνονταν καν στον ορίζοντα. Έτσι, για λόγους ταχύτητας το DNS δεν ενσωμάτωνε μηχανισμούς ασφαλείας, π.χ., για την αποτροπή του spoofing. Ένα οποιοδήποτε μηχάνημα που απηύθυνε κάποιο ερώτημα δεχόταν ως έγκυρη απάντηση την πρώτη που ελάμβανε, χωρίς να ελέγχει για το ποιος είναι εκείνος που την έστειλε. Σήμερα που οι επιθέσεις phishing αποτελούν ψωμοτύρι ακόμη και για τους blackhats με μηδενική εμπειρία, η κατάσταση από πλευράς ασφαλείας είναι αρκετά βελτιωμένη. Εξακολουθεί ωστόσο να είναι δυνατό το DNS spoofing: Υπό προϋποθέσεις, ερωτήματα προς DNS servers λαμβάνουν απαντήσεις από κακόβουλα μηχανήματα. Το λεγόμενο DNSSEC έχει σχεδιαστεί ώστε:

  • να ελέγχεται αν μια απάντηση που μόλις ελήφθη πράγματι εστάλη από τον nameserver που έπρεπε να τη στείλει
  • να ελέγχεται αν ο nameserver που μόλις απάντησε είναι πράγματι εκείνος που υποτίθεται ότι είναι.

Χωρίς να σκοπεύουμε να μπούμε σε λεπτομέρειες, θα πούμε μόνο ότι το DNSSEC βασίζεται στην κρυπτογραφία δημοσίου κλειδιού. Παρόμοιες τεχνικές υλοποιούνται και σε πολλές άλλες περιπτώσεις και εφαρμογές, όπως, π.χ., στα SSH passwordless logins και στην κρυπτογράφηση του email.

Σημειώνουμε ότι για να δουλέψει το DNSSEC πρέπει να το υποστηρίζει τόσο ο resolver (εκείνος που ρωτάει) όσο και ο nameserver (εκείνος που απαντά). Ο nameserver που δημιουργεί το MiaB υποστηρίζει το DNSSEC, αλλά επιπρόσθετα χρειάζεται να υποστηρίζεται α) από τον registrar και β) για το top-level domain που μας ενδιαφέρει. Το Gandi, ο registrar που χρησιμοποιούμε στην παρουσίασή μας, υποστηρίζει το DNSSEC. Για το δε top-level domain του τομέα μας, δηλαδή για το “.xyz” του “colder.xyz”, επίσης παρέχεται υποστήριξη DNSSEC. Συστήνεται ενθουσιωδώς, λοιπόν, να κάνουμε όλες τις απαραίτητες ενέργειες ώστε να ενεργοποιήσουμε το συγκεκριμένο χαρακτηριστικό.

Στα screenshots και τις περιγραφές που ακολουθούν μπορείτε να δείτε πώς εργαζόμαστε όταν ο registrar μας είναι το Gandi.

Στο control panel του MiaB, στο κάτω μέρος της σελίδας κι εκεί που υπάρχει η προειδοποίηση περί DNSSEC, κάνουμε ένα κλικ στο “show more”. Σημειώνουμε κάπου τις τιμές των Key Flags και Algorithm (KSK και 7 αντίστοιχα). Επιλέγουμε ολόκληρο το Public Key και το αντιγράφουμε προσωρινά σε κάποιο νέο αρχείο απλού κειμένου.

Σημειώνουμε τις τιμές των Key Flags και Algorithm (KSK και 7 αντίστοιχα). Επιλέγουμε ολόκληρο το Public Key και το αντιγράφουμε προσωρινά σε κάποιο νέο αρχείο απλού κειμένου.

Πηγαίνουμε στο Gandi και συνδεόμαστε στο λογαριασμό μας εκεί. Ακολουθούμε τη διαδρομή Services –> Domains –> colder.xyz –> Manage DNSSEC. Εστιάζουμε την προσοχή μας στην περιοχή Add a record. Την παράμετρο Flags τη θέτουμε ίση προς “257 — KSK”, για το Algorithm επιλέγουμε το “7 — RSASHA1-NSEC3-SHA1”, ενώ στο πλαίσιο Public key μεταφέρουμε το κλειδί που προηγουμένως αντιγράψαμε σε αρχείο απλού κειμένου. Τέλος πατάμε στο κουμπάκι Add, κάτω δεξιά.

Στο πλαίσιο Public key μεταφέρουμε το κλειδί που προηγουμένως αντιγράψαμε σε αρχείο απλού κειμένου.

Όπως έχουμε ήδη αναφέρει, οι αλλαγές που αφορούν στο DNS θέλουν λίγο χρόνο για να διαδοθούν. Θα χρειαστεί να περιμένουμε και, στο μεταξύ, από το control panel του MiaB έχουμε τη δυνατότητα να ελέγχουμε τι γίνεται δίνοντας System –> Status Checks. Κάποια στιγμή, στην ενότητα colder.xyz θα δούμε το μήνυμα “DNSSEC ‘DS’ record is set correctly at registrar”, που βεβαίως σημαίνει πως όλα είναι μια χαρά.

Πλέον, ο nameserver του MiaB υποστηρίζει το DNSSEC για το colder.xyz.

Έκδοση υπογεγραμμένου πιστοποιητικού SSL/TLS και εγκατάσταση
Με λίγα κι απλά λόγια, ένα ψηφιακό πιστοποιητικό είναι απαραίτητο ώστε α) η επικοινωνία μας με κάποιον απομακρυσμένο server να γίνεται κρυπτογραφημένα και β) να είμαστε βέβαιοι ότι ο απομακρυσμένος server είναι αυτός που υποτίθεται ότι είναι κι όχι, π.χ., κάποιο μηχάνημα που ελέγχει ένας κακόβουλος χρήστης. Ο web server του MiaB χρησιμοποιεί ένα ψηφιακό πιστοποιητικό — και το ίδιο πιστοποιητικό χρησιμοποιεί κι ο mailserver. Όμως το συγκεκριμένο πιστοποιητικό είναι self-signed, δηλαδή υπογεγραμμένο από τον ίδιο του τον εαυτό κι όχι από κάποια τρίτη, έμπιστη Αρχή Πιστοποίησης (Certificate Authority). Γι’ αυτό κι όποτε συνδεόμαστε στο web panel ή στο web mail του MiaB, ο browser γκρινιάζει και προειδοποιεί και νίπτει τας χείρας του, αφού δεν μπορεί να είναι σίγουρος για την αυθεντικότητα του απομακρυσμένου μηχανήματος. Ειδικά στην περίπτωσή μας, το self-signed πιστοποιητικό έχει και μια πολύ πιο σοβαρή συνέπεια: Άλλοι mailservers που βλέπουν το self-signed πιστοποιητικό του δικού μας συνοφρυώνονται και δεν τον παίρνουν πολύ στα σοβαρά, γεγονός που σημαίνει ότι τα mails μας είναι πολύ πιθανό να καταλήγουν σε κάποιο SPAM/Junk folder.

Οπωσδήποτε, λοιπόν, κάτι πρέπει να κάνουμε, ώστε ο mailserver μας να μην θεωρείται πολίτης δεύτερης κατηγορίας. Η λύση είναι να αποκτήσουμε ένα νέο, υπογεγραμμένο, πιστοποιητικό και να συνεχίσουμε μ’ αυτό. Το Gandi παρέχει δωρεάν πιστοποιητικά για τα domains που έχουμε αγοράσει από εκεί, αλλά μόνο για τον πρώτο χρόνο. Επίσης, η StartCom παρέχει δωρεάν πιστοποιητικά για το domain κι ένα subdomain, τα οποία ισχύουν για ένα χρόνο και η ανανέωσή τους γίνεται δωρεάν.

Το πώς δημιουργούμε λογαριασμό στη StartCom –δεν χρησιμοποιούμε username/password αλλά ένα προσωπικό πιστοποιητικό– και το πώς αποκτάμε δωρεάν υπογεγραμμένο πιστοποιητικό για τον server ή τους servers μας, τα δείχνουμε αναλυτικά στο πλαίσιο αυτού του άρθρου. Σε πολύ λίγο θα παρακολουθήσουμε ξανά τη διαδικασία λήψης πιστοποιητικού από τη StartCom, το οποίο στη συνέχεια θα δώσουμε στο MiaB ώστε να χρησιμοποιείται από τον web server καθώς κι από τον mailserver. Αυτή τη φορά δεν θα ζητήσουμε από τη StartCom να παραγάγει ιδιωτικό κλειδί και πιστοποιητικό για εμάς. Αυτά τα δύο αρχεία έχουν ήδη δημιουργηθεί από το MiaB. Θα στείλουμε όμως στη StartCom το λεγόμενο Certificate Signing Request (CSR), ώστε η Αρχή Πιστοποίησης να υπογράψει ψηφιακά το πιστοποιητικό που ήδη διαθέτουμε. Για τη συνέχεια υποθέτουμε ότι έχετε ήδη αποκτήσει προσωπικό πιστοποιητικό από τη StartCom (κι αν δεν έχετε, δείτε εδώ).

Αφού συνδεθούμε στο site της StartCom με τη βοήθεια του προσωπικού μας πιστοποιητικού, από τις τρεις καρτέλες πάνω αριστερά κάνουμε κλικ στην Certificates Wizard. Στο Certificate Target, λίγο πιο κάτω, επιλέγουμε το Web Server SSL/TLS Certificate. Το υπογεγραμμένο πιστοποιητικό που θα έχουμε σε λίγο θα ‘ναι κατάλληλο για χρήση από τον nginx, από το Devecot κι από το postfix. Πατάμε πάνω στο πράσινο κουμπάκι, το Continue.

Στο Certificate Target επιλέγουμε το Web Server SSL/TLS Certificate. Το υπογεγραμμένο πιστοποιητικό που θα πάρουμε θα 'ναι κατάλληλο για χρήση από τον nginx, από το Devecot κι από το postfix.

Σε προηγούμενο άρθρο είχαμε παραγάγει ένα ιδιωτικό κλειδί μέσα από το web panel της StartCom. Αυτή τη φορά το MiaB έχει ήδη δημιουργήσει ένα ιδιωτικό κλειδί, το αντίστοιχο πιστοποιητικό, καθώς και το λεγόμενο Certificate Signing Request (CSR). Πρόκειται για ένα αρχείο, τα περιεχόμενα του οποίου θα στείλουμε σε λίγο στη StartCom και μέσω αυτού θα πάρουμε το δημόσιο πιστοποιητικό μας υπογεγραμμένο κι έτοιμο για χρήση. Το δε ιδιωτικό κλειδί είναι αποθηκευμένο στο box και, περιττό να σημειώσουμε, δεν πρέπει να φύγει από εκεί. Σε αυτό το στάδιο της διαδικασίας, λοιπόν, δεν ζητάμε την παραγωγή ιδιωτικού κλειδιού, οπότε κάνουμε ένα κλικ στο κουμπάκι Skip.

Δεν ζητάμε την παραγωγή ιδιωτικού κλειδιού, αφού διαθέτουμε ήδη ένα Certificate Signing Request (CSR).

Πίσω στο control panel του MiaB, επιλέγουμε System –> SSL Certificates. Στην ενότητα Certificate Status, στο πάνω μέρος της σελίδας, κάτω από τη στήλη Domain αναγράφονται τα box.colder.xyz και colder.xyz. Κάνουμε ένα κλικ στο μπλε κουμπί Install Certificate, στα δεξιά της γραμμής του box.colder.xyz. Η σελίδα θα σκρολάρει λίγο, ώστε να ξεκινά με την ενότητα Install SSL Certificate. Παρατηρήστε το πλαίσιο με το CSR: Επιλέγουμε κι αντιγράφουμε όλο το περιεχόμενό του, π.χ., στο clipboard ή σε ένα αρχείο απλού κειμένου.

Αντιγράφουμε το περιεχόμενο του CSR στο clipboard ή σε ένα αρχείο απλού κειμένου.

Στο web panel της StartCom, αυτή τη στιγμή πρέπει να είμαστε στη σελίδα για την υποβολή του CSR. Στο σχετικό πλαίσιο μεταφέρουμε όλο το περιεχόμενο που μόλις αντιγράψαμε στο clipboard ή σε κάποιο αρχείο απλού κειμένου. Πατάμε πάνω στο κουμπί Continue.

Μεταφέρουμε το περιεχόμενο του CSR στο σχετικό πλαίσιο, στο site της StartCom.

Ειδοποιούμαστε για την επιτυχή υποβολή του CSR και πληροφορούμαστε ότι το μόνο που λαμβάνεται υπόψη είναι το δημόσιο κλειδί. Γενικά, εκτός από το δημόσιο κλειδί ένα CSR περιλαμβάνει πληροφορίες όπως όνομα εταιρείας/οργανισμού, domain name, πόλη/περιοχή και χώρα. Για άλλη μια φορά πατάμε πάνω στο Continue.

Το CSR μόλις υπεβλήθη επιτυχώς.

Κανονικά κάπου εδώ πληκτρολογούμε το domain για το οποίο θα εκδοθεί το πιστοποιητικό, όμως το όνομά του (colder.xyz) εμπεριέχεται ήδη στο CSR. Ξανά κλικ στο Continue, λοιπόν.

Το CSR εμπεριέχει το όνομα του domain για το οποίο επιθυμούμε να εκδώσουμε πιστοποιητικό.

Το πιστοποιητικό που πρόκειται να πάρουμε είναι έγκυρο για το domain (colder.xyz) καθώς και για ένα μόνο subdomain (της μορφής κάτι.colder.xyz). Πληκτρολογούμε στη σχετική θυρίδα το όνομα του subdomain, το οποίο για την περίπτωσή μας είναι το “box” (χωρίς τα εισαγωγικά).

Το δωρεάν πιστοποιητικό που πρόκειται να πάρουμε θα ισχύει για το domain καθώς και για ένα subdomain.

Όλες οι πληροφορίες για τη δημιουργία του υπογεγραμμένου πιστοποιητικού έχουν συλλεχθεί. Πληροφορούμαστε ότι θα υποστηρίζει δύο hostnames — για την περίπτωσή μας τα colder.xyz και box.colder.xyz.

Όλες οι απαραίτητες πληροφορίες για τη δημιουργία του νέου πιστοποιητικού έχουν συλλεχθεί.

Το πιστοποιητικό μας αναμένει έγκριση από το προσωπικό της StartCom κι όταν είναι έτοιμο θα λάβουμε email επιβεβαίωσης (δείτε παρακάτω). Σημειώστε ότι η διαδικασία έγκρισης δεν είναι τόσο τετριμμένη όσο θα πίστευε κανείς. Για παράδειγμα, την πρώτη φορά που επιχειρήσαμε να εκδώσουμε πιστοποιητικό για το colder.xyz, το αίτημά μας απορρίφθηκε. Ρωτήσαμε το λόγο, μέσω email, και η απάντηση ήταν ότι θα πρέπει να περιμένουμε να περάσουν τουλάχιστον τρεις μέρες μετά την αγορά του domain. Περιμέναμε λοιπόν να περάσουν ακριβώς τρεις μέρες, προσπαθήσαμε και πάλι και όλα πήγαν κατ’ ευχήν.

Το πιστοποιητικό μας αναμένει έγκριση από το προσωπικό της StartCom.

Αφού το πιστοποιητικό μας εγκριθεί, έρχεται ενημερωτικό email στο postmaster@colder.xyz. Το MiaB έχει φροντίσει ώστε το postmaster@colder.xyz ν’ αποτελεί alias προς το email του χρήστη/διαχειριστή που καθορίσαμε κατά την εγκατάσταση (για εμάς, το email αυτό ήταν το talk2us@colder.xyz). Προκειμένου να αποκτήσουμε πρόσβαση στο web mail που παρέχει το MiaB (μέσω του Roundcube), από έναν browser επισκεπτόμαστε τη διεύθυνση https://box.colder.xyz/mail και κάνουμε login πληκτρολογώντας τη διεύθυνση email του διαχειριστή (talk2us@colder.xyz) καθώς και το αντίστοιχο password.

Το πρώτο mail που έφτασε στον mailserver μας, αφορούσε στην έκδοση του υπογεγραμμένου πιστοποιητικού.

Με ένα κλικ στο σχετικό URL (https://www.startssl.com/?app=12) του email που μόλις λάβαμε, μεταβαίνουμε στη σελίδα της StartCom από την οποία μπορούμε να κατεβάσουμε το υπογεγραμμένο, δημόσιο πιστοποιητικό μας. Στο drop-down μενού με όνομα Certificate φροντίζουμε ώστε να είναι επιλεγμένο το box.colder.xyz (Server – Clan 1 – …) και μετά πατάμε στο κουμπί Continue.

Ζητάμε το νέο πιστοποιητικό...

Το πιστοποιητικό εμφανίζεται εντός του πλαισίου ονόματι Certificate. Επιλέγουμε κι αντιγράφουμε όλο το περιεχόμενο του πλαισίου.

...και το περιεχόμενό του εμφανίζεται στο σχετικό πλαίσιο.

Στο control panel του MiaB, αντιγράφουμε το πιστοποιητικό εντός του πλαισίου με όνομα SSL certificate. Δεν πατάμε ακόμα στο κουμπί Install, μιας και χρειαζόμαστε το ενδιάμεσο πιστοποιητικό της StartCom. Σημειωτέον πως το πιστοποιητικό που μόλις λάβαμε δεν έχει υπογραφεί από το λεγόμενο root certificate της StartCom. Αντίθετα, έχει υπογραφεί με το ενδιάμεσο πιστοποιητικό που θα κατεβάσουμε (κι αυτό έχει όντως υπογραφεί από το root certificate).

Στο control panel του MiaB, μεταφέρουμε το νέο υπογεγραμμένο πιστοποιητικό στο κατάλληλο πλαίσιο.

Για το ενδιάμεσο πιστοποιητικό επιστρέφουμε στο site της StartCom και συγκεκριμένα στην καρτέλα Tool Box. Από τις επιλογές στ’ αριστερά, κάνουμε ένα κλικ στην StartCom CA Certificates κι αμέσως εμφανίζεται ένα ομώνυμο παράθυρο. Με κλικ στο Class 1 Intermediate Server CA παίρνουμε το ζητούμενο ενδιάμεσο πιστοποιητικό. Αν θέλετε, αντί να αποθηκεύσετε κάπου το αντίστοιχο αρχείο ζητήστε ν’ ανοίξει απευθείας σε κάποιον plain text editor.

Χρειαζόμαστε και το ενδιάμεσο πιστοποιητικό της StartCom.

Ιδού το ενδιάμεσο πιστοποιητικό που μόλις πήραμε από τη StartCom, όπως φαίνεται μέσα από το Notepad++ για Windows. Επιλέγουμε κι αντιγράφουμε όλο το περιεχόμενο, μετά…

Το περιεχόμενο του ενδιάμεσου πιστοποιητικού...

…πηγαίνουμε στο control panel του MiaB και το μεταφέρουμε στο πλαίσιο SSL intermediate chain. Πατάμε, βεβαίως, και στο κουμπάκι Install, κάτω αριστερά από το πλαίσιο.

...το αντιγράφουμε στο κατάλληλο πλαίσιο, στο control panel του MiaB.

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

Όπως φαίνεται, το υπογεγραμμένο πιστοποιητικό εγκαταστάθηκε επιτυχώς!

Επειδή το πιστοποιητικό που πήραμε από τη StartCom είναι έγκυρο τόσο για το colder.xyz όσο και για το box.colder.xyz, δεν χρειάζεται να επαναλάβουμε τη διαδικασία για το colder.xyz. Κάτι τέτοιο δεν ισχύει γενικά: Για παράδειγμα, παίζοντας με τα δωρεάν πιστοποιητικά που δίνει το Gandi για τον πρώτο χρόνο, είδαμε ότι καλύπτουν ένα μόνο subdomain.

Το νέο πιστοποιητικό καλύπτει το colder.xyz καθώς και το box.colder.xyz.

Ο browser είναι πιθανό να θυμάται το παλιό, self-signed πιστοποιητικό που πήρε από το box.colder.xyz. Αποσυνδεθείτε από το λογαριασμό σας στο control panel του MiaB, επισκεφτείτε ξανά τη διεύθυνση https://box.colder.xyz/admin κι αφού συνδεθείτε και πάλι δώστε ένα System –> Status Checks. Θα διαπιστώσετε πως οι έλεγχοι για τα πιστοποιητικά των colder.xyz και box.colder.xyz είναι επιτυχείς.

Άλλος ένας γενικός έλεγχος αποδεικνύει ότι, πλέον, το MiaB δεν έχει κάτι για να παραπονεθεί!

Το έδαφος που έχουμε καλύψει
Δεν ξέρουμε πόσο κουραστήκατε, αλλά εδώ που έχουμε φτάσει ήδη διαθέτουμε τον δικό μας, πλήρως λειτουργικό mailserver στο cloud! Για πρόσβαση στο webmail που παρέχεται μέσω του Roundcube, αρκεί να επισκεπτόμαστε τη διεύθυνση https://box.colder.xyz/mail. Αν θέλουμε –που στην αρχή σίγουρα θα θέλουμε– να δημιουργήσουμε μια νέα διεύθυνση email για εμάς ή κάποιον άλλον χρήστη, αρκεί να συνδεθούμε στο web panel του MiaB και να πάμε στο Mail –> Users. Στο τέταρτο και τελευταίο μέρος του αφιερώματος θα δούμε μερικά ακόμα χαρακτηριστικά και δυνατότητες του MiaB, θα ρυθμίσουμε τον mail client της προτίμησής μας ώστε να μη χρειάζεται –σώνει και καλά– να καταφεύγουμε στο webmail του Roundcube (δώστε Mail –> Instructions), ενώ θα σας μεταφέρουμε και την εμπειρία μας από το μέτωπο του SPAM (μην ανησυχείτε, καλά νέα σας έχουμε). Έως τότε, εξερευνήστε και χαρείτε τον δικό σας mailserver, ενώ μην ξεχάσετε να ενημερώσετε τους ανθρώπους με τους οποίους επικοινωνείτε πιο συχνά. Ορισμένοι ίσως χρειάζονται μια κάποια ειδοποίηση, ώστε να μην παραξενευτούν βλέποντας ξαφνικά emails από διευθύνσεις του στυλ yourname@ubernet.org. Καλή σας διασκέδαση!

One Response to “Εγκατάσταση και βασική ρύθμιση Mail-in-a-Box”

  1. nikosg5 | 29/06/2015 at 21:04

    Καλησπερα,
    Εχω ενα VPS που εχω το sentora panel που εχει και mail server και υπαρχει και υπογεγραμμενο πιστοποιητικο απο το startssl για ενα subdomain. (Και τα 2 νομιζω χρησιμοποιουν τα ιδια modules) Αλλα προσπαθω μπας και ξεφυγω απο τα spam folders.

    H πρωτη απορια ειναι αυτο το public key για το DNSSEC μπορω να το βρω καπως εκτος του MiaB?

    Μηπως το πακετο openDKiM Μου λυνει ολα τα προβληματα απο αποψη εγκαταστασγς πιστοποιητικων? Μια ματια στο λινκ θα ηταν σωτηρια (http://goo.gl/iiWdGV)

    Αν οχι εχετε καποιο link στα υποψην για σεταρισμα των πιστοποιητικων εκτος του MiaB?

    Ευχαριστω

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

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