ΕΕΛ/ΛΑΚ - Λίστες Ταχυδρομείου

Fwd: Sendmail milter για τον δυναμικό έλεγχο των διευθύνσεων αποστολέα που επιτρέπεται να χρησιμοποιηθούν από τον χρήστη

  • Subject: Fwd: Sendmail milter για τον δυναμικό έλεγχο των διευθύνσεων αποστολέα που επιτρέπεται να χρησιμοποιηθούν από τον χρήστη
  • From: "Theodoros G. Karounos" <karounos [ at ] mail [ dot ] ntua [ dot ] gr>
  • Date: Tue, 17 Feb 2009 22:15:11 +0200
---------- Forwarded message ----------
From: Filippos Georgiadis <f [ dot ] georgiadis [ at ] gmail [ dot ] com>
Date: 2009/2/16
Subject: Sendmail milter για τον δυναμικό έλεγχο των διευθύνσεων
αποστολέα που επιτρέπεται να χρησιμοποιηθούν από τον χρήστη
To: info [ at ] ellak [ dot ] gr


===============================================
ΤΙΤΛΟΣ: Sendmail milter για τον δυναμικό έλεγχο των διευθύνσεων
αποστολέα που επιτρέπεται να χρησιμοποιηθούν από τον χρήστη
===============================================
Περίληψη: Το SMTP πρωτόκολλο εγγενώς δεν παρέχει κανένα μηχανισμό που
να ελέγχει αν ο αποστολέας εξουσιοδοτείται να χρησιμοποιήσει μια
συγκεκριμένη διεύθυνση ηλεκτρονικού ταχυδρομείου (email) ή μια
συγκεκριμένη περιγραφή που να συνοδεύει αυτή. Η αδυναμία αυτή του
πρωτοκόλλου δημιουργεί ιδιαίτερο πρόβλημα σε εταιρικά περιβάλλοντα που
εφαρμόζουν ελέγχους στην εξερχόμενη email κίνηση και κανόνες στη χρήση
της υπηρεσίας για την αποφυγή φαινομένων πλαστοπροσωπείας
(impersonation, spoofing) [1]_. Στο πλαίσιο της πρότασης αυτής
προτείνεται η ανάπτυξη ενός milter φίλτρου που θα δίνει τη δυνατότητα
στο SendMail ΜΤΑ ή άλλους συμβατούς ΜΤΑs να ελέγχουν δυναμικά αν ο
αποστολέας επιτρέπεται να χρησιμοποιήσει μια συγκεκριμένη διεύθυνση ή
ονοματεπώνυμο. Οι έλεγχοι αυτοί θα βασίζονται στο προφίλ του αποστολέα
όπως αυτό προκύπτει από την υπηρεσία καταλόγου χρηστών της επιχείρησης
ή του οργανισμού.


Ιστορικό
--------
Μέχρι πρόσφατα το ποσοστό των εγκαταστάσεων της υπηρεσίας email που
υποστήριζαν μηχανισμούς πιστοποίησης του αποστολέα ήταν πολύ μικρό.
Αυτό εν μέρει οφείλονταν στο ότι τα σχετικά πρότυπα (RFCs 2554, 2476)
άργησαν να ενσωματωθούν στους πιο διαδεδομένους MTAs αλλά και στη
μικρή -μέχρι τότε- έκταση του φαινομένου της εξερχόμενης ανεπιθύμητης
αλληλογραφίας. Δεδομένου λοιπόν ότι η ΙP του σταθμού εργασίας που
στέλνει το email ήταν η μόνη αξιόπιστη πληροφορία δεν υπήρχε
δυνατότητα ουσιαστικών ελέγχων. Ωστόσο με τη διάδοση των μηχανισμών
SMTP authentication η γνώση της ταυτότητας του αποστολέα καθιστά την
δυνατότητα προσωποποιημένης πρόσβασης εφικτή.


Στόχοι
------
Οι επιθυμητοί στόχοι από την υλοποίηση της παρούσας πρότασης είναι:

1. Ο περιορισμός των φαινομένων πλαστοπροσωπίας όπου αυτό απαιτείται
με εύκολο και αξιόπιστο τρόπο

2. Η αποτροπή της εξερχόμενης ανεπιθύμητης (outgoing spam) και η
συμβολή στη συνολική προσπάθεια μείωσης της διακινούμενης ανεπιθύμητης
αλληλογραφίας.

Η προτεινόμενη λύση θα σχεδιασθεί και υλοποιηθεί σε γλώσσα
προγραμματισμού C με τη μορφή ενός milter module που να ελέγχει και να
διορθώνει λάθη στα πεδία

1. Envelope From Address
2. Header From Address
3. Header Reply-To Address
4. Header Sender Address

Οι έλεγχοι αυτοί θα γίνονται δυναμικά κατά την αποστολή των μηνυμάτων
(mail submission) λαμβάνοντας υπόψη κατάλληλα πεδία της υπηρεσίας
καταλόγου (ldap attributes) στην εγγραφή του χρήστη. Τα πεδία αυτά θα
προσδιορίζουν τις επιτρεπόμενες τιμές για ονοματεπώνυμο και τις
επιτρεπόμενες email διευθύνσεις που μπορεί να χρησιμοποιήσει ο
πιστοποιημένος χρήστης. Έτσι για παράδειγμα η παρακάτω αντιστοίχιση θα
μπορεί να χρησιμοποιηθεί:

Πλήρες Όνομα – CN (Common Name)
Email Address – mail,mailAlternate

