TOLONG DICATAT: Saya tidak tertarik menjadikan ini perang api! Saya mengerti bahwa banyak orang memiliki keyakinan yang kuat tentang hal ini, tidak sedikit karena mereka telah berupaya keras untuk solusi firewall mereka, dan juga karena mereka telah diindoktrinasi untuk mempercayai kebutuhan mereka.
Namun, saya mencari jawaban dari orang-orang yang ahli dalam keamanan. Saya percaya bahwa ini adalah pertanyaan penting, dan jawabannya akan menguntungkan lebih dari saya dan perusahaan tempat saya bekerja. Saya telah menjalankan jaringan server kami selama beberapa tahun tanpa kompromi, tanpa firewall sama sekali. Tidak satu pun dari kompromi keamanan yang kami miliki dapat dicegah dengan firewall.
Saya kira saya telah bekerja di sini terlalu lama, karena ketika saya mengatakan "server", saya selalu berarti "layanan yang ditawarkan kepada publik", bukan "database penagihan internal rahasia". Dengan demikian, setiap aturan yang kita akan miliki di setiap firewall harus mengizinkan akses ke seluruh Internet. Selain itu, server akses publik kami semuanya berada dalam pusat data khusus yang terpisah dari kantor kami.
Orang lain mengajukan pertanyaan serupa, dan jawaban saya dipilih menjadi angka negatif. Ini membuat saya percaya bahwa orang yang memberikan suaranya tidak benar-benar memahami jawaban saya, atau saya tidak cukup memahami keamanan untuk melakukan apa yang saya lakukan saat ini.
Ini adalah pendekatan saya terhadap keamanan server:
Ikuti panduan keamanan sistem operasi saya sebelum menghubungkan server saya ke Internet.
Gunakan pembungkus TCP untuk membatasi akses ke SSH (dan layanan manajemen lainnya) ke sejumlah kecil alamat IP.
Pantau status server ini dengan Munin . Dan memperbaiki masalah keamanan mengerikan yang melekat pada Munin-node dalam konfigurasi default-nya.
Nmap server baru saya (juga sebelum menghubungkan server saya ke Internet). Jika saya firewall server ini, ini harus menjadi set port yang tepat koneksi masuk harus dibatasi.
Instal server di ruang server dan berikan alamat IP publik.
Amankan sistem dengan menggunakan fitur pembaruan keamanan sistem operasi saya.
Filosofi saya (dan dasar dari pertanyaan) adalah bahwa keamanan berbasis host yang kuat menghilangkan perlunya firewall. Filosofi keamanan keseluruhan mengatakan bahwa keamanan berbasis host yang kuat masih diperlukan bahkan jika Anda memiliki firewall (lihat pedoman keamanan ). Alasan untuk ini adalah bahwa firewall yang meneruskan layanan publik ke server memungkinkan penyerang sama seperti tidak ada firewall sama sekali. Ini adalah layanan itu sendiri yang rentan, dan karena menawarkan layanan itu ke seluruh Internet adalah persyaratan operasinya, membatasi akses ke itu bukan intinya.
Jika ada yang port yang tersedia pada server yang tidak perlu diakses oleh seluruh Internet, maka software yang perlu ditutup pada langkah 1, dan telah diverifikasi oleh langkah 4. Jika penyerang berhasil membobol server melalui perangkat lunak rentan dan membuka port sendiri, penyerang dapat (dan melakukan) dengan mudah mengalahkan firewall apa pun dengan membuat koneksi keluar pada port acak sebagai gantinya. Tujuan keamanan bukan untuk membela diri setelah serangan yang berhasil - itu sudah terbukti tidak mungkin - itu untuk menjaga penyerang di tempat pertama.
Disarankan bahwa ada pertimbangan keamanan lain selain port terbuka - tetapi bagi saya itu terdengar seperti mempertahankan iman seseorang. Setiap kerentanan sistem operasi / tumpukan TCP harus sama-sama rentan terlepas dari apakah firewall ada atau tidak - berdasarkan fakta bahwa port sedang diteruskan langsung ke sistem operasi / tumpukan TCP tersebut. Demikian juga, menjalankan firewall Anda di server itu sendiri sebagai lawan memilikinya di router (atau lebih buruk, di kedua tempat) tampaknya menambah lapisan kompleksitas yang tidak perlu. Saya memahami filosofi "keamanan datang berlapis-lapis", tetapi ada titik di mana itu seperti membangun atap dengan menumpuk X jumlah lapisan kayu lapis di atas satu sama lain dan kemudian mengebor lubang melalui mereka semua. Lapisan kayu lapis lain tidak akan menghentikan kebocoran melalui lubang itu.
Sejujurnya, satu-satunya cara saya melihat firewall digunakan untuk server adalah jika ia memiliki aturan dinamis yang mencegah semua koneksi ke semua server dari penyerang yang dikenal - seperti RBL untuk spam (yang kebetulan, cukup banyak seperti yang dilakukan server email kami) . Sayangnya, saya tidak dapat menemukan firewall yang melakukan itu. Hal terbaik berikutnya adalah server IDS, tetapi itu mengasumsikan bahwa penyerang tidak menyerang server Anda yang sebenarnya terlebih dahulu, dan bahwa penyerang repot-repot untuk menyelidiki seluruh jaringan Anda sebelum menyerang. Selain itu, ini telah diketahui menghasilkan sejumlah besar positif palsu.
Jawaban:
Keuntungan firewall:
Di atas semua ini jika Anda tidak memiliki firewall dan sistem terganggu maka bagaimana Anda mendeteksinya? Mencoba menjalankan beberapa perintah 'ps', 'netstat', dll. Pada sistem lokal tidak dapat dipercaya karena binari-binari itu dapat diganti. 'nmap' dari sistem jarak jauh tidak dijamin perlindungan karena penyerang dapat memastikan bahwa root-kit menerima koneksi hanya dari alamat IP sumber yang dipilih pada waktu yang dipilih.
Firewall perangkat keras membantu dalam skenario seperti itu karena sangat sulit untuk mengubah OS firewall / file dibandingkan dengan host OS / file.
Kerugian firewall:
sumber
Above all this if you do not have firewall and system is compromised then how would you detect it?
Deteksi intrusi bukan pekerjaan firewall. Pekerjaan itu lebih baik ditangani oleh HIDS (sistem deteksi intrusi berbasis host), yang independen terhadap firewall.TCP Wrappers dapat dikatakan sebagai implementasi firewall berbasis host; Anda memfilter lalu lintas jaringan.
Untuk titik pada penyerang membuat koneksi keluar pada port yang sewenang-wenang, firewall akan menyediakan sarana untuk mengendalikan lalu lintas keluar juga; firewall yang dikonfigurasi dengan benar mengelola masuk dan keluar dengan cara yang sesuai dengan risiko yang terkait dengan sistem.
Pada titik tentang bagaimana kerentanan TCP tidak dimitigasi oleh firewall, Anda tidak terbiasa dengan cara kerja firewall. Cisco memiliki sejumlah besar aturan yang tersedia untuk diunduh yang mengidentifikasi paket yang dibangun dengan cara yang akan menyebabkan masalah sistem operasi tertentu. Jika Anda mengambil Snort dan mulai menjalankannya dengan aturan yang tepat, Anda juga akan diberitahu tentang hal ini. Dan tentu saja, iptables Linux dapat menyaring paket berbahaya.
Pada dasarnya, firewall adalah perlindungan proaktif. Semakin jauh Anda menjauh dari menjadi proaktif, kemungkinan besar Anda akan menemukan diri Anda dalam situasi di mana Anda bereaksi terhadap masalah daripada mencegah masalah. Memusatkan perlindungan Anda di perbatasan, seperti halnya firewall khusus, membuat segalanya lebih mudah untuk dikelola karena Anda memiliki titik tersedak pusat daripada menduplikasi aturan di mana-mana.
Tetapi tidak ada satu hal pun yang merupakan solusi akhir. Solusi keamanan yang baik umumnya adalah multi-layer, di mana Anda memiliki firewall di perbatasan, pembungkus TCP di perangkat, dan mungkin beberapa aturan tentang router internal juga. Anda biasanya harus melindungi jaringan dari Internet, dan melindungi node dari satu sama lain. Pendekatan multi-lapisan ini tidak seperti membuat lubang melalui beberapa lembar kayu lapis, ini lebih seperti memasang sepasang pintu sehingga seorang penyusup memiliki dua kunci untuk dipecah, bukan hanya satu; ini disebut jebakan manusia dalam keamanan fisik, dan sebagian besar setiap bangunan memiliki jebakan karena suatu alasan. :)
sumber
TCP Wrappers could be arguably called a host-based firewall implementation
+1 untuk jawaban yang bagus.(Anda mungkin ingin membaca " Hidup tanpa Firewall ")
Sekarang: Bagaimana dengan memiliki sistem warisan yang tidak ada tambalan diterbitkan lagi? Bagaimana dengan tidak dapat menerapkan tambalan ke mesin-N pada saat Anda perlu melakukannya, sementara pada saat yang sama Anda dapat menerapkannya dalam lebih sedikit node dalam jaringan (firewall)?
Tidak ada gunanya memperdebatkan keberadaan atau kebutuhan firewall. Yang benar-benar penting adalah Anda harus menerapkan kebijakan keamanan. Untuk melakukannya, Anda akan menggunakan alat apa pun yang akan mengimplementasikannya dan membantu Anda mengelola, memperluas, dan mengembangkannya. Jika firewall diperlukan untuk melakukannya, itu tidak masalah. Jika mereka tidak dibutuhkan, itu juga baik. Yang benar-benar penting adalah memiliki implementasi kebijakan keamanan Anda yang berfungsi dan dapat diverifikasi.
sumber
Sebagian besar penjelasan Anda tampaknya menyangkal perlunya firewall, tapi saya tidak melihat tipuan untuk memilikinya, selain sedikit waktu untuk mengaturnya.
Beberapa hal merupakan "keharusan" dalam arti kata yang ketat. Keamanan lebih tentang mengatur semua blokade yang Anda bisa. Semakin banyak pekerjaan yang diperlukan untuk masuk ke server Anda berarti semakin kecil peluang serangan yang berhasil. Anda ingin membuatnya lebih berfungsi untuk masuk ke mesin Anda daripada di tempat lain. Menambahkan firewall membuat lebih banyak pekerjaan.
Saya pikir penggunaan utama adalah redundansi dalam keamanan. Kelebihan lain dari firewall adalah Anda dapat dengan mudah menghentikan upaya untuk terhubung ke port apa saja daripada menanggapi permintaan yang ditolak - ini akan membuat pemetaan sedikit lebih merepotkan bagi penyerang.
Yang paling penting bagi saya pada catatan praktis dari pertanyaan Anda adalah Anda dapat mengunci SSH, ICMP, dan layanan internal lainnya ke subnet lokal serta batas tingkat koneksi masuk untuk membantu meringankan serangan DOS.
"Titik keamanan bukan untuk membela diri setelah serangan yang berhasil - itu sudah terbukti tidak mungkin - itu untuk menjaga penyerang di tempat pertama."
Saya tidak setuju. Membatasi kerusakan bisa sama pentingnya. (di bawah ini ideal mengapa kata sandi hash? Atau menempel perangkat lunak database Anda pada server yang berbeda dari aplikasi web Anda?) Saya pikir pepatah lama "Jangan masukkan semua telur Anda dalam satu keranjang" berlaku di sini.
sumber
Should I firewall my server?
Pertanyaan bagus. Tampaknya ada sedikit gunanya menampar firewall di atas tumpukan jaringan yang sudah menolak upaya koneksi untuk semua kecuali segelintir port yang terbuka secara sah. Jika ada kerentanan dalam OS yang memungkinkan paket perusak berbahaya untuk mengganggu / mengeksploitasi host, apakah firewall yang berjalan pada host yang sama mencegah eksploitasi? Yah, mungkin ...Dan itu mungkin alasan terkuat untuk menjalankan firewall di setiap host: Firewall mungkin mencegah kerentanan tumpukan jaringan agar tidak dieksploitasi. Apakah itu alasan yang cukup kuat? Saya tidak tahu, tapi saya kira orang bisa mengatakan, "Tidak ada yang dipecat karena memasang firewall."
Alasan lain untuk menjalankan firewall pada server adalah untuk memisahkan dua masalah yang sangat terkait:
Tanpa firewall, rangkaian layanan yang berjalan (bersama dengan konfigurasi untuk tcpwrappers dan semacamnya) sepenuhnya menentukan set port yang akan dibuka server, dan dari siapa koneksi akan diterima. Firewall berbasis host memberi admin fleksibilitas tambahan untuk menginstal dan menguji layanan baru dengan cara yang terkontrol sebelum membuatnya lebih banyak tersedia. Jika fleksibilitas seperti itu tidak diperlukan, maka ada sedikit alasan untuk menginstal firewall di server.
Pada catatan akhir, ada satu item yang tidak disebutkan dalam daftar periksa keamanan Anda yang selalu saya tambahkan, dan itu adalah sistem deteksi intrusi berbasis-host (HIDS), seperti AIDE atau samhain . HIDS yang baik membuatnya sangat sulit bagi penyusup untuk melakukan perubahan yang tidak diinginkan pada sistem dan tetap tidak terdeteksi. Saya percaya semua server harus menjalankan semacam HIDS.
sumber
Firewall adalah alat. Itu tidak membuat hal-hal aman dalam dan dari dirinya sendiri, tetapi dapat membuat kontribusi sebagai lapisan dalam jaringan yang aman. Itu tidak berarti Anda memerlukannya, dan saya benar-benar khawatir tentang orang-orang yang secara membabi buta mengatakan "Saya harus mendapatkan firewall" tanpa memahami mengapa mereka berpikir seperti itu dan yang tidak memahami kekuatan dan kelemahan firewall.
Ada banyak alat yang bisa kita katakan tidak perlu ... Apakah mungkin menjalankan komputer Windows tanpa Antivirus? Ya itu ... tapi itu adalah lapisan asuransi yang bagus untuk memilikinya.
Saya akan mengatakan hal yang sama tentang firewall - apa pun yang dapat Anda katakan tentang mereka, mereka adalah tingkat asuransi yang bagus. Mereka bukan pengganti untuk menambal, untuk mengunci mesin, untuk menonaktifkan layanan yang tidak Anda gunakan, untuk penebangan, dll ... tetapi mereka bisa menjadi suplemen yang bermanfaat.
Saya juga menyarankan bahwa persamaan berubah agak tergantung pada apakah Anda berbicara tentang menempatkan firewall di depan sekelompok server yang cenderung hati-hati, seperti yang tampaknya, atau LAN khas dengan campuran workstation dan server , beberapa di antaranya mungkin menjalankan beberapa hal yang sangat berbulu terlepas dari upaya dan keinginan terbaik dari tim TI.
Satu hal lagi yang perlu dipertimbangkan adalah manfaat dari menciptakan target yang jelas keras. Keamanan yang terlihat, apakah itu lampu terang, kunci berat, dan kotak alarm yang jelas pada bangunan; atau firewall yang jelas pada rentang alamat IP bisnis dapat mencegah penyusup biasa - mereka akan mencari mangsa yang lebih mudah. Ini tidak akan menghalangi penyusup yang tahu Anda memiliki informasi yang mereka inginkan dan bertekad untuk mendapatkannya, tetapi mencegah penyusup biasa masih bermanfaat - terutama jika Anda tahu bahwa setiap penyusup yang penyelidikannya bertahan melewati pencegah perlu ditanggapi dengan serius. .
sumber
Semua pertanyaan bagus. TETAPI - Saya sangat terkejut KINERJA tidak dibawa ke meja.
Untuk ujung depan Web yang sangat (tergantung CPU), firewall lokal benar-benar menurunkan kinerja, titik. Coba tes beban dan lihat. Saya melihat ini berkali-kali. Mematikan firewall meningkatkan kinerja (permintaan per detik) hingga 70% atau lebih.
Pertukaran ini harus dipertimbangkan.
sumber
Firewall adalah perlindungan tambahan. Tiga skenario tertentu yang dilindunginya adalah serangan tumpukan jaringan (mis. Server OS Anda memiliki kerentanan terhadap paket yang dibuat khusus yang tidak pernah mencapai level port), intrusi yang berhasil membuat koneksi ke "telepon rumah" (atau mengirim spam, atau apa pun) ), atau intrusi yang berhasil membuka port server atau, kurang terdeteksi, perhatikan urutan port knocking sebelum membuka port. Memang, dua yang terakhir harus dilakukan dengan mengurangi kerusakan intrusi daripada mencegahnya, tetapi itu tidak berarti itu tidak berguna. Ingatlah bahwa keamanan bukanlah proposisi semua atau tidak sama sekali; seseorang mengambil pendekatan berlapis, sabuk dan suspender, untuk mencapai tingkat keamanan yang cukup untuk kebutuhan Anda.
sumber
Saya bukan ahli keamanan dengan cara apa pun, tetapi kedengarannya seolah-olah Anda firewall. Sepertinya Anda telah mengambil beberapa fungsi inti dari firewall dan menjadikannya bagian dari kebijakan dan prosedur Anda. Tidak, Anda tidak perlu firewall jika Anda ingin melakukan pekerjaan yang sama seperti firewall sendiri. Sedangkan untuk diri saya sendiri, saya lebih suka melakukan yang terbaik yang dapat saya lakukan untuk menjaga keamanan, tetapi memiliki firewall yang melihat dari belakang, tetapi pada suatu saat ketika Anda dapat melakukan semua yang dilakukan firewall, itu mulai menjadi tidak relevan.
sumber
Firewall tentu tidak diperlukan untuk pengaturan yang lebih kecil. Jika Anda memiliki satu atau dua server, firewall perangkat lunak dapat dipelihara. Dengan itu, kami tidak lari tanpa firewall khusus, dan ada beberapa alasan mengapa saya mempertahankan filosofi ini:
Pemisahan Peran
Server adalah untuk aplikasi. Firewall untuk inspeksi paket, penyaringan, dan kebijakan. Server web harus khawatir tentang melayani halaman web, dan hanya itu. Memasukkan kedua peran dalam satu perangkat sama seperti meminta akuntan Anda untuk juga menjadi penjaga keamanan Anda.
Perangkat lunak adalah target yang bergerak
Perangkat lunak pada host selalu berubah. Aplikasi dapat membuat pengecualian firewall sendiri. OS diperbarui dan ditambal. Server adalah area "admin" dengan lalu lintas tinggi, dan kebijakan firewall / kebijakan keamanan Anda seringkali jauh lebih penting bagi keamanan daripada konfigurasi aplikasi Anda. Dalam lingkungan Windows, misalkan seseorang membuat kesalahan di beberapa level Kebijakan Grup dan mematikan Windows Firewall pada PC desktop, dan tidak menyadari bahwa itu akan diterapkan ke server. Anda terbuka lebar dalam hitungan klik.
Hanya berbicara tentang pembaruan, pembaruan firmware firewall biasanya keluar sekali atau dua kali setahun, sementara pembaruan OS dan layanan adalah aliran konstan.
Layanan / kebijakan / aturan yang dapat digunakan kembali, pengelolaan
Jika saya mengatur layanan / kebijakan yang disebut "Web Server" sekali (katakanlah TCP 80 dan TCP 443), dan menerapkannya ke "grup server web" di tingkat firewall, itu jauh lebih efisien (beberapa perubahan konfigurasi) dan secara eksponensial lebih rentan terhadap kesalahan manusia daripada menyiapkan layanan firewall pada 10 kotak, dan membuka 2 port x 10 kali. Ketika kebijakan itu perlu diubah, itu adalah 1 perubahan vs. 10.
Saya masih dapat mengelola firewall selama serangan, atau setelah kompromi
Katakanlah server aplikasi firewall + berbasis host saya diserang dan CPU mati. Untuk bahkan mulai mencari tahu apa yang terjadi, saya berada di belas kasihan beban saya menjadi kurang dari penyerang untuk masuk dan melihatnya.
Pengalaman yang sebenarnya - Saya pernah mengacaukan aturan firewall (meninggalkan port ke ANY bukannya yang spesifik, dan server memiliki layanan yang rentan), dan penyerang sebenarnya memiliki sesi Remote Desktop langsung ke kotak. Setiap kali saya mulai mendapatkan sesi, penyerang akan mematikan / memutuskan sesi saya. Jika bukan karena bisa mematikan serangan itu dari perangkat firewall independen, itu bisa menjadi jauh lebih buruk.
Pemantauan Independen
Log in di unit firewall khusus biasanya jauh lebih unggul daripada firewall perangkat lunak berbasis host. Beberapa cukup baik sehingga Anda bahkan tidak memerlukan perangkat lunak pemantauan SNMP / NetFlow eksternal untuk mendapatkan gambaran yang akurat.
Konservasi IPv4
Tidak ada alasan untuk memiliki dua alamat IP jika satu untuk web dan satu untuk email. Simpan layanan di kotak yang terpisah, dan rutekan port dengan tepat melalui perangkat yang dirancang untuk melakukan itu.
sumber
Pertama, menambahkan paling banyak satu hop tambahan yang dialihkan melalui jaringan Anda tidak rumit. Kedua, tidak ada solusi firewall yang diterapkan dengan satu titik kegagalan sama sekali tidak berguna. Sama seperti Anda mengelompokkan server atau layanan penting Anda dan menggunakan NIC terikat, Anda menerapkan firewall yang sangat tersedia. Tidak melakukan itu, atau tidak mengenali dan mengetahui bahwa Anda akan melakukannya adalah pandangan yang sangat pendek. Cukup dengan menyatakan bahwa ada satu antarmuka tidak secara otomatis membuat sesuatu menjadi hambatan. Pernyataan itu menunjukkan bahwa Anda tidak tahu bagaimana merencanakan dan memasang firewall dengan benar untuk menangani lalu lintas yang akan mengalir melalui jaringan Anda. Anda benar dalam mengatakan bahwa kesalahan dalam kebijakan dapat menyebabkan kerusakan pada seluruh jaringan Anda, tetapi saya berpendapat bahwa mempertahankan kebijakan individual pada semua server Anda jauh lebih banyak kesalahan yang cenderung terjadi di satu tempat.
Adapun argumen bahwa Anda mengikuti patch keamanan dan ikuti panduan keamanan; itu argumen yang goyah di terbaik. Biasanya tambalan keamanan tidak tersedia sampai setelah kerentanan ditemukan. Itu berarti bahwa sepanjang waktu Anda menjalankan server yang dapat dialamatkan secara publik, mereka rentan hingga ditambal. Seperti yang telah ditunjukkan orang lain, sistem IPS dapat membantu mencegah kompromi dari kerentanan semacam itu.
Jika Anda berpikir sistem Anda seaman mungkin, itu keyakinan yang baik untuk dimiliki. Namun, saya sarankan Anda melakukan audit keamanan profesional di jaringan Anda. Itu mungkin hanya membuka mata Anda.
sumber
It may just open your eyes.
Memberi +1 karena akan menjadi paku terakhir di peti mati.Secara umum, keamanan adalah hal bawang, seperti yang telah disebutkan. Ada alasan mengapa firewall ada, dan bukan hanya lemming lainnya yang bodoh.
Jawaban ini datang, karena mencari 'fail2ban' di halaman ini tidak memberi saya hasil apa pun. Jadi, jika saya menggandakan konten lain, ikutilah. Dan permisi, jika saya sedikit mengoceh, saya memberikan pengalaman sederhana karena ini mungkin berguna bagi orang lain. :)
Pertimbangan jaringan, lokal vs. eksternal
Ini agak spesifik untuk Linux dan berkonsentrasi pada firewall berbasis host, yang biasanya merupakan kasus penggunaan. Firewall eksternal berjalan seiring dengan struktur jaringan yang tepat dan pertimbangan keamanan lainnya biasanya masuk ke dalamnya. Entah Anda tahu apa yang tersirat di sini, maka Anda kemungkinan tidak akan membutuhkan posting ini. Atau Anda tidak, maka baca terus.
Menjalankan firewall secara eksternal dan lokal mungkin tampak kontra-intuitif dan berfungsi ganda. Tetapi ini juga memberikan kemungkinan pergantian aturan pada aturan eksternal, tanpa mengorbankan keamanan pada semua host lain yang ada di belakangnya. Kebutuhan dapat timbul dari alasan debugging atau karena seseorang baru saja kacau. Kasus penggunaan lain akan muncul di sana di bagian 'firewall global yang adaptif', dan Anda juga membutuhkan firewall global dan lokal.
Biaya dan ketersediaan dan cerita yang sama sepanjang waktu:
Firewall hanyalah salah satu aspek dari sistem keamanan yang tepat. Tidak memasang firewall karena membutuhkan biaya, memperkenalkan SPOF atau apa pun yang hanya omong kosong, maafkan bahasa Prancis saya di sini. Cukup siapkan kluster. Oh, tapi bagaimana jika sel api padam? Kemudian siapkan kluster Anda pada rentang dua atau lebih kompartemen api.
Tetapi bagaimana jika seluruh pusat data tidak dapat dijangkau, karena kedua operator eksternal keluar dari bisnis (excavator membunuh serat Anda)? Buat saja cluster Anda mencakup beberapa pusat data, lalu.
Itu mahal? Cluster terlalu rumit? Yah, paranoia harus dibayar.
Hanya mengeluh tentang SPOF, tetapi tidak ingin membayar lebih banyak uang atau membuat sedikit pengaturan yang lebih kompleks adalah kasus standar ganda yang jelas atau hanya dompet kecil di sisi perusahaan atau pelanggan.
Pola ini berlaku untuk SEMUA diskusi ini, tidak peduli layanan mana yang merupakan masalah saat ini. Tidak masalah apakah itu gateway VPN, Cisco ASA digunakan hanya untuk firewall, database MySQL atau PostgreSQL, sistem virtual atau perangkat keras server, backend penyimpanan, switch / router, ...
Sekarang Anda harus mendapatkan ide.
Mengapa repot dengan firewall?
Secara teori, alasan Anda masuk akal. (Hanya menjalankan layanan yang dapat dieksploitasi.)
Tapi ini hanya setengah dari kebenaran. Firewall, terutama firewall stateful dapat melakukan lebih banyak untuk Anda. Firewall tanpa kewarganegaraan hanya penting jika Anda mengalami masalah kinerja seperti yang telah disebutkan sebelumnya.
Kontrol akses yang mudah, terpusat, dan terpisah
Anda menyebutkan pembungkus TCP yang pada dasarnya menerapkan fungsi yang sama untuk mengamankan Anda. Demi argumen, mari kita asumsikan seseorang tidak tahu
tcpd
dan suka menggunakan mouse?fwbuilder
mungkin muncul dalam pikiran.Memiliki akses penuh dari jaringan manajemen Anda adalah sesuatu yang harus Anda aktifkan, yang merupakan kasus penggunaan pertama dari firewall berbasis host Anda.
Bagaimana dengan pengaturan multi-server, di mana database berjalan di tempat lain dan Anda tidak dapat menempatkan kedua / semua mesin dalam subnet (pribadi) bersama untuk alasan apa pun? Gunakan firewall untuk memungkinkan akses MySQL pada port 3306 hanya untuk satu alamat IP yang diberikan dari server lain, selesai, sederhana.
Dan itu juga berfungsi dengan sempurna untuk UDP. Atau protokol apa pun. Firewall bisa sangat fleksibel. ;)
Mitigasi Portscan
Lebih jauh, dengan firewall, portcans umum dapat dideteksi dan dikurangi karena jumlah koneksi per kalipan dapat dipantau melalui kernel dan tumpukan jaringannya, dan firewall dapat bertindak berdasarkan hal itu.
Paket yang tidak valid atau tidak jelas juga dapat ditangani sebelum mereka mencapai aplikasi Anda.
Pembatasan lalu lintas keluar
Memfilter lalu lintas keluar biasanya menyebalkan. Tapi itu bisa menjadi suatu keharusan, tergantung pada kontrak.
Statistik
Hal lain yang bisa diberikan firewall, adalah statistik. (Pikirkan
watch -n1 -d iptables -vnxL INPUT
dengan menambahkan beberapa aturan untuk alamat IP khusus tepat di atas untuk melihat apakah paket datang.)Anda dapat melihat di siang hari jika hal-hal bekerja atau tidak. Yang SANGAT berguna ketika memecahkan masalah koneksi dan bisa memberi tahu orang lain di telepon bahwa Anda tidak mendapatkan paket, tanpa harus menggunakan chatty
tcpdump
's. Jaringan itu menyenangkan, kebanyakan orang sekarang tahu apa yang mereka lakukan, dan yang sering terjadi hanyalah kesalahan routing yang sederhana. Sial, bahkan saya tidak selalu tahu apa yang saya lakukan. Meskipun saya telah bekerja dengan banyak sistem dan peralatan yang kompleks, seringkali dengan tunneling juga, sekarang.IDS / IPS
Firewall Layer7 biasanya snake-oil (IPS / IDS), jika tidak dihadiri dengan benar dan diperbarui secara teratur. Ditambah lisensi-lisensi itu sangat mahal, jadi saya akan membeli satu jika Anda tidak benar-benar membutuhkan segala yang dapat dibeli dengan uang.
Masqerading
Mudah, coba saja ini dengan pembungkus Anda. : D
Penerusan port lokal
Lihat menyamar.
Mengamankan saluran akses kata sandi dengan alamat IP dinamis
Bagaimana jika pelanggan memiliki alamat IP dinamis dan tidak ada pengaturan VPN yang digunakan? Atau pendekatan dinamis lain untuk firewall? Ini sudah diisyaratkan dalam pertanyaan, dan ini akan menjadi kasus penggunaan untuk Sayangnya, saya tidak dapat menemukan firewall yang melakukan itu. bagian.
Menonaktifkan akses akun root melalui kata sandi adalah suatu keharusan. Bahkan jika akses terbatas pada alamat IP tertentu.
Juga, masih memiliki akun blanko lain yang siap dengan login kata sandi jika kunci ssh hilang atau penyebaran gagal sangat berguna jika terjadi kesalahan (pengguna memiliki akses administratif ke mesin dan 'sesuatu terjadi'?). Ini adalah ide yang sama untuk akses jaringan karena memiliki mode single-user di Linux atau menggunakan
init=/bin/bash
viagrub
untuk akses lokal benar-benar buruk dan tidak dapat menggunakan live disk dengan alasan apa pun. Jangan tertawa, ada produk virtualisasi yang melarang itu. Bahkan jika fungsi itu ada, bagaimana jika versi perangkat lunak yang ketinggalan zaman dijalankan tidak memiliki fungsionalitas?Bagaimanapun, bahkan jika Anda menjalankan ssh daemon Anda pada beberapa port esoterik dan bukan pada 22, jika tidak menerapkan hal-hal seperti port knocking (untuk membuka bahkan port lain dan dengan demikian memitigasi portcans, perlahan-lahan berbatasan dengan terlalu tidak praktis), pemindaian port akan mendeteksi Anda layanan akhirnya.
Biasanya Anda juga mengatur semua server dengan konfigurasi yang sama, dengan port dan layanan yang sama untuk alasan efisiensi. Anda tidak dapat mengatur ssh ke port yang berbeda di setiap mesin. Anda juga tidak dapat mengubahnya di semua mesin setiap kali Anda menganggapnya sebagai informasi 'publik', karena sudah setelah pemindaian. Pertanyaan tentang
nmap
legal atau tidak bukanlah masalah ketika memiliki koneksi Wi-Fi yang diretas yang Anda inginkan.Jika akun ini tidak bernama 'root', orang mungkin tidak dapat menebak nama akun pengguna dari 'pintu belakang' Anda. Tetapi mereka akan tahu, jika mereka mendapatkan server lain dari perusahaan Anda, atau hanya membeli beberapa ruang web, dan memiliki tampilan tanpa chroot / unjailed / tidak terkendali
/etc/passwd
.Untuk ilustrasi semata-mata teoretis sekarang, mereka dapat menggunakan situs web yang dapat diretas di sana untuk mendapatkan akses ke server Anda dan mencari tahu bagaimana hal-hal biasanya berjalan di tempat Anda. Alat pencarian retas Anda mungkin tidak berjalan 24/7 (biasanya mereka lakukan di malam hari karena alasan kinerja disk untuk pemindaian sistem file?) Dan pemindai virus Anda tidak diperbarui saat detik- nol baru melihat cahaya hari, sehingga itu akan tidak mendeteksi kejadian ini sekaligus, dan tanpa tindakan perlindungan lainnya Anda bahkan mungkin tidak pernah tahu apa yang terjadi. Untuk kembali ke kenyataan, jika seseorang memiliki akses ke eksploitasi nol hari, sangat mungkin dia tidak akan menargetkan server Anda karena ini hanya mahal. Ini hanya untuk menggambarkan bahwa selalu ada jalan masuk ke sistem jika 'kebutuhan' muncul.
Tetapi pada topik lagi, jangan gunakan akun kata sandi ekstra, dan jangan repot-repot? Silakan baca terus.
Bahkan jika penyerang mendapatkan nama dan port akun tambahan ini, kombinasi
fail2ban
+iptables
akan menghentikan mereka, bahkan jika Anda hanya menggunakan kata sandi delapan huruf. Ditambah fail2ban dapat diterapkan untuk layanan lain juga, memperluas cakrawala pemantauan!Untuk layanan Anda sendiri, jika perlu muncul: Pada dasarnya setiap layanan gagal log ke file bisa mendapatkan dukungan fail2ban melalui penyediaan file, regex apa yang cocok dengan dan berapa banyak kegagalan yang diizinkan, dan firewall hanya akan dengan senang hati melarang setiap alamat IP itu disuruh.
Saya tidak mengatakan untuk menggunakan kata sandi 8 digit! Tetapi jika mereka diblokir selama 24 jam selama lima kali mencoba kata sandi yang salah, Anda dapat menebak berapa lama mereka harus mencoba jika mereka tidak memiliki botnet yang mereka miliki bahkan dengan keamanan yang buruk. Dan Anda akan kagum dengan kata sandi apa yang cenderung digunakan pelanggan, bukan hanya untuk
ssh
. Melihat kata sandi email orang-orang melalui Plesk memberi tahu Anda segala hal yang Anda tidak ingin ketahui, jika Anda pernah melakukannya, tetapi apa yang saya tidak maksudkan di sini tentu saja. :)Firewall global adaptif
fail2ban
hanyalah salah satu aplikasi yang menggunakan sesuatu di sepanjang barisiptables -I <chain_name> 1 -s <IP> -j DROP
, tetapi Anda dapat dengan mudah membangun barang-barang seperti itu sendiri dengan beberapa sihir Bash cukup cepat.Untuk lebih memperluas sesuatu seperti ini, agregat semua alamat IP fail2ban dari server dalam jaringan Anda pada server tambahan, yang mengkurasi semua daftar dan meneruskannya pada firewall inti Anda yang memblokir semua lalu lintas yang sudah ada di tepi jaringan Anda.
Fungsionalitas seperti itu tidak dapat dijual (tentu saja bisa, tetapi itu hanya akan menjadi sistem yang rapuh dan payah), tetapi harus terjalin ke dalam infrastruktur Anda.
Sementara itu, Anda juga dapat menggunakan alamat IP daftar hitam atau daftar dari sumber lain, baik itu dikumpulkan sendiri atau eksternal.
sumber
Di dunia fisik, orang mengamankan barang-barang berharga dengan menempatkannya di brankas. Tapi tidak ada brankas yang tidak bisa dibobol. Brankas, atau wadah keamanan, dinilai berdasarkan berapa lama waktu yang diperlukan untuk memaksa masuk. Tujuan dari brankas adalah untuk menunda penyerang cukup lama sehingga mereka terdeteksi dan tindakan aktif kemudian menghentikan serangan.
Demikian pula, asumsi keamanan yang tepat adalah bahwa mesin Anda yang terpapar, pada akhirnya, akan dikompromikan. Firewall dan bastion host tidak diatur untuk mencegah server Anda (dengan data berharga Anda) dari kompromi, tetapi untuk memaksa penyerang untuk berkompromi terlebih dahulu dan memungkinkan Anda untuk mendeteksi (dan mencegah) serangan sebelum barang-barang berharga hilang.
Perhatikan bahwa baik firewall maupun brankas bank tidak melindungi dari ancaman orang dalam. Itulah salah satu alasan akuntan bank mengambil cuti selama dua minggu berturut-turut, dan bagi server untuk memiliki tindakan pencegahan keamanan internal penuh walaupun dilindungi oleh host benteng.
Anda tampaknya menyiratkan dalam posting asli bahwa Anda meneruskan paket "dunia luar" melalui firewall Anda langsung ke server Anda. Dalam hal ini, ya, firewall Anda tidak melakukan banyak hal. Pertahanan perimeter yang lebih baik dilakukan dengan dua firewall dan host bastion, di mana tidak ada koneksi logis langsung dari luar ke dalam - setiap koneksi berakhir di host bastion DMZ; setiap paket diperiksa dengan benar (dan mungkin diurai) sebelum meneruskan.
sumber
Kerentanan sulit diprediksi. Praktis mustahil untuk memperkirakan ke mana infrastruktur Anda akan dieksploitasi. Memiliki firewall "meningkatkan standar" bagi penyerang yang ingin mengeksploitasi kerentanan, dan ini adalah bagian yang penting, SEBELUM Anda tahu kerentanan itu. Selain itu, konsekuensi dari firewall dapat dengan mudah dipahami sebelumnya, sehingga Anda tidak akan MENYEBABKAN masalah dengan firewall yang lebih parah daripada masalah yang mungkin Anda hindari.
Inilah sebabnya "tidak ada yang dipecat karena memasang firewall". Implementasi mereka berisiko sangat rendah, dan memiliki kemungkinan TINGGI untuk mencegah atau mengurangi eksploitasi. Selain itu, kerentanan yang paling buruk akhirnya dieksploitasi oleh otomatisasi, sehingga apa pun yang "tidak biasa" akan berakhir dengan merusak bot, atau setidaknya membuatnya melewatkan Anda demi target yang lebih mudah.
Catatan samping; firewall bukan hanya untuk internet. Departemen akuntansi Anda tidak perlu ssh / apa pun ke server ldap Anda, jadi jangan berikan kepada mereka. Menggabungkan layanan internal dapat membuat perbedaan besar pada pekerjaan pembersihan jika ada sesuatu yang menembus dinding kastil.
sumber
Harus mengatakan kepada Ernie bahwa walaupun Anda tampaknya melakukan banyak hal untuk mengeraskan server Anda dan mengurangi serangan dan kerentanan, saya tidak setuju dengan sikap Anda tentang firewall.
Saya memperlakukan keamanan sedikit seperti bawang dalam idealnya Anda memiliki lapisan yang harus Anda lalui sebelum Anda sampai ke inti, dan secara pribadi saya pikir itu sangat salah kaprah untuk tidak memiliki beberapa bentuk firewall perangkat keras pada batas jaringan Anda.
Saya akui saya datang dari sudut "apa yang biasa saya", tapi saya tahu bahwa setiap bulan saya mendapatkan daftar kecil yang bagus tentang patch-patch dari Microsoft, banyak dari mereka dieksploitasi di alam liar. . Saya membayangkan hal yang sama terjadi pada hampir semua OS dan set aplikasi yang Anda pikirkan.
Sekarang saya tidak menyarankan firewall menghapus ini, firewall juga tidak kebal terhadap bug / kerentanan, jelas firewall "perangkat keras" hanyalah perangkat lunak yang berjalan pada tumpukan perangkat keras.
Yang mengatakan, saya tidur jauh lebih aman mengetahui bahwa jika saya memiliki server yang hanya membutuhkan port 443 untuk dapat diakses dari web, perimeter saya Juniper memastikan bahwa hanya port 443 yang dapat diakses dari web. Tidak hanya itu tetapi Palo Alto saya memastikan bahwa lalu lintas masuk didekripsi, dan diperiksa, dan dicatat, dan dipindai untuk IPS / IDS - tidak menghilangkan kebutuhan untuk menjaga server tetap aman dan mutakhir, tetapi mengapa Anda TIDAK menemukan bahwa manfaat yang diberikan dapat mengurangi eksploitasi nol hari dan kesalahan manusia lama yang baik?
sumber
Pertama-tama, dengan pembicaraan Anda tentang port forwarding, saya pikir Anda sedang mengkonfigurasi firewall dengan NATing. Walaupun saat ini NAT sangat sering berfungsi sebagai firewall de facto, bahwa itu bukan tujuan yang mereka inginkan. NAT adalah alat perutean. Firewall adalah untuk mengatur akses. Penting bagi kejernihan pemikiran untuk membuat konsep-konsep ini berbeda.
Tentu saja benar bahwa menempatkan server di belakang kotak NAT dan kemudian mengkonfigurasi NAT untuk meneruskan apa pun ke server itu, tidak lebih aman daripada menempatkan server langsung di Internet. Saya tidak berpikir ada yang akan membantah ini.
Demikian pula, firewall yang dikonfigurasi untuk memungkinkan semua lalu lintas tidak ada firewall sama sekali.
Tetapi, apakah "izinkan semua lalu lintas" benar-benar kebijakan yang Anda inginkan? Adakah yang pernah memiliki kebutuhan untuk melakukan ssh ke salah satu server Anda dari alamat IP Rusia? Sementara Anda mengutak-atik konfigurasi beberapa daemon jaringan eksperimental baru, apakah seluruh dunia benar-benar membutuhkan akses ke sana?
Kekuatan firewall adalah memungkinkan Anda tetap terbuka hanya layanan yang Anda tahu harus terbuka dan mempertahankan satu titik kontrol untuk menerapkan kebijakan ini.
sumber
Firewall inspeksi paket stateful TIDAK milik di depan server publik. Anda menerima semua koneksi, sehingga pelacakan negara sangat tidak berguna. Firewall tradisional adalah tanggung jawab besar dalam serangan DDoS dan biasanya merupakan hal pertama yang gagal di bawah serangan DDoS, bahkan sebelum bandwidth link atau sumber daya server dikonsumsi secara total.
Filter paket stateless pada router memang masuk akal di depan server publik, tetapi hanya jika mereka dapat menangani laju line semua lalu lintas masuk dan keluar (seperti ACL perangkat keras di router).
Google, Facebook, dan bahkan Microsoft tidak menempatkan "firewall" tradisional di depan server publik. Siapa pun yang menjalankan layanan web publik pada skala "lebih dari satu server" harus mengetahui hal ini.
Fungsi lain yang ditemukan di firewall tradisional seperti Cisco ASAs atau apa pun yang terbaik diimplementasikan pada host itu sendiri, di mana mereka dapat ditingkatkan secara efektif. Logging, IDS, dll. Adalah semua fitur perangkat lunak di firewall, jadi mereka hanya menjadi hambatan besar dan target DDoS jika diletakkan di depan server yang dapat diakses publik.
sumber
Mengapa semua server Anda memerlukan alamat publik?
Dari 14 atau lebih server yang saya jalankan secara teratur, hanya 2 yang memiliki antarmuka yang dapat diakses publik.
Diedit untuk menambahkan : Di jaringan lain yang telah saya tangani dalam mengelola, kami memiliki kemampuan untuk mematikan / mengaktifkan layanan sesuka hati, sedangkan kami tidak memiliki akses untuk mengelola firewall. Saya bahkan tidak dapat mulai memberi tahu Anda berapa kali, secara tidak sengaja tentu saja, layanan yang tidak dibutuhkan (SMTP) dihidupkan dan ditinggalkan dan satu-satunya hal yang menyelamatkan kami dari menjadi tempat sampah spam dan mendapatkan daftar hitam dalam proses itu adalah firewall.
Juga, apakah semua lalu lintas yang lewat di antara server, sepenuhnya dienkripsi?
Anda tentu bisa mengendarai mobil 100 mph tanpa sabuk pengaman, tidak ada airbag dan ban botak, tetapi mengapa Anda mau ??
sumber
Firewall dapat mencegah pengguna sistem dari membuka layanan yang dapat diakses jaringan yang tidak disadari oleh administrator, atau melakukan penerusan port ke komputer lain. Dengan memanfaatkan modul hashlimit, firewall juga dapat menilai penyalahguna berdasarkan IP jarak jauh.
Firewall adalah jaring pengaman lain yang memastikan kebijakan Anda dipatuhi. Tentu, jangan menjalankan layanan yang tidak Anda harapkan.
Saya merekomendasikan pembaruan perangkat lunak yang diterapkan tepat waktu, misalnya, tetapi saya juga merekomendasikan firewall pada semua mesin. Ini seperti ketika saya mengemudi: Tentu saya mencoba menghindari rintangan dan mobil lain, tetapi saya juga mengenakan sabuk pengaman dan memiliki airbag untuk berjaga-jaga jika hal yang tidak terduga terjadi.
sumber
Anda mungkin tidak menyadari betapa Anda mendapat manfaat dari firewall hanya karena semua orang menggunakannya. Pada hari ketika semua orang, pengguna DSL bawah ke rumah memiliki firewall di tempat sniffing port telah diberikan sebagai vektor serangan yang layak. Seorang hacker yang baik tidak akan membuang-buang waktu mereka memeriksa hal-hal seperti itu.
sumber