Ιστολόγιο του Δανιήλ
Mrz/10 27 23

Οδηγός σκονάκι: Ubuntu Server Mail: Postfix Courier SSL SSL SASL CRAM-MD5 TLS Εικονική Ψευδώνυμα procmail Spamassassin ClamAV

Είχα πάντα ήθελε να κάνει και πάλι με τους διακομιστές ηλεκτρονικού ταχυδρομείου. Δυστυχώς, ήμουν συχνά συγχέονται, επειδή - για να επικοινωνούν με πολλά διαφορετικά στοιχεία μεταξύ τους - ανάλογα με τις ρυθμίσεις σας. Για το λόγο αυτό, εδώ είναι σκονάκι μου για ένα διακομιστή αλληλογραφίας σε μια σειρά Διαδίκτυο με ένα FQDN. Δεν έχει δοκιμαστεί σε Debian Lenny.

Όλες οι εξωτερικές συνδέσεις είναι κρυπτογραφημένα ή ασαφή με MD5 hashes Pasword Cram. Εισερχόμενης αλληλογραφίας ελέγχεται για spam και των ιών, και οι χρήστες μπορούν να διαβάσουν την αλληλογραφία τους μέσω IMAP.

und gesichtere Verbindungen grün . Στην παραπάνω εικόνα είναι δαίμονες κίτρινο, γκρι και συνδέσεις βάσης δεδομένων gesichtere πράσινο.

Ποια είναι τα συστατικά;

  • Θέλετε να στείλετε το Postfix δέχεται μήνυμα, οι πελάτες. Αυτό, που προωθεί τη σωστή διακομιστή στο Internet. Επιπλέον, Postfix entfängt mail από το Internet για τους χρήστες με γραμματοκιβώτια στο διακομιστή.
  • Εικονική ψευδώνυμα (μέρος του Postfix) είναι μια βάση δεδομένων με τα μηνύματα που έλαβε κάθε Postfix mail των χρηστών μπορεί να διαθέσει.
  • Saslauthd πιστοποιεί χρήστες θέλουν να στείλουν το e-mail μέσω του Postfix μέσω SMTP. Ελέγχει το όνομα χρήστη και κωδικό πρόσβασης με MD5 hashes Cram.
  • Sasldb είναι η βάση δεδομένων μπορεί να ζητήσει από τις saslauthd ονόματα χρήστη και κωδικούς πρόσβασης.
  • Courier-IMAP είναι ένα πελάτη ηλεκτρονικού ταχυδρομείου για μηνύματα Maildir ενός χρήστη από τα διαθέσιμα του
  • Courier-authdaemon εξουσιοδοτημένο χρήστη να διαβάσετε το μήνυμα της Courier-IMAP. Ελέγχει το όνομα χρήστη και κωδικό πρόσβασης με MD5 hashes Cram.
  • Userdb (μέρος της Courier) είναι η βάση δεδομένων μπορεί να ζητήσει από τις Ταχυμεταφορές-authdaemon ονόματα χρήστη και κωδικούς πρόσβασης.
  • Procmail είναι ένα φίλτρο που τρέχει μέσα από κάθε εισερχόμενη αλληλογραφία ανάγκες. Procmail περνά μέσα από την αλληλογραφία με το φίλτρο ανεπιθύμητης αλληλογραφίας και προστασίας από ιούς και στη συνέχεια τα παραδίδει από τον χρήστη.
  • Clamassassin είναι ένα μικρό εργαλείο που παρέχει μια διεπαφή μεταξύ procmail και το ClamAV. Στη συνέχεια, μέσω του ταχυδρομείου μόνο για ClamAV.
  • SpamAssassin (spamd) Έλεγχος Spam. Μήπως κάθε μήνυμα με ένα σκορ που λέει πόσο πιθανό είναι ότι το μήνυμα έχει ελεγχθεί SPAM.
  • Maildir γραμματοκιβώτιο Εδώ είναι τα μηνύματα των χρηστών του συστήματος. Πρόκειται για ένα κανονικό κατάλογο στο σύστημα αρχείων. IMAP πελάτες μπορούν να την πάρουμε από εκεί.

Προετοιμασία

Το μόνο που χρειάζεται να εγκαταστήσετε τα πακέτα

  apt-get update && apt-get upgrade
 apt-get install postfix postfix-doc postfix libsasl2-2-bin sasl2 libsasl2-ενότητες clamassassin courier-imap-SSL procmail spamassassin clamav 

Konfigfragen Courier

  • Καταλόγων του Παγκόσμιου Ιστού για τη διοίκηση; Όχι

Konfigfragen Postfix

  • Διακομιστή Internet
  • E-mail: Η διαχωρίσιμο από το DNS FQDN του διακομιστή (π.χ. meinedomain.de)

Διαμόρφωση του Postfix συνέχισε

  dpkg-reconfigure postfix 

