190 likes | 362 Views
Network Security Mail Server. M.Ibnu Zahid M.Afrizal F. Rezky Wicaksono. Mail Server. Mail Server adalah aplikasi memberikan layanan kepada pengguna internet berupa layanan email Proses User mengirim message Pertama kali message dikirim dari host user menuju ke mail server
E N D
Network SecurityMail Server M.Ibnu Zahid M.Afrizal F. Rezky Wicaksono
Mail Server • Mail Server adalah aplikasi memberikan layanan kepada pengguna internet berupa layanan email • Proses • User mengirim message • Pertama kali message dikirim dari host user menuju ke mail server • Mail server mengirim message ke mail server yang lain di internet dimana penerima berada • Mail server penerima kemudian mengirimkan pesan ke sistem host penerima
E-mail Risks • Serangan terhadap e-mail berfokus pada : • Pengiriman dan eksekusi malicious code (malcode) • Basic e-mail hanya berupa teks ASCII yang tidak dapat langsung dieksekusi • Serangan malcode (virus etc.) dapat dilakukan dengan menggunakan attachment pada e-mail • Collaboration tool (seperti Microsoft Outlook) dapat langsung menjalankan malcode yang di-attach pada suatu e-mail • Kebocoran informasi yang sensitif • E-mail dikirimkan sebagai clear text
Spam • Spam adalah e-mail yang tidak diinginkan untuk diterima • A serious problem nowadays • Dapat memunculkan serangan DoS (Denial-of-Service Attack) • Spammer (pengirim spam) dapat mencari nafkah dengan cara mengirim ribuan atau jutaan e-mail • Yang merespons secara positif jumlahnya memang hanya sedikit tapi sudah cukup untuk menangguk keuntungan • Bila dapat diketahui sumber pengirim spam maka spammer dapat dituntut (hukum di Indonesia belum ada yang mengatur ini?) • Jika spammer memiliki e-mail server sendiri, dia dapat merubah alamat yang ada di dalam field From • Dengan mengatur konfigurasi mail server (sendmail, postfix dsb.) • Digunakan alamat palsu atau alamat orang lain • Bisa pula menggunakan script PHP
Spam DoS • Dilancarkan melalui pengiriman ribuan e-mail menggunakan e-mail address pengirim milik orang lain (korban) • Korban akan dibanjiri e-mail berisi komplain, bouncing, dan sedikit respons • E-mail address milik korban jadi tidak dapat digunakan • Bila e-mail address milik korban masuk ke dalam address yang di-blacklist (akibat dianggap sebagai spammer) maka korban akan kesulitan untuk mengirim e-mail yang legitimate
Sendmail Mail Server • Sudah menjadi fakta bahwa selama bertahun-tahun Sendmail merupakan Mail Transfer Agent (MTA, baca mail server) di lingkungan Unix. Sendmail sendiri mempunyai sejarah panjang dalam masalah keamanan, dan terkenal dengan banyaknya pilihan untuk mengkonfigurasikannya.
Problem • MIME Buffer Overflow Bug. Beberapa badan riset independen menemukan bahwa beberapa klien e-mail thd Sendmail Versi 8.9.1 berpotensi untuk diserang MIME header-based attack. Hal ini dapat terjadi jika sebuah mail membawa header MIME yang tidak diformat dengan benar akan menyebabkan buffer overflow.
Persyaratan Secure E-mail • Nondisclosure of the contents of the e-mail message (confidentiality) • Menggunakan enkripsi • Message integrity • Menggunakan hashing atau message digest algorithm • Verification of sender • Menggunakan digital signature • Verification of recipient • Menggunakan public key encryption
Problem • HELO Buffer overflow. Pada versi 8.9, jika seseorang memberikan perintah HELO dan diikuti string/karakter lebih dari 1 Kb, atau kurang lebih 855 karakter, akan menyembunyikan identitas pengirim.
Security Attacker • Jikadiamatibanyaksekalicara yang dilakukanoleh cracker untukmasukkesebuahkomputer. Cara yang tercepatdan paling mudahserta yang dulu paling seringdilakukanadalahdenganmenggunakan exploit yang sudahtersediadi internet. Instant sekali. Kita cukupcari target, scanning, compile exploit, execute exploit danhapalkandasar-dasarperintah OS yang digunakan.1. Lokal ExploitYang dimaksuddenganlokal exploit adalah exploit yang hanyadapatdiexecutepadakomputeritusendiri. Artinya exploit initidakdapatdiexecutedarikomputerpribadiuntukmemasukikomputer lain. Biasanyalokal exploit diexecutedanakanbisamenguasaisistemdenganmemanfaatkankelemahan yang adapadasistemoperasiataupunpadaaplikasi yang dijalankanoleh server. 2. Remote ExploitRemote exploit adalah exploit yang dapatdiexecutedarijarakjauh. Artinyadenganmenggunakan exploit ini, makaandadapatmasukkekomputer lain melaluikomputerpribadidenganmemanfaatkankelemahanaplikasi yang berjalandikomputer lain tersebut. Bagisebagianoranglebihmenyenangkanuntukmenggunakan remote exploit daripadalokal exploit karenabiasanya remote exploit jugabisamenjadilokal exploit dantidakberlakusebaliknya.
Tingkat Keamanan Server • KeamananpadaSistemOperasi (Versi Kernel yang digunakan) -Tingkat Keamanan Level 1-Jantungdarisistemoperasilinuxadalah kernel. Kesalahanpemrograman yang terjadipada kernel akanberakibat fatal dengantidakberjalannyasistemsecaramaksimal. Untukhalinicobacaritahu kernel yang digunakanversiberapadanapakahmemiliki bug/hole?. Jikamemangterbuktimemiliki bug/hole, makasebaiknyasecepatnyadi upgrade denganversi yang lebihtinggi. Biasanyapada level inilokal exploit yang paling seringberperanuntukmendapatkanakseskesebuahsistem, walaupuntidakmenutupkemungkinanbagi remote exploit untukmendapatkannya.
Tingkat Keamanan Server • KeamananpadaAplikasi Web Server (Versi Apache yang digunakan) -Tingkat Keamanan Level 2-Apache adalahsalahsatuaplikasi web server yang banyakdigunakandidunia. Pada level ini yang harusandaperhatikanadalahversi apache yang digunakan. Jikamemangterbuktiversiinimemiliki bug/hole, segeralah upgrade apache yang andamiliki. Sesuaikanlagikonfigurasi apache dengankeinginananda. Matikan module-module apache yang memangtidakdigunakan. Ganti username dan group aplikasiinike user yang tidakmemilikiakses shell seperti nobody. Janganpasrahkankonfigurasi apache dengankonfigurasi default dariprosesinstalasi. Pada level ini exploit yang paling seringdipergunakanadalah remote exploit, karenapada level iniaplikasi apache terbukapada port 80, sehinggaadakemungkinanuntukdibobol/disusupidarijarakjauh.
Tingkat Keamanan Server • KeamananpadaAplikasiMySQL (versiMySQL yang digunakan) -Tingkat Keamanan Level 2- • Jika database terkoneksidengan internet/web, buatlah user MySQLdenganpriveleges yang berbedadenganpriveleges administrator (don’t ask me how to do this, please ask to uncle google . Database MySQLmembuka port 3306. Sehinggaadakemungkinanuntukdiexploitasidenganmenggunakan remote exploit ataupunlokal exploit. • Secaraumumpada level 2 yang harusdiperhatikanbahwasemua exploit yang beredardi internet sangatbanyaksekali yang memanfaatkan bug/hole pada level aplikasi. Andadapatmengikutiberitakeamananaplikasi yang andagunakanmelaluisitus-situsresmiaplikasitersebut. Disinidibutuhkankecermatandankecepatanandadalammengikutiinformasitentangkeamanan internet. Janganpernahlupauntukmengupgrade, jikamemangsitusresmiaplikasitersebutmenyarankannya. Jadipada level inisalahsatucarauntukmenghindariberperangdengan cracker adalahdenganselalumengikutiberita/news untukaplikasi yang andajalankan. Lengahsedikit, bisajadi server anda yang menjadi target .
Tingkat Keamanan Server • KeamananpadaAplikasi PHP (Versi PHP yang digunakan) -Tingkat Keamanan Level 3-PHP adalahsebuahbahasapemrograman yang saatinibanyaksekalidipergunakandi internet. banyaksekalisituskomersial yang menggunakan PHP agar situsnyaterlihatdinamisdanlebihinteraktif. Namunpada level 2, PHP yang dibicarakandisinibukanpadakodepemrograman (scripting) yang telahdilakukan, namunpada engine PHP yang digunakan. Samasepertipada apache di level iniharusdiperhatikanapakahversiphp yang digunakanmemiliki bug/hole. Jikamemangterbuktisegeralahupradeversiphptersebut. Selainitujanganserahkankonfigurasiphppadahasil default instalasi. Rubahlahbeberapavariabelnyasesuaidengankeinginananda. Beberapahal yang terpentingpadakonfigurasiphpantara lain adalah SAFE_MODE dan REGISTER_GLOBAL.
Tingkat Keamanan Server • KeamananpadaAplikasi Web Based yang berjalan -Tingkat Keamanan Level 4-Aplikasiberbasis web jugamenyimpansebuahbahaya yang sangatbesarbagikeamanankomputer. Beberapahal yang dapatdilakukanhanyakarenakesalahan scripting aplikasi web based, antaralain • Mengupload file sepertieggdrop, psybnc, dll. • Mendownload backdoor sepertibindtty, yang berakibat cracker akanmemilikiakses shell danselanjutnyatinggalmencarilokal exploit. • Mengacak-acak database MySQL • Mengintipnama-nama user yang beradapada /etc/passwd • Mendefaced website Kelemahanweb based biasanyabisaterjadikarena : • Kurangmampudalammenganalisalgoritmapemrograman web based. • Penggunaanfungsi-fungsipemrograman web based yang tidaksesuaidengantempatnya. • Ketidakhati-hatiandalammenggunakan CMS yang sudahjadisepertiPhp-Nuke, Post-Nuke, Mambo, dll. • Tidakadanyaperbedaan method POST dan GET padaaplikasi web based yang digunakan
Penggunaan NMAP • NMAP adalahsebuakaplikasi yang paling seringdigunakanpara cracker untukmencari hole dari server yang adadanmencaricelah Buffer Overflow yang biasanyadimilikioleh Mail Server. • Cracker tinggalmelakukan scanning padajaringantempat mail server berada. • Jikasukses cracker akanmendapatkanport,jenis mail server,sertadapatmencari exploit dari mail server tersebut. • Selanjutnya cracker dapatmemasukkan script pada exploit yang iagunakan(beserta IP target) danmemasukkan payload sebagai shell. • Dan cracker suksesmenembus PC server tempatmailserverberadadandapatmencarisemua info yang iaperlukan.
Email Spoofing • Email spoofing adalah jenis email tanpa identitas(identitas disamarkan) pengirim, sehingga dapat disisipi virus ataupun program-program lainnya. • Kita dapat melakukan email spoofing melalui mail server hanya dengan menggunakan telnet ke mail server. Sehingga identitas kita tidak terdeteksi oleh penerima.
Email Spoofing • Action: "telnet smtpmailserver.ontheinternet.com 25": Koneksipada SMTP gateway, dengan port 25 melalui telnet client"Response: "220 smtpmailserver.ontheinternet.com Microsoft ESMTP MAIL Service, Version: 5.0.2195.6713 ready at Mon, 11 Apr 2005 11:15:50 -0400"Result: Server meresepon,Andasuksesterkoneksi.Action: "helo": Melakukanpengetesanpada server denganperintah helloResponse: "250 smtpmailserver.ontheinternet.com [10.1.1.x]" Result: Sukses(gateway merespon)Action: "rcpt to: person@targetdomain.com": menginisialisasi email target Response: "250 2.1.5 person@targetdomain.com"Result: Mendekatiakhir step email spoofingAction: "data (then hit enter)": memberitahusmtp server kitaakanmenuliskanpesankitaResponse: "354 Start mail input; end with <CRLF>.<CRLF>": The mail server is telling us to write our message then type "enter" a period ".", then "enter" againResult: MasukkanpesanandaAction: "(Hit enter) type "." (Hit enter)": Memberitahusmtp server kitamengakhiripembuatanpesanResponse: "250 2.6.0 <smtpmailserver WQm21OesnsI0000148e@smtpmailserver.ontheinternet.com> Queued mail for delivery"Result: Mail server mengirimkan email kita..sukses..