Bagikan ke: Twitter | Facebook | LinkedIn
Daftar isi
- Pendahuluan
- Email Protokol
- Email relay dengan SMTPD
- Mail retrieval agents
- Membuat kunci GPG
- Daftar Pustaka
Pendahuluan
Dalam Blog kali ini kita akan melakukan sebuah konfigurasi Email di OpenBSD, di Blog ini kita tidak akan membuat Mail server tetapi kita akan memanfaatkan Email server yang sudah ada dan menjadikan OpenBSD sebagai Email relay melalui protokol SMTP dan menerima Email melalui protokol POP3.
filosofi UNIX adalah sebuah filosofi yang digunakan untuk menulis suatu program untuk sistem operasi UNIX, filosofi UNIX adalah :
- Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.
- Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
- Design and build software, even operating systems, to be tried early, ideally within weeks. Don’t hesitate to throw away the clumsy parts and rebuild them.
- Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you’ve finished using them.
Email Protokol
sebuah Email memiliki 1 protokol untuk mengirim yaitu SMTP dan 2 protokol untuk menerima Email yaitu POP3 dan IMAP.
SMTP
SMTP merupakan singkatan dari Simple Mail Transfer Protocol protokol inilah yang digunakan untuk mengirim Email, saat kita menginstall OpenBSD otomatis kita sudah terinstall tool yang akan kita gunakan untuk mengirim Email.
SMTP menggunakan protokol TCP, SMTP juga menjamin Email yang kita kirim akan terkirim dan tentunya jika Email address benar dan jika kita gagal mengirim Email biasanya kita akan diberitahu oleh server bahwa Email yang kita kirim gagal terkirim
POP3 dan IMAP
POP3, protokol yang digunakan untuk mengambil Email dari Email server, POP3 singkatan dari Post Office Protocol 3, Protokol ini merupakan protokol yang sangat sederhana, cara kerjanya adalah protokol ini hanya mendownload Email dengan folder inbox dari Mail server, secara bawaan setelah selesai mendownload Email yang berada pada Mail server akan dihapus.
IMAP merupakan singkatan dari Internet Message Access Protocol, hampir sama dengan POP3 tetapi setelah mendownload Email, Email yang berada di server tidak terhapus, Email yang terdownload dinamakan cache, protokol IMAP juga melakukan singkronisasi, jika salah satu client menghapus Email maka otomatis semua client yang terhubung menggunakan protokol ini akan terhapus, tidak seperti POP3 kita mendapat folder selain inbox karna singkronisasi.
Email relay dengan SMTPD
OpenBSD terdapat SMTPD, nama softwarenya adalah OpenSMTPD, SMTPD digunakan untuk mengirim Email dari user yang memiliki mail server tetapi kita bisa menggunakanya untuk membuat Email relay, untuk membuat kita harus mengetahui Email server kita :
Alamat | |
---|---|
smtp.gmail.com | |
Yahoo | smtp.mail.yahoo.com |
MSN | smtp.mail.outlook.com |
Hotmail | smtp.office365.com |
disini saya menggunakan service anonim, dan tidak menggunakan server diatas, jika anda tidak menggunakan server Google, Yahoo, Microsoft kalian bisa cek atau bertanya pada si pembuat service
lalu setelah mengetahui alamat smtp server Email, kita harus membuat atau mengedit
sebuah konfigurasi yang berada di /etc/mail/smtpd.conf
untuk OpenBSD, jika melihat
dokumentasi smtpd, untuk menggunakan relay confignya seperti ini
action "relay" relay host smtps://anon@smtp.system.id auth <secrets> mail-from "anon10@system.id"
sebelum saya jelaskan baris diatas saya akan membuat sebuah file yang nanti akan
berisi password dan username kita, buatlah sebuah file di /etc/mail/secrets
, lau
kita akan memberikan sebuah permission/ijin khusus untuk file itu.
isi dari /etc/mail/secrets
adalah
anon anon10@system.id:admin123
lalu kita membuat agar file ini tidak dapat di buka oleh user siapapun selain root
chown root:_smtpd /etc/mail/secrets
chmod 640 /etc/mail/secrets
lalu menambahkannya ke awal file /etc/mail/smtpd.conf
dalam /etc/mail/smtpd.conf
saya menambahkan sebuah line action
untuk menamai
bahwa tindakan ini bernama relay
setelah itu kita memberikan sebuah host
disini saya menggunakan smtps karna email server saya mensupport smtps, setelah itu
bisa dilihat disini terdapat tulisan anon@smtp.system.id auth <secrets>
yang
artinya adalah kita menggunakan secret anon dengan server smtp.system.id
, anon
disini berasal dari file /etc/mail/secrets
.
setelah itu kita membuat sebuah match yang menunjukan kemana dan dari siapa kita akan menggunakan action, untuk konfigurasi disini adalah seperti berikut
match from local for any action "relay"
arti baris diatas adalah dari local untuk semua alamat dengan action bernama relay
match disini kita taruh dibawah action relay
seperti inilah hasil konfigurasi yang kita lakukan untuk file /etc/mail/smtpd.conf
# $OpenBSD: smtpd.conf,v 1.14 2019/11/26 20:14:38 gilles Exp $
# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on socket
listen on lo
action "local_mail" mbox alias <aliases>
action "relay" relay host smtps://anon@smtp.system.id auth <secrets> mail-from "anon10@system.id"
match from local for local action "local_mail" match from local for any action "relay"
untuk mengecek apakah konfigurasi kita sudah benar kita bisa menjalankan
smtpd -n
setelah sudah benar semua kita harus menjalankan service smtpd, untuk OpenBSD kita menggunakan rcctl
doas rcctl -f start smtpd
kita bisa langsung mengirim email dengan utilitas bawaan OpenBSD yaitu mail
echo Hello from OpenBSD | mail -s "Hello" -r anon10@system.id
di atas saya menggunakan opsi -s
yang artinya saya menaruh “Hello” sebagai
subject dan opsi -r
sebagai dari mana Email di kirimkan, jika tidak
menggunakan opsi -r
email yang terkirim akan menggunakan nama user dan
hostname os kita, dari opsi -r
ini juga kita bisa menseting email sender,
contohnya jika kita menggunakan test@bsd
pada opsi -r
maka di penerima
akan muncul test@bsd
sebagai pengirim.
untuk mengetahui jika kita berhasil mengirim email kita bisa melihat file log,
di OpenBSD file log berada di /var/log/maillog
, gunakan tail untuk melihat log
tail -f -n 0 /var/log/maillog
opsi -f
disini adalah agar perintah tail
bisa terus memberitahu jika file berubah
dan opsi -n
adalah nomor berapa, disini saya menggunakan nomor 0 untuk mengambil akhir
file.
Mail retrieval agents
mail retrieval agents adalah sebuah software yang digunakan untuk mengambmil email yang berada di email server, untuk menggambil email dari server seperti dijelasakan diatas kita bisa menggunakan 2 protokol yaitu POP3 dan IMAP.
disini saya akan menggunakan software getmail
dan menggunakan protokol POP3, di
OpenBSD getmail
berada di repo, kita hanya perlu menginstall menggunakan pkg_add
,
untuk mengkonfigurasi getmail
kita membuat sebuah file dan folder baru yaitu
getmail
mkdir -m 0700 ~/.getmail
touch ~/.getmail/getmailrc
bukalah file ~/.getmail/getmailrc
lalu kita menambahkan konfigurasi seperti ini
[retriever]
type = SimplePOP3SSLRetriever
server = mail.system.id
username = anon10@system.id
port = 995
password_command = ("pass", "Email/anon10@system.id")
[destination]
type = Mboxrd
path = /var/mail/aerphanas
[options]
read_all = False delete = true
config diatas saya menggunakan sebuah software bernama pass
yang saya gunakan
untuk menyimpan password email, saya juga menambah opsi delete
untuk menghapus
email yang berada di server setelah terdownload dan opsi read_all
untuk mendownload
hanya email yang belum terdownload, saya juga menentukan destinasi email yang
masuk, disini saya menggunakan mbox yang berada di /var/mail/aerphanas
, aerphanas
adalah user saya saat ini.
untuk destinasi, getmail mensupport mbox dan mailbox, perbedaanya adalah mbox akan menyimpan semua email dalam satu file sedangkan mailbox akan menyimpan Email ke dalam folder dan file.
Membuat kunci GPG
untuk keamanan saya menggunakan software pass
, cara saya mengkonfigurasinya
yang pertama kali saya lakukan adalah membuat kunci, software pass
menggunakan
software GnuPG
untuk enkripsi database, sebelum membuat kunci GnuPG
kita harus
menginstall software gpg
, setelah itu kita membuat kunci dengan perintah
gpg --full-generate-key --expert
setelah selesai membuat kita harus melihat ID kunci untuk digunakan di pass
gpg --list-secret-keys --keyid-format=long
output diatas kira-kira seperti ini
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <hubot@example.com>
ssb 4096R/4BB6D45482678BE3 2016-03-10
dari hasil diatas gpg ID adalah 3AA5C34371567BD2
, setelah itu membuat
password store
pass init "3AA5C34371567BD2"
kita dapat memasukan passwod kita
pass insert Email/anon10@system.id
jika semua konfigurasi sudah benar, untuk mendapatkan email kita hanya
perlu memanggil getmail
, maka email kita akan otomatis masuk ke mbox
Daftar Pustaka
OpenBSD
→ OpenBSD manual page servergetmail
→ getmail documentationGnuPG
→ The GNU Privacy Guard