Περισσότερα Konfigfragen Postfix

  • Διακομιστή Internet
  • Σε ποιον πρέπει να διαβιβάζονται τα μηνύματα από τον root: Εισάγετε Τίποτα δεν έρχεται αργότερα.
  • Υπολογιστής Αυτός ο υπολογιστής θεωρείται ως το σύστημα στόχος: Όλα τα πεδία με το Postfix να λάβετε μηνύματα ηλεκτρονικού ταχυδρομείου και να έχουν μια καταχώρηση DNS για τη διεύθυνση IP του διακομιστή. (Π.χ. meinedomain.de, meinanderedomain.de, meinedrittedomain.de)

Postfix

Αρχείο ρυθμίσεων για το Postfix

  # / Etc / postfix / main.cf

 = $ $ Myhostname ESMTP smtpd_banner mail_name (Debian / GNU)
 Biff = δεν
 append_dot_mydomain = δεν
 readme_directory = / usr / share / doc / postfix                                 

 # Ενεργοποίηση TLS
 smtpd_use_tls = ναι                                                         

 smtpd_tls_session_cache_database = btree: $ {} queue_directory / smtpd_scache
 smtp_tls_session_cache_database = btree: $ {} queue_directory / smtp_scache
 myhostname = meinedomain.de
 alias_maps = hash :/ etc / aliases
 alias_database = hash :/ etc / aliases
 myorigin = / etc / mailname
 mydestination = meinedomain.de, άλλο τομέα μου, τρίτον μου domain, localhost, 127.0.0.1
 relayhost =
 mynetworks = 127.0.0.0 / 8 [:: ffff: 127.0.0.0] / 104 [:: 1] / 128
 mailbox_size_limit = 0
 recipient_delimiter = +
 inet_interfaces = όλα
 html_directory = / usr / share / doc / postfix / html
 inet_protocols = IPv4

 # Auth μέσω SASL
 smtpd_sasl_auth_enable = ναι
 broken_sasl_auth_clients = ναι
 # Μόνο επιτρέπουν στους χρήστες να στείλετε mail, τα οποία βρίσκονται σε SASL DB, επιτρέπουν μόνο MD5 κωδικούς πρόσβασης
 smtp_sasl_security_options = noanonymous, noplaintext

 # Localhost μόνο (mynetworks) και τη δυνατότητα να στείλετε mail SASL συνδεδεμένος χρήστης
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
 smtpd_sasl_local_domain =

 # Μόνο ο έλεγχος ταυτότητας με κρυπτογράφηση TLS
 smtp_tls_auth_only = ναι

 # Ενεργοποίηση TLS
 smtp_use_tls = ναι
 smtpd_use_tls = ναι
 smtp_tls_note_starttls_offer = ναι

 # Αυτο-κλειδί που δημιουργείται και πιστοποιητικό
 smtpd_tls_key_file = / etc / postfix / cert / smtpd.key
 smtpd_tls_cert_file = / etc / postfix / cert / smtpd.crt
 smtpd_tls_CAfile = / etc / postfix / cert / cacert.pem

 Αργότερα στο 0 #, καλό για τον εντοπισμό σφαλμάτων
 smtpd_tls_loglevel = 1
 smtpd_tls_received_header = ναι
 smtpd_tls_session_cache_timeout = 3600s
 tls_random_source = dev :/ dev / urandom

 # Παράδοση mail στο maildirs
 home_mailbox = Maildir /

 # Όνομα των εικονικών ψευδώνυμο χάρτη με τη χαρτογράφηση της διεύθυνσης ηλεκτρονικού ταχυδρομείου σε ένα τοπικό γραμματοκιβώτιο
 virtual_alias_maps = hash :/ etc / postfix / εικονικό

 # Mail δεν συνδέεται άμεσα τοποθετείται σε γραμματοκιβώτια, αλλά πέρασε στην procmail
 mailbox_command = procmail-ένα "$ ΕΠΕΚΤΑΣΗ" 

SASL

SASL είναι ένας μηχανισμός ελέγχου ταυτότητας για διάφορους δαίμονες διαθέσιμα. Αυτή η εγκατάσταση μπορεί να αποθηκεύονται σε μια βάση δεδομένων, οι χρήστες SASL οποίοι μπορούν να στείλουν μήνυμα μέσω του Postfix μας. (Έτσι το όνομα χρήστη και τον κωδικό πρόσβασης που πρέπει να εγγραφεί στο πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου όπως τα διαπιστευτήρια για το διακομιστή SMTP)

Config αρχείο για SASL στη δημιουργία

  # / Etc / postfix / smtpd.conf
 pwcheck_method: authdaemond
 mech_list: CRAM-MD5 

Postfix δυστυχώς δεν μπορεί ακόμα να χρησιμοποιήσουν το saslauthd να ελέγχει τα δεδομένα χρήστη, επειδή το Postfix τρέχει σε περιβάλλον chroot και ακόμα δεν έχει πρόσβαση στο saslauthd.

  # / Etc / default / saslauthd
 START = ναι
 DESC = "Δαίμονας ταυτότητας SASL"
 = ΟΝΟΜΑ "saslauthd"
 ΜΗΧΑΝΙΣΜΟΙ = "PAM"
 MECH_OPTIONS = ""
 ΚΛΩΣΤΕΣ = 5

 # Χρήση-m, τοποθετούμε το saslauthd υποδοχή από έναν κατάλογο που μπορεί να φτάσει το Postfix από το chroot.
 OPTIONS = "-c-m / var / spool / postfix / var / run / saslauthd" 

