Menyediakan Perkhidmatan E -mel (SMTP, IMAP dan IMAP) dan menyekat akses ke SMTP - Bahagian 7

Menyediakan Perkhidmatan E -mel (SMTP, IMAP dan IMAP) dan menyekat akses ke SMTP - Bahagian 7

A Lfce (Jurutera Bersertifikat Yayasan Linux ) adalah profesional terlatih yang mempunyai kemahiran untuk memasang, mengurus, dan menyelesaikan masalah rangkaian dalam sistem Linux, dan bertanggungjawab terhadap reka bentuk, pelaksanaan dan penyelenggaraan berterusan sistem seni bina dan pentadbiran pengguna.

Jurutera Bersertifikat Yayasan Linux - Bahagian 7

Memperkenalkan Program Persijilan Yayasan Linux.

Dalam tutorial sebelumnya, kami membincangkan cara memasang komponen perkhidmatan mel yang diperlukan. Sekiranya anda belum memasang Postfix dan Dovecot Namun, sila rujuk bahagian 1 siri ini untuk arahan untuk melakukannya sebelum meneruskan.

Keperluan

  1. Pasang Pelayan Mel Postfix dan Dovecot - Bahagian 1

Dalam siaran ini, saya akan menunjukkan kepada anda cara mengkonfigurasi pelayan mel anda dan bagaimana melaksanakan tugas berikut:

  1. Konfigurasikan alias e -mel
  2. Konfigurasikan perkhidmatan IMAP dan IMAP
  3. Konfigurasikan perkhidmatan SMTP
  4. Hadkan akses ke pelayan SMTP

Catatan: Bahawa persediaan kami hanya akan meliputi pelayan mel untuk rangkaian kawasan tempatan di mana mesin tergolong dalam domain yang sama. Menghantar mesej e -mel ke domain lain memerlukan persediaan yang lebih kompleks, termasuk keupayaan resolusi nama domain, yang keluar dari skop pensijilan LFCE.

Tetapi pertama, mari kita mulakan dengan beberapa definisi.

Komponen proses penghantaran, pengangkutan dan penghantaran mel

Imej berikut menggambarkan proses pengangkutan e -mel bermula dengan pengirim sehingga mesej mencapai peti masuk penerima: 

Proses pengangkutan e -mel

Untuk membuat ini mungkin, beberapa perkara berlaku di belakang tabir. Agar mesej e -mel dihantar dari aplikasi klien (seperti Thunderbird, Outlook, atau perkhidmatan webmail seperti gmail atau yahoo! Mel) ke pelayan melnya dan dari sana ke pelayan destinasi dan akhirnya kepada penerima yang dimaksudkan, perkhidmatan SMTP (protokol pemindahan mel mudah) mesti disediakan di setiap pelayan.

Semasa bercakap mengenai perkhidmatan e -mel, anda akan mendapati istilah berikut yang disebutkan dengan kerap:

Ejen Pengangkutan Mesej - MTA

MTA (ringkasan untuk Mel atau Ejen Pengangkutan Mesej), aka mel relay, adalah perisian yang bertanggungjawab memindahkan mesej e -mel dari pelayan ke klien (dan sebaliknya juga). Dalam siri ini, Postfix bertindak sebagai MTA kami.

Ejen Pengguna Mel - MUA

Mua, atau Ejen pengguna mel, adalah program komputer yang digunakan untuk mengakses dan menguruskan peti masuk e -mel pengguna. Contoh MUA termasuk, tetapi tidak terhad kepada antara muka Thunderbird, Outlook, dan webmail seperti Gmail, Outlook.com, untuk menamakan beberapa. Dalam siri ini, kami akan menggunakan Thunderbird dalam contoh kami.

Ejen penghantaran mel

MDA (ringkasan untuk Mesej atau Ejen penghantaran mel) adalah bahagian perisian yang sebenarnya menyampaikan mesej e -mel ke peti masuk pengguna. Dalam tutorial ini, kami akan menggunakan Dovecot sebagai MDA kami. Dovecot juga akan mengendalikan pengesahan pengguna.

Protokol Pemindahan Mail Mudah - SMTP

Agar komponen ini dapat "bercakap"Antara satu sama lain, mereka mesti"bercakap" sama "bahasa"(Atau protokol), iaitu SMTP (Protokol pemindahan mel mudah) seperti yang ditakrifkan dalam RFC 2821. Kemungkinan besar, anda perlu merujuk kepada RFC semasa menyediakan persekitaran pelayan mel anda.

