Menyiapkan Layanan Email (SMTP, Imap dan Imaps) dan Membatasi Akses ke SMTP - Bagian 7


LFCE (Linux Foundation Certified Engineer) adalah profesional terlatih yang memiliki keterampilan untuk menginstal, mengelola, dan memecahkan masalah layanan jaringan di sistem Linux, dan bertanggung jawab atas desain, implementasi dan pemeliharaan berkelanjutan dari arsitektur sistem dan administrasi pengguna.

Memperkenalkan Program Sertifikasi Linux Foundation.

Dalam tutorial sebelumnya kita membahas cara menginstal komponen yang diperlukan dari layanan email. Jika Anda belum menginstal Postfix dan Dovecot, silakan lihat Bagian 1 dari seri ini untuk petunjuk melakukannya sebelum melanjutkan.

Persyaratan

  1. Instal Server Email Postfix dan Dovecot – Bagian 1

Dalam postingan ini, saya akan menunjukkan cara mengkonfigurasi server email Anda dan cara melakukan tugas-tugas berikut:

  1. Konfigurasikan alias email
  2. Konfigurasikan layanan IMAP dan IMAPS
  3. Konfigurasikan layanan smtp
  4. Batasi akses ke server smtp

Catatan: Penyiapan kami hanya akan mencakup server email untuk jaringan area lokal yang mesinnya berada dalam domain yang sama. Mengirim pesan email ke domain lain memerlukan pengaturan yang lebih kompleks, termasuk kemampuan resolusi nama domain, yang berada di luar cakupan sertifikasi LFCE.

Namun pertama-tama, mari kita mulai dengan beberapa definisi.

Komponen Proses Pengiriman, Transportasi dan Pengiriman Surat

Gambar berikut menggambarkan proses pengangkutan email mulai dari pengirim hingga pesan sampai ke kotak masuk penerima:

Untuk mewujudkan hal ini, ada beberapa hal yang terjadi di balik layar. Agar pesan email terkirim dari aplikasi klien (seperti Thunderbird, Outlook, atau layanan email web seperti Gmail atau Yahoo! Mail) ke server emailnya dan dari sana ke server tujuan dan akhirnya ke penerima yang dituju , layanan SMTP (Simple Mail Transfer Protocol) harus ada di setiap server.

Ketika berbicara tentang layanan email, Anda akan menemukan istilah-istilah berikut yang sering disebutkan:

Agen Pengangkut Pesan – MTA

MTA (kependekan dari Mail atau Message Transport Agent) alias mail relay adalah sebuah software yang bertugas mentransfer pesan email dari server kepada klien (dan sebaliknya juga). Dalam seri ini, Postfix bertindak sebagai MTA kami.

Agen Pengguna Email – MUA

MUA, atau Agen Pengguna Email, adalah program komputer yang digunakan untuk mengakses dan mengelola kotak masuk email pengguna. Contoh MUA mencakup, namun tidak terbatas pada, Thunderbird, Outlook, dan antarmuka email web seperti Gmail, Outlook.com, dan masih banyak lagi. Dalam seri ini, kita akan menggunakan Thunderbird dalam contoh kita.

Agen Pengiriman Surat

MDA (kependekan dari Pesan atau Agen Pengiriman Surat) adalah bagian perangkat lunak yang benar-benar mengirimkan pesan email ke kotak masuk pengguna. Dalam tutorial ini, kita akan menggunakan Dovecot sebagai MDA kita. Dovecot juga akan menangani otentikasi pengguna.

Protokol Transfer Surat Sederhana – SMTP

Agar komponen-komponen ini dapat “berbicara ” satu sama lain, mereka harus “berbicara ” “bahasa ” (atau protokol) yang sama. ), yaitu SMTP (Simple Mail Transfer Protocol) sebagaimana didefinisikan dalam RFC 2821. Kemungkinan besar, Anda harus mengacu pada RFC tersebut saat menyiapkan lingkungan server email Anda.

Protokol lain yang perlu kita pertimbangkan adalah IMAP4 (Internet Message Access Protocol), yang memungkinkan untuk mengelola pesan email langsung di server tanpa mengunduhnya ke hard drive klien kami , dan POP3 (Post Office Protocol), yang memungkinkan pengunduhan pesan dan folder ke komputer pengguna.

Lingkungan Pengujian Kami

Lingkungan pengujian kami adalah sebagai berikut:

Pengaturan Server Email
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
Pengaturan Mesin Klien
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