Μετά από αυτό πρέπει να αλλάξει ακόμη "εκκίνηση παράδειγμα" μπλοκ του / etc / init.d / saslauthd τη θέση για το pid, πάλι, έτσι ώστε το Postfix μπορεί να διαβάσει το PID αρχείο.

  # / Etc / init.d / saslauthd
 .
 .
 PIDFILE = "/ var / spool / postfix / var / run / $ {ΟΝΟΜΑ} / saslauthd.pid"
 .
 . 

TLS

Μπορεί τώρα να στείλετε οποιοδήποτε μη επικυρωμένα κανάλι πάνω από το ταχυδρομείο το Postfix SMTP, αλλά τα μηνύματα εξακολουθούν να είναι σε μορφή απλού κειμένου μέσω LAN και στο Internet. Η κρυπτογράφηση TLS είναι ενεργοποιημένη στον Postfix main.cf παραπάνω αρχείο ρυθμίσεων. Ωστόσο, εξακολουθούν να λείπουν βασικά και πιστοποιητικό.

  mkdir / etc / postfix / cert
 cd / etc / postfix / cert

 OpenSSL genrsa-des3-ραντ / etc / hosts-out. / smtpd.key 1024
 chmod 600. / smtpd.key
 openssl req-new-κλειδί. / smtpd.key-out. / smtpd.csr
 openssl req-X509-99999-ημέρα σε. / smtpd.csr-signkey. / smtpd.key-out. / smtpd.crt
 openssl RSA-in. / smtpd.key-out. / smtpd.key.tmp
 mv-f. / smtpd.key.tmp. / smtpd.key
 chmod 600. / smtpd.key
 openssl req-new-x509-επεκτάσεις v3_ca-keyout. / cakey.pem-out. / ημέρα cacert.pem-99 999 

Δημιουργία SASL DB

Τα μηνύματα είναι πλέον κωδικοποιημένο κατά τη διάρκεια της μετάδοσης τα ονόματα χρήστη και κωδικούς πρόσβασης για την αλληλογραφία που αποστέλλεται μέσω του διακομιστή SMTP είναι ακόμα σε μορφή απλού κειμένου μέσω του Internet. Αυτό μπορεί να κρύβεται, τουλάχιστον με τη μέθοδο MD5 Cram. Αυτό ήταν ήδη στο / etc / postfix / smtpd.conf ενεργοποιηθεί. Στερείται μόνο η βάση δεδομένων SASL ίδια δημιουργεί αυτό το ένα, απλά δίνει στους χρήστες μια νεότερη ταχυδρομείου ένα όνομα χρήστη και έναν κωδικό πρόσβασης.

  # Όνομα χρήστη για τους τοπικούς χρήστες ηλεκτρονικού ταχυδρομείου χρησιμοποιήσετε για να δημιουργήσετε το SASL DB με ένα πρώτο χρήστη
 saslpasswd2 όνομα 

Postfix έχει τελειώσει. Μπορεί να λάβετε και να στείλετε μηνύματα. Συνδέσεις σε άλλους πελάτες αλληλογραφίας και διακομιστές είναι κρυπτογραφημένες.

Ταχυμεταφορές