Protokol lain yang perlu kita ambil kira adalah IMAP4 (Protokol Akses Mesej Internet), yang membolehkan menguruskan mesej e -mel secara langsung di pelayan tanpa memuat turunnya ke cakera keras pelanggan kami, dan POP3 (Protokol Pejabat Pos), yang membolehkan memuat turun mesej dan folder ke komputer pengguna.

Persekitaran ujian kami

Persekitaran ujian kami adalah seperti berikut:

Persediaan pelayan mel
OS Pelayan Mel: Debian Wheezy 7.5 Alamat IP: 192.168.0.15 Domain Tempatan: Contoh.com.AR Pengguna alias: [dilindungi e -mel] alias ke [dilindungi e -mel] dan [dilindungi e -mel] 
Persediaan Mesin Pelanggan
Klien mel OS: Ubuntu 12.04 Alamat IP: 192.168.0.103 

Pada kami pelanggan, Kami telah menyediakan resolusi DNS asas sambil menambahkan baris berikut ke /etc/hos fail.

192.168.0.15 Contoh.com.AR MailServer 

Menambah alias e -mel

Secara lalai, mesej yang dihantar kepada pengguna tertentu hendaklah dihantar kepada pengguna itu sahaja. Walau bagaimanapun, jika anda juga ingin menyampaikannya kepada sekumpulan pengguna, atau kepada pengguna yang lain, anda boleh membuat alias mel atau menggunakan salah satu yang ada di /etc/postfix/alias, Mengikuti sintaks ini:

user1: user1, user2 

Oleh itu, e -mel dihantar ke USER1 akan juga dihantar ke USER2. Perhatikan bahawa jika anda menghilangkan perkataan USER1 selepas kolon, seperti dalam

USER1: USER2 

mesej yang dihantar ke USER1 hanya akan dihantar ke USER2, dan tidak USER1.

Dalam contoh di atas, USER1 dan USER2 sepatutnya ada pada sistem. Anda mungkin mahu merujuk Bahagian 8 dari siri LFCS jika anda perlu menyegarkan memori anda sebelum menambah pengguna baru.

  1. Cara Menambah dan Mengurus Pengguna/Kumpulan di Linux
  2. 15 Perintah untuk menambah pengguna di Linux

Dalam kes khusus kami, kami akan menggunakan alias berikut seperti yang dijelaskan sebelumnya (tambahkan baris berikut /etc/alias).

Sysadmin: Gacanepa, Jdoe 

Dan jalankan arahan berikut untuk membuat atau menyegarkan jadual pencarian alias.

postali/etc/postfix/alias 

Jadi mesej yang dihantar ke [dilindungi e -mel] akan dihantar ke peti masuk pengguna yang disenaraikan di atas.

Mengkonfigurasi Postfix - Perkhidmatan SMTP

Fail konfigurasi utama untuk Postfix adalah /etc/postfix/utama.cf. Anda hanya perlu menyediakan beberapa parameter sebelum dapat menggunakan perkhidmatan mel. Walau bagaimanapun, anda harus mengenali parameter konfigurasi penuh (yang boleh disenaraikan dengan Man 5 Postconf) untuk menyediakan pelayan mel yang selamat dan sepenuhnya.

Catatan: Bahawa tutorial ini hanya sepatutnya membuat anda bermula dalam proses itu dan tidak mewakili panduan komprehensif mengenai perkhidmatan e -mel dengan Linux.

Buka /etc/postfix/utama.cf fail dengan pilihan editor anda dan lakukan perubahan berikut seperti yang dijelaskan.

# vi/etc/postfix/utama.cf 

1. myorigin Menentukan domain yang muncul dalam mesej yang dihantar dari pelayan. Anda mungkin melihat /etc/nama surat fail yang digunakan dengan parameter ini. Jangan ragu untuk mengeditnya jika diperlukan.

myorigin = /etc /mailName 
Konfigurasikan myorigin

Sekiranya nilai di atas digunakan, surat akan dihantar sebagai [dilindungi e -mel], di mana pengguna adalah pengguna yang menghantar mesej.

