Saya admin beberapa server berbasis cloud (VPS) untuk perusahaan tempat saya bekerja.
Server adalah instalasi minimal ubuntu yang menjalankan bit tumpukan LAMP / pengumpulan data masuk (rsync). Data tersebut besar tetapi tidak pribadi, finansial atau semacamnya (yaitu tidak terlalu menarik)
Jelas di sini orang-orang selamanya bertanya tentang mengkonfigurasi firewall dan sejenisnya.
Saya menggunakan banyak pendekatan untuk mengamankan server, misalnya (tetapi tidak terbatas pada)
- ssh pada port non standar; tidak ada pengetikan kata sandi, hanya kunci ssh yang diketahui dari ips yang diketahui untuk masuk dll
- https, dan cangkang terbatas (rssh) umumnya hanya dari kunci / ips yang dikenal
- server minimal, terkini dan ditambal secara teratur
- gunakan hal-hal seperti rkhunter, cfengine, lynis denyhosts dll untuk pemantauan
Saya memiliki pengalaman luas admin unix sys. Saya yakin saya tahu apa yang saya lakukan di setup saya. Saya mengkonfigurasi / etc file. Saya tidak pernah merasakan kebutuhan mendesak untuk menginstal hal-hal seperti firewall: iptables dll.
Singkirkan sejenak masalah keamanan fisik VPS.
Q Saya tidak dapat memutuskan apakah saya naif atau perlindungan tambahan yang ditawarkan oleh fw layak untuk dipelajari / diinstal dan kompleksitas tambahan (paket, file konfigurasi, kemungkinan dukungan, dll) di server.
Sampai saat ini (menyentuh kayu) Saya tidak pernah memiliki masalah dengan keamanan tetapi saya juga tidak puas dengan hal itu.
sumber
Jawaban:
Saya perhatikan bahwa Anda telah melakukan pekerjaan yang hebat dengan mengikat beberapa daemon yang berbeda, dan dari apa yang Anda katakan, saya pikir tidak mungkin Anda membuat diri Anda mengalami masalah melalui layanan yang telah Anda dapatkan. Ini masih membuat Anda dalam keadaan "semuanya diizinkan kecuali yang telah saya larang", dan Anda tidak dapat keluar dari keadaan itu dengan memburu daemon demi daemon dan mengamankannya satu per satu.
Firewall yang dikonfigurasikan untuk MENYANGKAL APA SAJA APAPUN secara default menggerakkan Anda ke mode operasi "semuanya dilarang kecuali yang diizinkan", dan selama bertahun-tahun saya telah menemukan bahwa mereka lebih baik.
Saat ini, mengingat pengguna yang sah dengan shell yang sah pada sistem Anda, ia dapat memutuskan untuk menjalankan beberapa daemon lokal yang tidak terjangkau untuk mem-proxy-kan permintaan web untuk internet, atau memulai berbagi file di port 4662, atau secara tidak sengaja membuka pendengar dengan menggunakan -g dengan tunneling port ssh, tidak mengerti apa fungsinya; atau instalasi sendmail dapat membuat Anda menjalankan MUA pada port 587 yang tidak terkonfigurasi dengan benar terlepas dari semua pekerjaan yang telah Anda lakukan untuk mengamankan sendail MTA pada port 25; atau seratus satu hal dapat terjadi yang memintas keamanan Anda yang hati-hati dan penuh perhatian hanya karena mereka tidak ada ketika Anda berpikir dengan hati-hati tentang apa yang harus dilarang.
Apakah Anda mengerti maksud saya? Saat ini, Anda telah berupaya keras untuk mengamankan semua hal yang Anda ketahui, dan sepertinya mereka tidak akan menggigit Anda. Yang mungkin menggigit Anda adalah hal-hal yang tidak Anda ketahui, atau bahkan tidak ada di sana, saat ini.
Firewall yang defaultnya untuk MENYANGKAL APA SAJA adalah cara sysadmin untuk mengatakan bahwa jika sesuatu yang baru datang dan membuka pendengar jaringan di server ini, tidak ada yang akan dapat berbicara dengannya sampai saya telah memberikan izin eksplisit .
sumber
Prinsip Least Privilege. Firewall membantu Anda sampai di sana. Prinsip Pertahanan di Kedalaman. Firewall membantu Anda sampai di sana juga. Setiap konfigurasi yang dirancang dengan baik secara eksplisit bergantung pada keduanya dalam satu atau lain cara.
Hal lain adalah bahwa server Anda kemungkinan besar akan menjadi perangkat keras komoditas, atau perangkat keras khusus untuk menangani perangkat lunak server yang berjalan di atas OS server standar (Unix, NT, Linux). Artinya, mereka tidak memiliki perangkat keras khusus untuk menangani dan memfilter lalu lintas masuk secara efisien. Apakah Anda ingin server Anda menangani setiap multicast, paket ICMP atau port scan yang mungkin muncul?
Kemungkinan besar yang Anda inginkan adalah server Anda secara fisik menangani permintaan hanya ke beberapa port (80, 443, port ssl Anda, port oracle 1521 khas Anda, port rsync Anda, dll.) Ya, tentu saja Anda mengatur firewall perangkat lunak pada Anda server untuk mendengarkan port tersebut saja. Tetapi NIC Anda masih akan menanggung beban lalu lintas yang tidak diinginkan (baik itu ganas atau normal di organisasi Anda.) Jika NIC Anda dipalu, begitu juga jalur jaringan melalui server Anda (dan mungkin antara server dan internal klien dan koneksi ke server dan layanan internal lainnya.)
NIC Anda tidak hanya dipalu, firewall perangkat lunak Anda juga akan digunakan karena harus memeriksa setiap paket atau datagram yang didapat.
Firewall di sisi lain, khususnya yang ada di tepi subnet (atau memisahkan subnet Anda dari dunia luar) cenderung merupakan perangkat keras khusus yang dibuat khusus untuk menangani jenis volume itu.
Anda dapat mengelilingi N jumlah server dengan M jumlah firewall (dengan N >> M). Dan Anda mengatur perangkat keras firewall Anda untuk membuang apa pun yang tidak diarahkan ke port tertentu. Pemindaian port, ICMPs dan omong kosong lainnya keluar. Kemudian Anda menyempurnakan firewall perangkat lunak di server Anda sesuai dengan fungsi spesifik mereka.
Sekarang Anda baru saja mengurangi (tetapi tidak menghilangkan) kemungkinan blackout total, menguranginya menjadi partisi jaringan atau sebagian kegagalan terburuk. Dan dengan demikian, Anda telah meningkatkan kemampuan sistem Anda untuk bertahan dari serangan atau kesalahan konfigurasi.
Tidak memiliki firewall karena server Anda memilikinya seperti merasa aman menggunakan sabuk pengaman saat mengemudi di 120mph di bawah visibilitas nol karena kabut. Tidak berfungsi seperti itu.
sumber
Ada banyak serangan yang bisa Anda lakukan jika Anda tidak memiliki firewall yang melakukan semacam inspeksi tingkat paket:
Contohnya adalah Paket Pohon Natal
http://en.wikipedia.org/wiki/Christmas_tree_packet
Serangan DDOS dapat dijalankan terhadap sistem Anda, firewall (eksternal mungkin, sebelum server Anda) akan menghentikan / memperlambat / membunuh lalu lintas sebelum melumpuhkan server Anda.
Hanya karena Anda tidak memiliki data keuangan, atau data pribadi di server tidak berarti Anda tidak akan 'terluka'. Saya yakin Anda membayar bandwidth, atau penggunaan CPU, atau Anda memiliki tingkat meteran. Bayangkan selama satu malam (ketika Anda sedang tidur) seseorang berlari meteran Anda (saya telah melihat ini terjadi dengan penyedia VOIP Switch, tekan di malam hari untuk JUTAAN MENIT lalu lintas, bahwa mereka harus membayar tagihan untuk).
Jadi cerdaslah, gunakan perlindungan jika ada, Anda TIDAK SEMPURNA, begitu juga perangkat lunak. Ini hanya aman sampai exploit berikutnya ditemukan. ;)
sumber
Jika Anda dapat menerapkan prinsip hak istimewa tanpa menggunakan firewall, Anda mungkin tidak membutuhkannya. Dari sudut pandang saya membangun sistem yang aman tanpa menggunakan firewall membutuhkan lebih banyak usaha, dan saya cukup malas. Mengapa saya harus repot membatasi koneksi TCP menggunakan alat lain dan mungkin banyak file konfigurasi ketika saya dapat memisahkan hak istimewa pada tingkat transportasi menggunakan konfigurasi tunggal.
sumber
Firewall juga dapat mencegat paket yang tidak diinginkan dari mencapai server Anda. Alih-alih berurusan dengan mereka di tingkat server individu, Anda dapat menghadapinya di firewall. Anda dapat menyimpan semua aktivitas konfigurasi ini di firewall tunggal alih-alih beberapa server.
Misalnya, jika penyerang telah menguasai IP eksternal dan membanjiri server Anda dengan paket yang tidak diinginkan dan Anda ingin mengurangi efeknya pada server Anda ... Anda bisa mengonfigurasi setiap server Anda yang terkena dampak untuk menjatuhkan paket berbahaya tersebut. atau cukup buat perubahan di firewall Anda dan semua server Anda terlindungi. Memiliki firewall telah mengurangi waktu reaksi Anda.
sumber
Anda atau orang lain mungkin membuat kesalahan pada pengaturan server Anda suatu hari nanti, firewall kemudian memberi Anda kesempatan kedua untuk menghentikan seseorang masuk. Kami tidak sempurna, kami membuat kesalahan, dan karena itu sedikit asuransi "yang tidak dibutuhkan" dapat bermanfaat. .
(Cobalah untuk tidak menjalankan firewall Anda pada OS yang sama dengan server Anda, karena jika tidak satu bug di OS .... Saya menganggap semua versi Unix sebagai OS yang sama, karena mereka memiliki banyak kesamaan)
sumber
Firewall dilegalkan dalam manipulasi lalu lintas. Mereka melakukannya dengan cepat dan memiliki sumber daya. Dan Anda tidak menyia-nyiakan sumber daya server untuk memfilter lalu lintas (disk io / proc time / etc). Anda harus mengkonfigurasi beberapa keamanan di lingkungan server tetapi semua pemeriksaan lalu lintas dan pemindaian virus dan sebagainya harus melakukan server khusus.
sumber
Saya khawatir jika Anda pernah diretas dan tidak memiliki firewall. Peretas dapat membuka port lain di server Anda. Juga, jika seorang konsultan diundang untuk melakukan pembersihan dan audit, hal pertama yang akan mereka katakan adalah, "APA?!?! Anda tidak punya firewall!" Maka Anda bisa dibakar.
sumber