Couriers αρχεία ρυθμίσεων

  # / Etc / courier / authdaemonrc

 # UserDB να χρησιμοποιήσετε έλεγχο ταυτότητας
 authmodulelist = "authuserdb"

 authmodulelistorig = "authuserdb AuthPAM authpgsql authldap authmysql authcustom authpipe"
 δαίμονες = 5
 authdaemonvar = / var / run / courier / authdaemon

 # Καλό για τον εντοπισμό σφαλμάτων
 DEBUG_LOGIN = 2
 Προεπιλογές = ""
 LOGGEROPTS = "" 
  # / Etc / courier / authmodulelist

 # Courierauthdaemon χρησιμοποιεί MD5, CRAM
 authcram 
 # / Etc / courier / imapd ΔΙΕΥΘΥΝΣΗ = 0 ΛΙΜΑΝΙ = 143 = 40 MAXDAEMONS maxperip = 20 PIDFILE = / var / run / courier / imapd.pid TCPDOPTS = "nodnslookup-noidentlookup" LOGGEROPTS = "-name = imapd" # Εδώ ΑΠΘ = CRAM-MD5 πρόσθεσε IMAP_CAPABILITY = "IMAP4rev1 UIDPLUS ΝΗΜΑ χώρο ονομάτων ΠΑΙΔΙΑ = ORDEREDSUBJECT ΝΗΜΑ = Αναφορές ΠΟΣΟΣΤΩΣΗ ΑΠΘ ΤΑΞΙΝΟΜΗΣΗ = CRAM-MD5 IDLE" IMAP_KEYWORDS = 1 = 1 IMAP_ACL IMAP_CAPABILITY_ORIG = "IMAP4rev1 UIDPLUS ΝΗΜΑ χώρο ονομάτων ΠΑΙΔΙΑ = ORDEREDSUBJECT ΝΗΜΑ = ΑΝΑΦΟΡΕΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΘ ΠΟΣΟΣΤΩΣΗ = CRAM-MD5, CRAM = ΑΠΘ-ΑΠΘ SHA1 = CRAM-SHA256 IDLE "IMAP_PROXY IMAP_PROXY_FOREIGN = 0 = 0 = 60 IMAP_MAILBOX_SANITY_CHECK IMAP_IDLE_TIMEOUT = 1 IMAP_CAPABILITY_TLS =" $ ΑΠΘ = PLAIN IMAP_CAPABILITY "IMAP_CAPABILITY_TLS_ORIG =" $ ΑΠΘ = PLAIN IMAP_CAPABILITY_ORIG "IMAP_DISABLETHREADSORT = 0 IMAP_CHECK_ALL_FOLDERS = 0 = 0 IMAP_OBSOLETE_CLIENT IMAP_UMASK = 022 = 65536 IMAP_ULIMITD IMAP_USELOCKS = 1 IMAP_SHAREDINDEXFILE = / etc / courier / κοινόχρηστο / δείκτης IMAP_ENHANCEDIDLE = 0 = IMAP_TRASHFOLDERNAME Trash IMAP_EMPTYTRASH = απορριμμάτων: 7 IMAP_MOVE_EXPUNGE_TO_TRASH = 0 = sendmail / usr / sbin / sendmail HEADER ΑΠΟ = Χ IMAP πομπό IMAPDSTART = ΝΑΙ = MAILDIRPATH Maildir 
  SSLPort = 993
 SSLADDRESS = externe.ip.des.servers
 SSLPIDFILE = / var / run / courier / imapd-ssl.pid
 SSLLOGGEROPTS = "-name = imapd-ssl"
 ΝΑΙ = IMAPDSSLSTART
 ΝΑΙ = IMAPDSTARTTLS
 IMAP_TLS_REQUIRED = 1
 COURIERTLS = / usr / bin / couriertls
 TLS_KX_LIST = ALL
 TLS_COMPRESSION = ALL
 TLS_CERTS = X509
 TLS_CERTFILE = / etc / courier / imapd.pem
 TLS_TRUSTCERTS = / etc / ssl / certs
 TLS_VERIFYPEER = ΚΑΝΕΝΑ
 TLS_CACHEFILE = / var / lib / courier / couriersslcache
 TLS_CACHESIZE = 524288
 MAILDIRPATH = Maildir

 # Εδώ έρχεται ΑΠΘ = CRAM-MD5 προστέθηκε

 IMAP_CAPABILITY = "IMAP4rev1 ΝΗΜΑ χώρο ονομάτων ΠΑΙΔΙΑ = UIDPLUS ORDEREDSUBJECT ΝΗΜΑ = Αναφορές ΠΟΣΟΣΤΩΣΗ ΤΑΞΙΝΟΜΗΣΗ IDLE = ΑΠΘ CRAM-MD5" 

SpamAssassin

Το SpamAssassin είναι ενεργοποιημένη

  # / Etc / default / spamassassin
 Enabled = 1
 ΕΠΙΛΟΓΕΣ = "- Δημιουργία-prefs - max-παιδιά 5 - βοηθός-σπίτι-dir"
 PIDFILE = "/ var / run / spamd.pid"
 CRON = 0 

Procmail

Μετά το Postfix έχει λάβει μήνυμα από το Διαδίκτυο για ένα τοπικό χρήστη, περνάει στην procmail. Procmail στη συνέχεια περνά το μήνυμα για να το SpamAssassin να τους ελέγξει για spam και clamassassin η οποία τις διαβιβάζει στην clamav ανίχνευσης ιών.

  # Ένα δείγμα. Procmailrc για τους καταλόγους home των χρηστών ηλεκτρονικού ταχυδρομείου

 PATH = $ HOME / bin :/ usr / bin :/ bin :/ usr / local / bin.
 Maildir = $ HOME / Maildir /
 DEFAULT = $ HOME / Maildir / νέο
 LOGFILE = $ HOME / procmail.log

 # SPAM δολοφόνος
 : 0fw: / var / run / spam.lock
 * <256 000
 | Spamc-F-u $ LOGNAME

 # Όλα τα spams με το ίδιο σκορ 10-99 μακριά
 : 0:
 * ^ X-Spam-Status: Όχι, το σκορ = [1-9] [0-9] \.
 / Dev / null

 # Όλα τα spams με σκορ> 3 είναι με τον ίδιο τρόπο
 #: 0:
 # * ^ X-Spam-Status: Όχι, το σκορ = \ [4-9].
 # / Dev / null

 : 0fw
 | / Usr / bin / clamassassin

 # Ξαναγράψτε γραμμή Θέμα, εάν το spam επίπεδο είναι αρκετά υψηλό.
 : 0fw
 * ^ X-Virus-Κατάσταση: Ναι
 | Sed '1, / ^ $ / s ^ @ Θέμα: @ Θέμα: / ΙΟ / @!

 : 0:
 * ^ X-Virus-Κατάσταση: Ναι
 / Dev / null

 # Μετακίνηση μηνύματα spam ΤΟ SPAM Α.Ε.
 : 0:
 * ^ X-Spam-Status: Ναι
 $ Maildir /. Spam / νέο

 # Όλα τα μηνύματα που έχουν κάνει μέχρι εδώ χωρίς τραυματισμούς καταλήγουν αυτόματα στο inbox του χρήστη.  "Έχετε μήνυμα!" 