Pada klien kami, kami telah menyiapkan resolusi DNS dasar dengan menambahkan baris berikut ke file /etc/hosts.

192.168.0.15 example.com.ar mailserver

Menambahkan Alias Email

Secara default, pesan yang dikirim ke pengguna tertentu harus dikirimkan ke pengguna tersebut saja. Namun, jika Anda juga ingin mengirimkannya ke sekelompok pengguna, atau ke pengguna lain, Anda dapat membuat alias email atau menggunakan salah satu alias yang sudah ada di /etc/postfix/aliases , mengikuti sintaksis ini:

user1: user1, user2

Dengan demikian, email yang dikirim ke pengguna1 juga akan dikirimkan ke pengguna2. Perhatikan bahwa jika Anda menghilangkan kata user1 setelah titik dua, seperti pada

user1: user2

pesan yang dikirim ke pengguna1 hanya akan dikirim ke pengguna2, dan bukan ke pengguna1.

Pada contoh di atas, pengguna1 dan pengguna2 seharusnya sudah ada di sistem. Anda mungkin ingin merujuk ke Bagian 8 dari seri LFCS jika Anda perlu menyegarkan ingatan Anda sebelum menambahkan pengguna baru.

  1. Cara Menambah dan Mengelola Pengguna/Grup di Linux
  2. 15 Perintah untuk Menambahkan Pengguna di Linux

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

sysadmin: gacanepa, jdoe

Dan jalankan perintah berikut untuk membuat atau menyegarkan tabel pencarian alias.

postalias /etc/postfix/aliases

Sehingga pesan yang dikirim ke [email dilindungi] akan terkirim ke kotak masuk pengguna yang tercantum di atas.

Mengonfigurasi Postfix – Layanan SMTP

File konfigurasi utama untuk Postfix adalah /etc/postfix/main.cf. Anda hanya perlu mengatur beberapa parameter sebelum dapat menggunakan layanan email. Namun, Anda harus memahami parameter konfigurasi lengkap (yang dapat dicantumkan di man 5 postconf) untuk menyiapkan server email yang aman dan dapat disesuaikan sepenuhnya.

Catatan: Tutorial ini hanya dimaksudkan untuk membantu Anda memulai proses tersebut dan tidak mewakili panduan komprehensif tentang layanan email dengan Linux.

Buka file /etc/postfix/main.cf dengan editor pilihan Anda dan lakukan perubahan berikut seperti yang dijelaskan.

vi /etc/postfix/main.cf

1. myorigin menentukan domain yang muncul dalam pesan yang dikirim dari server. Anda mungkin melihat file /etc/mailname digunakan dengan parameter ini. Jangan ragu untuk mengeditnya jika diperlukan.

myorigin = /etc/mailname

Jika nilai di atas digunakan, email akan dikirim sebagai [email dilindungi], dengan user adalah pengguna yang mengirim pesan.

2. mydestination mencantumkan domain apa yang akan dikirimkan mesin ini pesan email secara lokal, alih-alih meneruskannya ke komputer lain (bertindak sebagai sistem relai). Pengaturan default sudah cukup dalam kasus kami (pastikan untuk mengedit file agar sesuai dengan lingkungan Anda).

Dimana file /etc/postfix/transport mendefinisikan hubungan antara domain dan server berikutnya ke mana pesan email harus diteruskan. Dalam kasus kami, karena kami hanya akan mengirimkan pesan ke jaringan area lokal (sehingga melewati resolusi DNS eksternal), konfigurasi berikut sudah cukup.

example.com.ar    local:
.example.com.ar    local:

Selanjutnya, kita perlu mengkonversi file teks biasa ini ke format .db, yang akan membuat tabel pencarian yang sebenarnya akan digunakan Postfix untuk mengetahui apa yang harus dilakukan dengan email masuk dan keluar.

postmap /etc/postfix/transport

Anda harus ingat untuk membuat ulang tabel ini jika Anda menambahkan lebih banyak entri ke file teks yang sesuai.

3. mynetworks mendefinisikan jaringan resmi tempat Postfix meneruskan pesan. Nilai defaultnya, subnet, memberitahu Postfix untuk meneruskan email dari klien SMTP dalam subjaringan IP yang sama dengan mesin lokal saja.

mynetworks = subnet

4. relay_domains menentukan tujuan pengiriman email. Kami akan membiarkan nilai default tidak tersentuh, yang menunjuk ke tujuan saya. Ingatlah bahwa kita sedang menyiapkan server email untuk LAN kita.

