Tingkat Keamanan (Security) Server email Postfix
Server email Postfix adalah sebuah server email yang paling muda di antara ketiga server email yang dibahas dalam makalah ini. Postfix dianggap sebagai MTA yang jauh lebih aman daripada SendMail dan lebih cepat daripada QMail. Pengamanan yang ada pada server email Postfix ini adalah :
1. Hak-hak istimewa terbatas
Hampir semua program daemon Postfix bisa dijalankan dengan hak istimewa terbatas yang tetap dalam lingkungan chroot. Hal ini sangat mendukung untuk program-program yang muncul dalam jaringan: server SMTP dan client SMTP. Walaupun tidak ada jaminan kerja sama dengan sistem, fitur ini tetap bisa menambah hambatan bagi pengamanan sistem meskipun sedikit.
2. Penyekatan
Postfix menggunakan proses-proses terpisah untuk menyekat kejadian satu sama lain. Hal ini terlihat dari tidak adanya jalur langsung dari jaringan ke program penyebaran pengamanan lokal (security-sensitive local delivery programs) sehingga pengganggu harus melewati banyak program lain dulu. Di sini ada beberapa bagian Postfix yang bersifat banyak proses (multithreaded). Akan tetapi, semua program yang berhubungan dengan dunia luar tetap bersifat satu proses (single-threaded). Proses-proses terpisah ini memberikan penyekatan yang lebih baik daripada banyaknya proses dalam satu ruang alamat yang dibagi.
3. Lingkungan yang terkontrol
Tidak ada program pengantaran email yang berjalan di bawah kendali proses pengguna. Sebagai gantinya, program-program Postfix berjalan dalam sebuah daemon master yang tetap yang berjalan dalam sebuah lingkungan yang terkendali, tanpa adanya hubungan parent-child dengan proses pengguna. Keuntungannya, pendekatan ini bisa menurunkan penggunaan atribut-atribut proses UNIX/Linux yang lain, sinyal, pembukaan file-file, variabel lingkungan sehingga sistem UNIX melewati kemungkinan penurunan parent yang berbahaya ke child.
4. Set-uid
Semua program Postfix diatur sebagai set-uid. Konsep uid ini muncul karena adanya kesalahan pada UNIX. Awalnya, set-uid dan set-gid diharapkan memberikan pengaruh yang bagus pada UNIX, tetapi yang didapatkan malah sebaliknya. Setiap kali program baru dimasukkan ke UNIX, set-uid selalu menimbulkan masalah pengamanan seperti program shared libraries, sistem file /proc, dan dukungan beragam bahasa. Hal ini dikarenakan set-uid tidak mampu memperkenalkan fitur-fitur tersebut. Awalnya, direktori antrian maildrop bersifat bisa ditulis sehingga proses-proses lokal bisa mengirimkan mail tanpa bantuan dari perintah set-uid atau set-gid atau dari proses mail daemon. Direktori maildrop tidak digunakan untuk mail yang datang dari jaringan, dan file-file antriannya tidak bisa dibaca untuk pengguna yang tidak memiliki hak. Direktori yang bersifat bisa ditulis ini ternyata memberikan peluang gangguan di mana pengguna lokal akan mampu melakukan link dengan filefile maildrop orang lain sehingga file-file itu tidak akan bisa diakses atau disebarkan. Pengguna lokal bisa mengisi direktori maildrop dengan sampah (mail-mail tidak berguna) dan mungkin saja berusaha membuat agar sistem mengalami crash. Di samping itu mereka juga bisa memindahkan file-file orang lain ke dalam direktori maildrop dan menyebarkannya sebagai mail. Namun demikian, file-file antrian Postfix memiliki format tertentu, di mana kurang dari satu di antara 1012 file-file non-Postfix akan dikenali sebagai file antrian Postfix yang sah. Karena kemungkinan timbulnya bahaya akibat direktori maildrop yang bisa ditulis ini, maka Postfix menggunakan program bantuan set-gid postdrop untuk perizinan mail.
5. Kepercayaan
Program-program Postfix tidak akan mudah mempercayai isi file-file antrian atau pesan IPC internal Postfix. File-file antrian ini tidak memiliki catatan pada disk untuk disebarkan ke tujuan-tujuan tertentu seperti ke file atau perintah program. Sebagai gantinya, program-program seperti agen delivery lokal akan berusaha menghasilkan keputusan strategis berdasarkan informasi tangan pertama. Tentu saja, program-program Postfix tidak akan mempercayai data yang berasal dari jaringan. Secara teknis, Postfix melakukan penyaringan data yang dikirim berikut pengirimnya sebelum menyebarkannya melalui variabel internet. Ini adalah pelajaran yang harus diperhatikan oleh seseorang dalam hal pengamanan, yaitu: jangan biarkan data apapun dari jaringan yang berada dekat sebuah shell. Penyaringan ini merupakan hal terbaik yang bisa dilakukan untuk mengatasi hal ini.
6. Input yang besar
Memori untuk string dan buffer dialokasikan secara dinamis untuk mencegah terjadinya permasalahan overrun pada buffer. Baris yang panjang pada input pesan akan dipecah/dipotong menjadi beberapa urutan terhubung dengan ukuran yang lebih kecil. Pecahan ini kemudian disatukan lagi pada saat pengiriman. Diagnosa pemotongan ini dilakukan dalam satu tempat kemudian dikirim ke antarmuka syslog(3) untuk mencegah terjadinya overrun buffer pada sistem operasi yang lebih lama. Namun demikian, tidak ada cara umum yang digunakan untuk memotong data sebelum dilewatkan ke system call atau ke rutin library. Pada beberapa sistem operasi, perangkat lunak mungkin masih mengalami masalah overrun buffer, karena kerentanan perangkat lunak utamanya. Sampai saat ini tidak ada cara khusus argumen baris perintah yang panjang. Kernel UNIX menentukan batasan sendiri yang diharapkan cukup memenuhi program-program yang berjalan atau menghadapi pengguna-pengguna jahat.
7. pengamanan-pengamanan yang lain
Jumlah tipe-tipe objek yang menggunakan memori dibatasi untuk mencegah sistem mail menjadi padat karena beratnya beban. Di samping itu, jika terjadi masalah, maka perangkat lunak akan menghentikan pengiriman untuk beberapa lama sebelum terjadinya error yang fatal atau sebelum menjalankan kembali program (restart) yang gagal. Tujuannya adalah untuk mencegah kondisi-kondisi yang jika terus dijalankan akan mengakibatkan terjadinya hal yang lebih buruk lagi.
0 komentar:
Post a Comment