Φτου! Το σύστημα ηλεκτρονικού ταχυδρομείου είναι έτοιμο! Στερείται μόνο maildirs χρήστες και τη διαμόρφωση των εικονικών ψευδώνυμα για να καθορίσει ποιες διευθύνσεις email φορτίου, στους οποίους τοπικές θυρίδες. Το ακόλουθο script δημιουργεί τους χρήστες του συστήματος UNIX, και το ίδιο το χρήστη και πάλι για το Postfix και Courier sasldb στο Courier-Userdb.

Σενάριο για τη δημιουργία νέου χρήστη

 ! # Προστέθηκε # ένα νέο χρήστη στο σύστημα ηλεκτρονικού ταχυδρομείου / bin / bash σαφές echo "Εγγραφή νέου χρήστη για το σύστημα ηλεκτρονικού ταχυδρομείου" Μπιν ηχώ "Πληκτρολογήστε το όνομα χρήστη:"? Ανάγνωση νέος_χρήστης νέος_χρήστης $ echo >> / root / scripts / ταχυδρομείο / # mail_users.dat Προσθήκη Unix adduser χρήστη - ingroup χρήστες - ήσυχη - κέλυφος / bin / false νέος_χρήστης $ echo echo "Το Linux δημιουργήθηκε ....."  # Echo Προσθήκη Γραμματοκιβώτια maildirmake Courier / home / $ νέος_χρήστης / Maildir maildirmake-στ Spam / home / $ νέος_χρήστης / Maildir maildirmake στ ιό / home / $ νέος_χρήστης / Maildir maildirmake LerneSpam-f / home / $ νέος_χρήστης / Maildir maildirmake στ LerneKeinSpam / home / $ νέος_χρήστης / Maildir maildirmake στ μου / home / $ νέος_χρήστης / Maildir maildirmake Απεσταλμένα f / home / $ νέος_χρήστης / Maildir maildirmake-στ απορριμμάτων / home / $ νέος_χρήστης / Maildir chown-R $ newuser.users / home / $ νέος_χρήστης / Maildir ηχούς echo "καταλόγους αλληλογραφίας IMAP δημιουργήθηκαν ...."  ηχώ # Ρύθμιση SASL κωδικό πρόσβασης για το Postfix SMTP auth ηχώ ηχώ ηχώ "εισάγετε τον κωδικό πρόσβασης για το SMTP-AUTH (αποστολή ηλεκτρονικού ταχυδρομείου στον πελάτη)" saslpasswd2 νέος_χρήστης $ echo echo echo "εισάγετε τον κωδικό πρόσβασης για το Courier (Zuganspasswort για imapserver)" NEWUID = `cat / etc / passwd | grep $ νέος_χρήστης | cut-d:-F3 `userdb σύνολο νέος_χρήστης σπίτι $ = / home / $ = $ νέος_χρήστης uid = 100 gid NEWUID userdbpw-HMAC-md5 | userdb σύνολο νέος_χρήστης $ IMAP-HMAC σπίτι = md5pw / home / $ νέος_χρήστης makeuserdb / etc / init.d / courier-authdaemon επανεκκίνηση / etc / init.d / saslauthd επανεκκίνηση echo "ΟΚ. δημιουργείται από τους χρήστες" ηχώ "Δώστε τον νέο χρήστη, παρακαλούμε στείλτε μας e-mail πρέπει να!"  echo echo echo "/ etc / postfix / εικονική επεξεργασία."  echo "Στη συνέχεια, εκτελέστε μία φορά: postmap / etc / postfix / εικονικά" ηχώ "Στη συνέχεια, εκτελέστε μία φορά: / etc / init.d / postfix reload" 

Σενάριο για να διαγράψετε χρήστες

  echo "διαγραφή αυτού του χρήστη"
 διαβάσετε deluser

 # Από mail_users_dat lernespam πάρει το χρήστη ηλεκτρονικού ταχυδρομείου
 cat / root / scripts / ταχυδρομείο / mail_users.dat | grep-v "^ $ $ deluser"> / root / scripts / ταχυδρομείο / mail_users.dat.tmp
 RM / root / scripts / ταχυδρομείο / mail_users.dat
 mv / root / scripts / ταχυδρομείο / mail_users.dat.tmp / root / scripts / ταχυδρομείο / mail_users.dat

 deluser - αφαίρεση 'οίκον $ deluser
 saslpasswd2-δ $ deluser
 $ Userdb deluser del
 makeuserdb
 / Etc / init.d / courier-authdaemon επανεκκίνηση
 / Etc / init.d / saslauthd επανεκκίνηση