relay_domains = $mydestination

Perhatikan bahwa Anda dapat menggunakan $mydestination daripada mencantumkan konten sebenarnya.

5. inet_interfaces menentukan antarmuka jaringan mana yang harus didengarkan oleh layanan email. Defaultnya, all, memberitahu Postfix untuk menggunakan semua antarmuka jaringan.

inet_interfaces = all

6. Terakhir, mailbox_size_limit dan message_size_limit akan digunakan untuk mengatur ukuran masing-masing kotak surat pengguna dan ukuran maksimum pesan individual yang diperbolehkan, dalam byte.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Membatasi Akses ke Server SMTP

Server SMTP Postfix dapat menerapkan batasan tertentu pada setiap permintaan koneksi klien. Tidak semua klien diperbolehkan untuk mengidentifikasi dirinya ke server email menggunakan perintah smtp HELO, dan tentunya tidak semua klien harus diberikan akses untuk mengirim atau menerima pesan.

Untuk menerapkan pembatasan ini, kami akan menggunakan arahan berikut di file main.cf. Meskipun sudah cukup jelas, komentar telah ditambahkan untuk tujuan klarifikasi.

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Halaman postconf parameter konfigurasi Postfix mungkin berguna untuk mengeksplorasi lebih jauh opsi yang tersedia.

Mengonfigurasi Dovecot

Segera setelah menginstal dovecot, ia langsung mendukung protokol POP3 dan IMAP, bersama dengan versi amannya, POP3S dan IMAPS, masing-masing.

Tambahkan baris berikut di file /etc/dovecot/conf.d/10-mail.conf.

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

Jika Anda memeriksa direktori home Anda, Anda akan melihat ada subdirektori mail dengan konten berikut.

Perlu diketahui juga bahwa file /var/mail/%u adalah tempat penyimpanan email pengguna di sebagian besar sistem.

Tambahkan direktif berikut ke /etc/dovecot/dovecot.conf (perhatikan bahwa imap dan pop3 juga menyiratkan imaps dan pop3s).

protocols = imap pop3

Dan pastikan /etc/conf.d/10-ssl.conf menyertakan baris berikut (jika tidak, tambahkan baris tersebut).

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Sekarang mari kita mulai ulang Dovecot dan verifikasi bahwa ia mendengarkan port yang terkait dengan imap, imaps, pop3, dan pop3s.

netstat -npltu | grep dovecot

Menyiapkan Klien Email dan Mengirim/Menerima Email

Di komputer klien, kita akan membuka Thunderbird dan mengklik FileBaruAkun email yang ada. Kita akan diminta memasukkan nama akun dan alamat email terkait, beserta kata sandinya. Ketika kita mengklik Lanjutkan, Thunderbird kemudian akan mencoba menyambung ke server email untuk memverifikasi pengaturan.

Ulangi proses di atas untuk akun berikutnya ([email dilindungi]) dan dua kotak masuk berikut akan muncul di panel kiri Thunderbird.

Di server kami, kami akan menulis pesan email ke sysadmin, yang alias jdoe dan gacanepa.

Log email (/var/log/mail.log) sepertinya menunjukkan bahwa email yang dikirim ke sysadmin diteruskan ke [dilindungi email] dan [email dilindungi], seperti terlihat pada gambar berikut.

Kami dapat memverifikasi apakah email benar-benar terkirim ke klien kami, tempat akun IMAP dikonfigurasi di Thunderbird.

Terakhir, mari kita coba mengirim pesan dari [email  ke [email .

Dalam ujian Anda akan diminta untuk bekerja secara eksklusif dengan utilitas baris perintah. Ini berarti Anda tidak akan dapat menginstal aplikasi klien desktop seperti Thunderbird, namun Anda harus menggunakan email. Kami menggunakan Thunderbird dalam bab ini hanya untuk tujuan ilustrasi.

Kesimpulan

Dalam postingan ini kami telah menjelaskan cara menyiapkan server email IMAP untuk jaringan area lokal Anda dan cara membatasi akses ke server SMTP. Jika Anda mengalami masalah saat menerapkan pengaturan serupa di lingkungan pengujian Anda, Anda dapat memeriksa dokumentasi online Postfix dan Dovecot (khususnya halaman tentang file konfigurasi utama, /etc/postfix/main.cf dan/dll/dovecot/dovecot.conf, masing-masing), tetapi jangan ragu untuk menghubungi saya menggunakan formulir komentar di bawah. Saya akan dengan senang hati membantu Anda.