2. mydestination Senarai Domain Apa yang akan menyampaikan mesej e -mel secara tempatan, bukannya penghantaran ke mesin lain (bertindak sebagai sistem geganti). Tetapan lalai cukup dalam kes kami (pastikan untuk mengedit fail yang sesuai dengan persekitaran anda).

Konfigurasikan mydestination

Dimanakah /etc/postfix/pengangkutan Fail mentakrifkan hubungan antara domain dan pelayan seterusnya yang mana mesej mel. Dalam kes kami, kerana kami akan menyampaikan mesej ke rangkaian kawasan tempatan kami sahaja (dengan itu melangkaui sebarang resolusi DNS luaran), konfigurasi berikut akan mencukupi.

Contoh.com.ar tempatan: .Contoh.com.ar tempatan: 

Seterusnya, kita perlu menukar fail teks biasa ini ke .db format, yang mewujudkan jadual carian yang sebenarnya akan digunakan oleh Postfix untuk mengetahui apa yang perlu dilakukan dengan mel masuk dan keluar.

# postmap/etc/postfix/pengangkutan 

Anda perlu ingat untuk mencipta jadual ini jika anda menambah lebih banyak entri ke fail teks yang sepadan.

3. mynetworks mentakrifkan rangkaian yang diberi kuasa postfix akan menghantar mesej dari. Nilai lalai, Subnet, memberitahu Postfix untuk menghantar mel dari pelanggan SMTP dalam subnetworks IP yang sama dengan mesin tempatan sahaja.

myNetWorks = subnet 
Konfigurasikan MyNetWorks

4. relay_domains Menentukan destinasi yang mana e -mel harus dihantar ke. Kami akan meninggalkan nilai lalai yang tidak disentuh, yang menunjuk kepada mydestination. Ingat bahawa kami menyediakan pelayan mel untuk LAN kami.

relay_domains = $ mydestination 

Perhatikan bahawa anda boleh menggunakan $ mydestination bukannya menyenaraikan kandungan sebenar.

Konfigurasikan domain relay

5. inet_interfaces mentakrifkan rangkaian mana yang harus didengar oleh perkhidmatan mel. Lalai, semua, memberitahu Postfix untuk menggunakan semua antara muka rangkaian.

inet_interfaces = semua 
Konfigurasikan antara muka rangkaian

6. Akhirnya, mailbox_size_limit dan Mesej_size_limit akan digunakan untuk menetapkan saiz peti mel setiap pengguna dan saiz maksimum yang dibenarkan dari mesej individu, masing -masing, dalam bait.

mailbox_size_limit = 51200000 message_size_limit = 5120000 

Mengehadkan akses ke pelayan SMTP

The Postfix SMTP Pelayan boleh menggunakan sekatan tertentu untuk setiap permintaan sambungan pelanggan. Tidak semua pelanggan harus dibenarkan untuk mengenal pasti diri mereka ke pelayan mel menggunakan SMTP Helo perintah, dan tentunya tidak semuanya harus diberikan akses untuk menghantar atau menerima mesej.

Untuk melaksanakan sekatan ini, kami akan menggunakan arahan berikut di utama.cf fail. Walaupun mereka jelas, komen telah ditambah untuk tujuan penjelasan.

# Memerlukan pelanggan SMTP jauh memperkenalkan dirinya dengan perintah Helo atau Ehlo sebelum menghantar arahan mel atau arahan lain yang memerlukan rundingan Ehlo. SMTPD_HELO_REQUIRED = YA # Membenarkan permintaan apabila alamat IP pelanggan sepadan dengan mana -mana alamat rangkaian atau rangkaian yang disenaraikan dalam $ mynetworks # menolak permintaan apabila pelanggan Helo dan Ehlo Command mempunyai sintaks nama host yang buruk SMTPD_HELO_RESTRICTIONS = permit_mynetworks, reject_invalid_helo_hostname # Menolak permintaan apabila postfix tidak mewakili destinasi akhir untuk alamat penghantar SMTPD_SENDER_RESTRICTIONS = membenarkan_mynetworks, menolak_unknown_sender_domain # Menolak permintaan melainkan 1) Postfix bertindak sebagai penyerang mel atau 2) adalah destinasi akhir SMTPD_RECIPIENT_RESTRICTIONS = permit_mynetworks, reject_unauth_destination 

Parameter Konfigurasi Postfix Halaman postconf boleh berguna untuk meneroka pilihan yang ada.

Mengkonfigurasi dovecot