Σενάριο για να μάθει το χέρι το spam

  # / Bin / bash

 για το χρήστη στο $ (cat / root / scripts / ταχυδρομείο mail_users.dat /)?
 κάνω

 Sadir = / home / $ χρήστη. Spamassassin /
 NOSPAM = / home / $ user / Maildir /. LerneKeinSpam / Προσθήκες /

 για l σε $ ($ ls NOSPAM)?
 κάνω
 PRINT = `cat $ NOSPAM / $ l | grep-e" ^ Από: "| grep-o" [[: alnum:] \ \ + \ - \ _.] * @ [[: Alnum:] \ \ -. ] * "| sort-u`
 echo "$ whitelist_from PRINT" >> $ Sadir / user_prefs
 γίνεται

 # Ας μάθουν Α.Ε.
 / Usr / bin / sa-learn-D - spam / home / $ user / Maildir / LerneSpam / Προσθήκες.
 / Usr / bin / sa-learn-D - ζαμπόν / home / $ user / Maildir / LerneKeinSpam / Προσθήκες.

 # Μετακίνηση Stuff
 mv / home / $ user / Maildir /. LerneKeinSpam / Προσθήκες / * / home / $ user / Maildir / Προσθήκες /
 RM / home / $ user / Maildir /. LerneSpam / Προσθήκες / *

 γίνεται
 έξοδος

Εικονική Ψευδώνυμα

Postfix μας δεν γνωρίζουν καν τι e-mail διευθύνσεις που έχουν εκχωρηθεί σε τοπικούς γραμματοκιβώτια. Η εν λόγω ανάθεση είναι στο αρχείο / etc / postfix / δημιούργησε εικονικά. Οι σύνδεσμοι είναι οι διευθύνσεις ηλεκτρονικού ταχυδρομείου των αποστολέων ή τοπικές "ρίζα", όπως το δικαίωμα είναι το όνομα του γραμματοκιβωτίου IMAP ή τον προορισμό e-mail διεύθυνση αποστολής

  # / Etc / postfix / εικονικό
 ρίζα daniel
 daniel@meinedomain.de daniel
 daniel@meineanderedomain.de daniel
 fritz@meinedomain.de Fritz
 alle@meinedomain.de daniel Fritz
 weiterleitung@meinedomain.de daniel@gmail.com 

Μετά το Postfix πρέπει να προετοιμάσει τις νέες εικονικές ψευδώνυμα. Αυτό είναι απαραίτητο για οποιαδήποτε αλλαγή στο αρχείο.

  postmap / etc / postfix / εικονικό 

Τώρα όλα είναι έτοιμα. Θα πρέπει να ξεκινούν όλες οι υπηρεσίες.

  / Etc / init.d / postfix επανεκκίνηση
 / Etc / init.d / courier-IMAP επανεκκίνηση
 / Etc / init.d / courier-IMAP, SSL επανεκκίνηση
 / Etc / init.d / courier-authdaemon επανεκκίνηση
 / Etc / init.d / saslauthd επανεκκίνηση
 / Etc / init.d / spamassassin επανεκκίνηση
 / Etc / init.d / clamav 

Κάτι που σίγουρα δεν λειτουργεί! Για τον εντοπισμό σφαλμάτων είναι / var / log / mail.log αρκετά καλά. Σε πολλές υψηλής αρχεία ρυθμίσεων μπορείτε να ρυθμίσετε το επίπεδο καταγραφής, για να πάρετε περισσότερες πληροφορίες.

Μεταφορές Χάρτες

Για να weiterzurouten mail στο άλλο SMTP, θα πρέπει να έχετε χάρτες μεταφορών. Βρίσκεστε στο αρχείο / etc / postfix δημιουργήθηκε / μεταφοράς:

 # / Etc / postfix / μεταφοράς
 # Σύνδεσμος-τοπικό προορισμό
 # Δικαίωμα SMTP προωθείται η

 daniel-ritter.de SMTP: 12.13.14.15
 daniel-ritter.de SMTP: anderer.host.de

 # Επιπλέον, όλες υποτομείς
 . Ντάνιελ-ritter.de SMTP: anderer.host.de

 # / Etc / postfix / main.cf
 transport_maps = hash :/ etc / postfix / μεταφοράς

 # Ενεργοποίηση αλλαγές στους Χάρτες Μεταφορών

 postmap / etc / postfix / μεταφοράς
 / Etc / init.d / postfix reload

Οι χρήστες μπορούν να αλλάξουν τον κωδικό πρόσβασης σας Courier

 echo "Αλλαγή κωδικού πρόσβασης Courier"
 ηχώ

 ηχώ
 echo "Όνομα Χρήστη"
 διαβάσετε U
 echo "Παλιός κωδικός"
 Μια ανάγνωση
 echo "Νέος κωδικός πρόσβασης"
 διαβάσετε Ν

 εάν [$ (echo $ n | grep-e ^ [0-9])]?
 τότε
 echo "Συγγνώμη. κωδικοί πρόσβασης δεν μπορεί να αρχίσει με έναν αριθμό."
 έξοδος
 fi

 echo-e "$ U \ 0 $ a \ 0 $ n \ 0 '| / opt / courierpasswd - verbose - stderr - stdin - changepw

Απολαύστε αυτό το άρθρο;

Εξετάστε την εγγραφή στο RSS feed μας!