Ειδική πρόβλεψη θα υπάρχει για μη προσωπικές διευθύνσεις όπου
περισσότεροι από ένας λογαριασμοί εξουσιοδοτούνται να χρησιμοποιήσουν
"My Company Sales Dept" <sales [ at ] mycompany [ dot ] gr>
"Υποστήριξη Πελατών" <support [ at ] mycompany [ dot ] gr>

Για τις περιπτώσεις αυτές το φίλτρο θα λαμβάνει υπόψη ένα ειδικό ldap
attribute στο object των χρηστών (πχ mailAuthorized) στο οποίο θα
καταγράφονται οι επιπλέον διευθύνσεις που ο χρήστης επιτρέπεται να
χρησιμοποιεί λόγω ιδιότητας.


Παραδοτέα
---------
Με την ολοκλήρωση της λογισμικού θα δοθούν τα παρακάτω παραδοτέα:

- Κώδικας σε C κατά τα πρότυπα Literate programming [2]_ [3]_
- Public repo με τον κώδικα στο sourceforge.net ή αντίστοιχο
- Τεκμηρίωση λύσης, αρχιτεκτονική λύσης
- Οδηγίες εγκατάστασης σε τελευταία έκδοση του SendMail ΜΤΑ
- Εκτελέσιμο για Linux και AIX.


Χρονοδιάγραμμα
--------------
Παρακάτω δίνεται το χρονοδιάγραμμα υλοποίησης της λύσης, σε
ημερολογιακές ημέρες από την αρχή των εργασιών.

Ορόσημα εξέλιξης της υλοποίησης (milestones):
- Σχεδιασμός της λύσης,10 ημέρες
- Πρώτη δοκιμαστική έκδοση (alpha release), 50 ημέρες
- Δοκιμαστική πλήρης έκδοση πλήρους (beta release),70 ημέρες
- Τελική έκδοση, 80 ημέρες

Ακολουθεί το ακριβές χρονοδιάγραμμα:
- 0-5    : Ανάρτηση του project σε code hosting repository
- 0-5    : Εγκατάσταση πεδίου δοκιμών
- 0-10   : Σχεδιασμός λύσης, ολοκλήρωση αρχιτεκτονικής
- 10-30  : Κώδικας διεπαφής με ldap
- 10-30  : Κώδικας διεπαφής με sendmail/libmilter API
- 30-60  : Κώδικας ελέγχων, ολοκλήρωση των βασικών λειτουργιών
- 60-80  : Έξυπνες συγκρίσεις για ονοματεπώνυμο (lexicographic distance) [4]_
- 80-85  : Ολοκλήρωση τεκμηρίωσης
- 85-90  : Υλικό δημοσίευσης, παρουσίασης λύσης


Γιατί εμένα
-----------
Η ομάδα υλοποίησης έχει πολυετή εμπειρία σε προγραμματισμό συστημάτων
unix και σε πολύνηματικό προγραμματισμό (multithreaded). Επιπλέον λόγω
και του αντικειμένου εργασίας έχει βαθιά γνώση σε θέματα ασφάλειας
συστημάτων και υπηρεσιών, καθώς και γνώση των προκλήσεων και των
απαιτήσεων που προκύπτουν σε εταιρικά περιβάλλοντα.

Η ομάδα εργασίας αποτελείται από τους

1. Φίλιππο Γεωργιάδη
--------------------
Διεύθυνση κατοικίας: Λαμίας 39, 165 61 Άνω Γλυφάδα
Τηλέφωνο: 210 9621871
ΑΦΜ & ΔOY: 116293754, Δ.Ο.Υ.: Γλυφάδας

2. Χρήστο Σούλιο
----------------
Διεύθυνση κατοικίας: Ευλαμπίας 35, Ίλιον 131 22
Τηλέφωνο: 210 61 46 068
ΑΦΜ & ΔOY: 103766352 ΔΟΥ: Ιλίου


Αναφορές
--------
.. [1] E-mail spoofing. 5 Φεβρουαρίου 2009, 21:22 UTC. Στην αγγλική
Wikipedia. Διαθέσιμο από: http://en.wikipedia.org/wiki/E-mail_spoofing
.. [2] Literate Programming. 11 Φεβρουαρίου 2009, 20:21 UTC. Στην
αγγλική Wikipedia. Διαθέσιμο
από:http://en.wikipedia.org/wiki/Literate_programming
.. [3] Literate programming using noweb. Linux Journal, 64-69,
Οκτώβριος 1997. Διαθέσιμο από:
http://members.shaw.ca/andrew-johnson/noweb_lj.pdf
.. [4] Lexicographic codes: Error-correcting codes from game theory,
Conway, J.   Sloane, N. Εμφανίζεται στο:Information Theory, IEEE
Transactions on; Τόμος 32,  Τεύχος 3,  Μάϊος 1986 Σελίδες:337 – 348;
Διαθέσιμο από: http://ieeexplore.ieee.org/search/srchabstract.jsp?arnumber=1057187&isnumber=22754&punumber=18&k2dockey=1057187@ieeejrns&query=%28%28lexicographic+code%29%3Cin%3Emetadata+%29&pos=3


-- 
Πριν εκτυπώσετε αυτό το μήνυμα, σκεφθείτε το περιβάλλον! Ένα χαρτί
λιγότερο! - http://karounos.gr/blog/

Attachment: Curriculum Vitae (Georgiadis Filippos).pdf
Description: Adobe PDF document

Attachment: Curriculum Vitae (Soulios Christos).doc
Description: MS-Word document