Sebaik sahaja memasang dovecot, ia menyokong kotak keluar untuk POP3 dan Imap protokol, bersama dengan versi selamat mereka, POP3S dan Imap, masing -masing.

Tambahkan baris berikut /etc/dovecot/conf.D/10-mel.Conf fail.

# %u mewakili akaun pengguna yang log masuk ke # peti mel berada dalam format mbox mail_location = mbox: ~/mail: inbox =/var/mail/%u # Direktori yang dimiliki oleh kumpulan mel dan direktori yang ditetapkan ke kumpulan-tulisan (mod = 0770, kumpulan = mel) # Anda mungkin perlu menukar tetapan ini jika Postfix menjalankan pengguna / kumpulan lain pada sistem anda mail_priviled_group = mel 

Sekiranya anda menyemak direktori rumah anda, anda akan melihat terdapat subdirektori mel dengan kandungan berikut.

Konfigurasikan dovecot

Juga, sila ambil perhatian bahawa /var/mel/%u Fail adalah di mana surat pengguna disimpan di kebanyakan sistem.

Tambahkan arahan berikut ke /etc/dovecot/dovecot.Conf (Perhatikan bahawa IMAP dan POP3 menyiratkan IMAP dan POP3s juga).

protokol = IMAP POP3 

Dan pastikan /etc/conf.D/10-SSL.Conf termasuk baris berikut (jika tidak, tambahkannya).

ssl_cert =  

Sekarang mari mulakan semula Dovecot dan sahkan bahawa ia mendengar di pelabuhan yang berkaitan dengan IMAP, IMAP, POP3, dan POP3S.

# netstat -npltu | Grep Dovecot 
Periksa port mendengar

Menyiapkan Pelanggan Mel dan menghantar/melayari surat

Di komputer pelanggan kami, kami akan membuka Thunderbird dan klik pada FailBaruAkaun mel yang ada. Kami akan diminta memasukkan nama akaun dan alamat e -mel yang berkaitan, bersama dengan kata laluannya. Apabila kita mengklik Teruskan, Thunderbird kemudian akan cuba menyambung ke pelayan mel untuk mengesahkan tetapan.

Konfigurasikan klien mel

Ulangi proses di atas untuk akaun seterusnya ([dilindungi e -mel]) dan dua peti masuk berikut harus muncul di panel kiri Thunderbird.

Peti Masuk Mail Pengguna

Di pelayan kami, kami akan menulis mesej e -mel ke Sysadmin, yang alias untuk Jdoe dan Gacanepa.

Hantar Mel dari CommandLine

Log mel (/var/log/mel.log) nampaknya menunjukkan bahawa e -mel yang dihantar ke Sysadmin disampaikan kepada [dilindungi e -mel] dan [dilindungi e -mel], Seperti yang dapat dilihat dalam gambar berikut.

Semak Penghantaran Status Mel

Kami dapat mengesahkan sama ada mel itu sebenarnya dihantar kepada pelanggan kami, di mana akaun IMAP dikonfigurasi di Thunderbird.

Sahkan mesej e -mel

Akhirnya, mari kita cuba menghantar mesej dari [dilindungi e -mel] ke [dilindungi e -mel].

Hantar mesej kepada pengguna

Dalam peperiksaan, anda akan diminta untuk bekerja secara eksklusif dengan utiliti baris arahan. Ini bermakna anda tidak akan dapat memasang aplikasi klien desktop seperti Thunderbird, tetapi dikehendaki menggunakan mel. Kami telah menggunakan Thunderbird dalam bab ini untuk tujuan ilustrasi sahaja.

Kesimpulan

Dalam siaran ini, kami telah menerangkan bagaimana untuk menubuhkan Imap pelayan mel untuk rangkaian kawasan tempatan anda dan bagaimana untuk menyekat akses ke SMTP pelayan. Sekiranya anda menghadapi masalah semasa melaksanakan persediaan yang sama dalam persekitaran ujian anda, anda akan ingin menyemak dokumentasi dalam talian Postfix dan Dovecot (khususnya halaman mengenai fail konfigurasi utama,/etc/postfix/utama.cf dan/etc/dovecot/dovecot.conf, masing -masing), tetapi dalam apa jua keadaan jangan ragu untuk menghubungi saya menggunakan borang komen di bawah. Saya akan lebih senang membantu anda.

Menjadi Jurutera Bersertifikat Linux