Σχόλια (23) Trackbacks (1)
  1. Γεια Ηλιοφάνεια, μου αρέσει να βοηθήσει εδώ, αλλά δεν έχω χρόνο για τη δημιουργία ιδιωτικών διακομιστές πλήρης. Μπορείτε να με προσλάβετε στο http://www.perfectpixel.de

  2. Γεια σου Daniel

    Χρειάζεστε βοήθεια σας.

  3. Γεια σου Daniel

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

    Σας ευχαριστώ πολύ

  4. Όσον αφορά funzt τώρα, αλλά μετά από πολύ Googelei είχα για να ανακαλύψει ότι δεν μπορεί να το postfix χώνω MD5 authdaemond και αυτόματα παίρνει saslauthd. Πώς το έκανες αυτό θα λειτουργήσει σαν αυτό; :)

  5. ok HABs στο / usr / sbin / ώθησε courierpasswd

    Τώρα το ακόλουθο πρόβλημα:

    authdaemond: καμία αξία imappw ή systempw σε userdbshadow

    : S Ο κωδικός πρόσβασης λείπει ...

  6. Γεια σου,

    όταν είμαι λείπει το αρχείο / opt / courierpasswd

    Τι μπορείτε να κάνετε;

  7. Έτσι ... το HOWTO είναι για!

    Αλλά μια ερώτηση έχω: Έχω Debian server μου (με τη δική του IP) στο βαθμό που, επίσης, σύσταση και τη διαχείριση για να κάνει δεκτή την αλληλογραφία από το εξωτερικό, και αποδίδει στους αντίστοιχους χρήστες. Αλλά παίρνω μέσω του Thunderbird μπορείτε να συνδεθείτε με το διακομιστή SMTP για την αποστολή μηνυμάτων στον server μου για να στείλετε στο διαδίκτυο.

    Μπορεί κάποιος να με βοηθήσει;

    Σας ευχαριστώ.
    Stanley

  8. Γεύμα στο οποίο θα πρέπει να
    έναρξη παράδειγμα την αλλαγή φορές γαμικές χρειάζονται τη βοήθειά σας

    συνδεθείτε ως: ww1com
    ww1com@192.168.0.30 τον κωδικό πρόσβασης:
    Linux 2.6.26-2-486 # 1 Σάβ 14:47:34 UTC debian.ww1net.de 2011 i686 11η Ιουν.

    Τα προγράμματα που περιλαμβάνονται με το Debian GNU / Linux είναι ελεύθερο λογισμικό?
    Οι ακριβείς όροι διανομής για κάθε πρόγραμμα που περιγράφεται στο
    μεμονωμένα αρχεία στο / usr / share / doc / * / πνευματικά δικαιώματα.

    Το Debian GNU / Linux έρχεται με ΑΠΟΛΥΤΩΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ, στο βαθμό που
    επιτρέπεται από την ισχύουσα νομοθεσία.
    Τελευταία σύνδεση: Δευτ 25 Ιούλη 2011 10:57:09 από ww1com.fritz.box
    suww1com @ debian: ~ $ su
    Κωδικός:
    debian :/ home/ww1com # nano / etc / init.d / saslauthd
    debian :/ home/ww1com # nano / etc / init.d / saslauthd
    debian :/ home/ww1com # nano / etc / init.d / saslauthd

    #! / Bin / sh
    do_stopall
    ??
    reload | force-reload)
    do_reloadall
    ??
    επανεκκίνηση)
    do_stopalluthd δέσμη ενεργειών εκκίνησης
    do_startall
    ??
    έναρξη παράδειγμα)
    αν [-f / etc / default / $ 2], τότε
    # Συντάκτης: Fabian Fagerhostart_instance / etc / default / $ 2
    αλλού
    # ΜΗΝ "set-e" log_failure_msg "2 δολάρια το Πρωτοδικείο δεν υπάρχει."
    fi
    # Δρόμο, θα πρέπει ένας?? Include / usr / * αν λειτουργεί μετά το σενάριο mountnfs.sh
    στάση-παράδειγμα)
    αν [-f / etc / default / $ 2], τότε
    Αναζήτηση: stop_instance / etc / default / $ 2

    ^ ^ Γ Ακύρωση Ε ^ Ο Αποθήκευση ενός αρχείου σε ¶ fFN ^ ^ Κ Υ σελίδα Προηγούμενη Ausschneid ^ κέρσορα Γ.
    Έξοδος iX ^ J ^ W ^ Πού είναι η σελίδα ευθυγράμμισης πριν V ^ U Ausschn. r ^ Rechtschr Τ.

    # / Etc / init.d / saslauthd
    .
    .
    PIDFILE = "/ var / spool / postfix / var / run / $ {ΟΝΟΜΑ} / saslauthd.pid"
    .
    .

  9. @ Λιακάδα: Δεν πειράζει. Μπορείτε να πάρετε τα σενάρια όπου θέλετε. Για παράδειγμα, το / root / scripts, αλλά και αλλού.

  10. Γεια AHB, πέρασε μερικές ερωτήσεις

    Πρώτα υπό ποιες όνομα αρχείου μπορώ να διαγραφούν από τους χρήστες καθορίζουν σενάριο.
    Δεύτερος υπό ποιες όνομα του αρχείου δεν πρέπει να πάρω το χέρι spam script.
    Τρίτος υπό ποιες όνομα του αρχείου δεν έχω το σενάριο να δημιουργήσετε ένα νέο χρήστη.

    Ευχαριστώ για τη βοήθεια

  11. @ Λιακάδα: Δεν πειράζει, μπορείτε να πάρετε τα σενάρια όπου θέλετε. Για παράδειγμα, το / root / scripts

  12. Γεια σου Dennis
    μπορείτε να μου πείτε πού δημιουργήθηκαν τα αρχεία, να δημιουργήσετε και να διαγράψετε νέο κατάστημα χρηστών, κλπ. κάνετε;

  13. oute ίσως μόνο εγώ ως noob, αλλά μπορώ να βοηθήσουν να γίνει ένα
    Έχω πάντα στο ΑΠΘ αυτή η καταχώρηση

    saslpasswd2: σφάλμα κατά την διαγραφή από την είσοδο sasldb: DB_NOTFOUND: Δεν ταιριάζουν κλειδί / δεδομένων ζευγάρι βρήκε

  14. έχει γίνει είναι ... απλά ένα όνομα με οποιαδήποτε σώσει (χωρίς επέκταση αρχείου) και στη συνέχεια με στόκο. run / όνομα αρχείου

  15. , Moin

    νομίζω ότι κάνει πραγματικά μεγάλη .. αλλά δεν έχω το είδος του προβλήματος .. n Τρέχω τα πάντα ως τώρα, αλλά τι μπορώ να κάνω με το σενάριο να προσθέσετε ένα νέο χρήστη; .. πώς μπορώ να το εκτελέσω; ή μπορώ να δημιουργήσω πριν από την sasldb; Πολλές ευχαριστίες για την απάντηση

  16. Διευκρινίζεται :-)

  17. Γεια σε όλους,

    Θεωρώ ότι αυτό το σεμινάριο πολύ καλά! I mail_users.dat όμως, όπως ο Dennis ακόμα ένα αναπάντητο ερώτημα σχετικά με το / root / scripts / ταχυδρομείο / Κατά τη δημιουργία ενός χρήστη. Αυτό το αρχείο δεν υπάρχει. Αν είναι ένα κενό αρχείο, το οποίο έβαλα mail_users.dat αγγίξει απλά / root / scripts / mail /?

    Σας ευχαριστώ και τις καλύτερες ευχές

  18. Ένα τόξα ... THX! ;)

  19. Γεια σου,

    ωραία κάνει :-) Απλά έχουν κάποια προβλήματα ...

    Πρώτα Ταχυμεταφορές

    στο πρώτο εδάφιο πρέπει να είναι, διότι αυτό που η MD5 στο / etc / courier / imapd ένθετο. Σύμφωνα με το παράδειγμά σας, ένα σημείο είναι όπου θα πάει αυτό;

    Όταν δημιουργείτε ένα χρήστης βρίσκει το αρχείο: mail_users.dat όχι! Γιατί θα πρέπει να είναι η?

    Και κάτι ακόμα, αν μου στείλετε ένα e-mail zuschicke παίρνω αυτό το μήνυμα:
    ----------
    Αυτό είναι ένα αυτόματα ειδοποίηση κατάστασης παράδοσης.

    Παράδοση στους ακόλουθους παραλήπτες απέτυχε.
    ---------

    στην mail.log είναι:
    ------------

    2 Δεκεμβρίου 12:13:40 HOSTNAME postfix / καθαρισμού [10 984]: RCPT από bay0-omc2-s11.bay0.hotmail.com [65.54.190.86]:: NOQUEUE: απορρίψει 554 5.7.1: Ρελέ στερούνται πρόσβασης? = Από την = proto = ESMTP helo =
    ------------

    Ελπίζω ότι μπορείτε να δώσετε συμβουλές ή βοήθεια;

    Η MFG
    Dennis

  20. Αν πάρετε το ακόλουθο μήνυμα λάθους, πρέπει να προσθέσετε στο / etc / init.d / postfix υπό FILES = "[...]" etc/sasldb2 ακόμα για να ξεκινήσει το αρχείο αντιγράφεται στο περιβάλλον chroot, κάθε του Postfix.

    postfix / καθαρισμού [20 251]: προειδοποίηση: SASL πρόβλημα ταυτότητας: αδυνατεί να ανοίξει Berkeley DB / etc/sasldb2: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος

  21. @ Flo Hey Flo, να το δοκιμάσετε στο / etc / courier / authdaemonrc "DEBUG_LOGIN" επιβάλλουν υψηλά. Στη συνέχεια θα πρέπει να δείτε στο / var / log / auth.log ή / var / log / mail.log σε ό, τι πηγαίνει στραβά.

  22. Σας ευχαριστούμε για το πρώτο φροντιστήριο σας. Αν όλα λειτουργούν εκτός από το ημερολόγιο με τον Thunderbird 3 Το username (ohne@domain.de) που έχω καταχωρήσει. Ευχαριστώ για τις συμβουλές.

  23. Πολύ καλό άρθρο, ήταν μια μεγάλη βοήθεια! Σας ευχαριστώ


Αφήστε ένα σχόλιο

Παρακαλώ αντιγράψτε το string με το παρακάτω πεδίο bGtqLq: