Mengapa kami membutuhkan firewall jika tidak ada program yang berjalan di port Anda?

14

Ketika saya mencoba untuk telnet ke port di server, dan jika tidak ada program mendengarkan pada port itu telnet mati dengan kesalahan "Tidak dapat terhubung ...". Aku mengerti itu. Tetapi, mengapa kita membutuhkan firewall jika tidak ada program yang mendengarkan pada port apa pun?

Khaja Minhajuddin
sumber
Pertahanan dalam Kedalaman. en.wikipedia.org/wiki/Defense_in_Depth_(computing)
Zoredache

Jawaban:

31

Mungkin tidak ada layanan yang berjalan sekarang, tetapi bagaimana dengan besok? Anda telah mematikan semuanya, tetapi bagaimana dengan pengguna Anda? Siapa pun di sistem unix / windows / mac dapat membuka port> 1024 pada mesin apa pun yang mereka akses. Bagaimana dengan malware? Bagaimana dengan virus? Mereka juga dapat membuka port dan mulai menyajikan informasi kepada dunia, atau mulai mendengarkan koneksi dari jaringan.

Tujuan utama firewall bukan untuk memblokir port untuk layanan yang Anda tahu dinonaktifkan, itu untuk memblokir port pada layanan yang mungkin tidak Anda ketahui. Anggap saja sebagai penyangkalan default dengan hanya lubang tertentu yang ditekan untuk layanan yang Anda otorisasi. Setiap pengguna atau program yang dimulai oleh pengguna dapat memulai server pada sistem yang mereka akses, firewall mencegah orang lain terhubung ke layanan itu.

Admin yang baik tahu layanan apa yang perlu diekspos, dan dapat mengaktifkannya. Firewall sebagian besar untuk mengurangi risiko dari server yang tidak dikenal yang berjalan pada sistem Anda atau jaringan Anda, serta untuk mengelola apa yang diizinkan ke dalam jaringan dari tempat sentral.

Penting untuk mengetahui apa yang sedang berjalan pada mesin / server Anda dan hanya mengaktifkan apa yang Anda butuhkan, tetapi firewall memberikan sedikit perlindungan ekstra terhadap hal-hal yang tidak Anda ketahui.

gabe
sumber
1
> "Setiap pengguna atau program yang dimulai oleh pengguna dapat memulai server pada sistem yang mereka akses, firewall mencegah orang lain terhubung ke layanan itu." Tetapi, bukankah ini akan membuat layanan tidak dapat digunakan?
Khaja Minhajuddin
5
@KhajaMinhajuddin ya! Itulah intinya. (-:
gabe.
2
@KhajaMinhajuddin Anda hanya ingin layanan yang Anda siapkan tersedia untuk dunia. Anda tidak ingin server smtp yang super_spam_virus.exe dimulai sementara Anda tidak mencari mendengarkan koneksi dari sistem lain yang terinfeksi. Firewall akan mencegah hal ini, meskipun itu bukan obat mujarab.
gabe.
super_spam_virus.exe tidak terdengar seperti Unix & Linux :)
pengguna tidak dikenal
@userunknown true ... bagaimana dengan a.out, atau versi / bin / ls yang dikompromikan yang disalin ke sistem Anda. Atau, jika Anda seorang pengembang hg serveyang memulai server web di mesin Anda. Intinya, itu sepele untuk memulai server di mesin apa pun apakah itu digunakan sebagai 'desktop' atau 'server' tidak masalah. Dan sekali server itu dimulai, dan Anda tidak tahu tentang itu ... well, saat itulah kesenangan dimulai.
gabe.
3

JIKA tidak ada program mendengarkan pada port apa pun, Anda tidak perlu firewall, tetapi Anda juga tidak dapat terhubung ke server Anda karena 'disegel' dari seluruh dunia.

Di sisi lain ... katakanlah server Anda tidak memiliki program yang berjalan secara lokal mendengarkan pada port apa pun, tetapi berfungsi sebagai gateway untuk komputer lain di belakangnya. Dalam hal ini Anda menggunakan firewall untuk mengelola penyamaran (NAT) dan secara opsional Anda dapat memfilter beberapa hal pada penerusan paket.

Patkos Csaba
sumber
Ini adalah poin yang bagus, tetapi jika saya ingin server melakukan hal-hal (saya biasanya akan meletakkan openssh dan server web). Bahkan dengan firewall, saya harus membuka port untuk membuat aplikasi yang berjalan seperti openssh dan webservers bermanfaat. Jadi, saya kira yang saya tanyakan adalah, Apakah ada program yang membuka port ke dunia luar yang perlu diblokir oleh firewall dan yang masih akan berguna.
Khaja Minhajuddin
1
Ya ada. Tidak perlu contoh untuk server, tapi mari kita anggap Anda memiliki mesin Linux dengan X diinstal, dan X berjalan pada port jaringan. Anda ingin mengizinkan komputer Anda, mungkin beberapa komputer lain dari LAN untuk terhubung ke X Anda. Namun Anda tidak ingin Joe dari Prancis terhubung ke sana. Contoh lain, katakanlah Anda mengatur beberapa layanan VPN di server Anda dan Anda perlu mengontrol jaringan mana yang dapat melihat jaringan lain (atau tidak melihat). Atau, katakanlah Anda memiliki OpenSSH tetapi Anda hanya ingin mengizinkan koneksi dari komputer di rumah Anda. Ada banyak contoh lainnya.
Patkos Csaba
1
@KhajaMinhajuddin: Untuk ssh, Anda harus menggunakan /etc/ssh/sshd_configuntuk mengamankan mesin. PermitRootLoginharus diatur ke Tidak, Anda harus menggunakan kata sandi aman dan memelihara mesin dengan sudo (Anda dapat menggunakan sudo setelah masuk dengan akun dengan izin sudo). Mengatur batasan dengan firewall hanyalah alat yang salah untuk pekerjaan itu. Hal yang sama berlaku untuk postgresqldatabase: Gunakan konfigurasi basis data, untuk mengatur dan mencabut izin.
pengguna tidak dikenal
3

Sebenarnya ini mungkin tidak perlu, namun perlu diingat bahwa firewall dapat memberikan lebih banyak fungsi daripada sekadar menolak koneksi melalui port jaringan. Misalnya, DROP versus perilaku TOLAK.

Tok
sumber
1
Apa keuntungan dari DROP versus REJECT?
pengguna tidak dikenal
Saya tidak yakin, tapi saya yakin DROP tidak merespons sehingga pemohon tidak tahu apakah permintaan itu diterima atau apakah mesin Anda ada. TOLAK mengatakan Anda pasti ada di sana dan tidak ingin membicarakannya. Dan, jika ada sesuatu di balik pintu yang terkunci, mungkin ada baiknya mencoba mencari jalan masuk untuk mencari tahu apa yang layak dilindungi.
Joe
-5

Tetapi, mengapa kita membutuhkan firewall jika tidak ada program yang mendengarkan pada port apa pun?

Jika Anda memiliki Desktop Pengguna Tunggal , bukan server, Anda tidak perlu firewall, jika tidak ada layanan yang berjalan, seperti pada instalasi default Ubuntu.

Windows pernah beberapa kali, setelah mampu melakukan jaringan, beberapa layanan berjalan secara default untuk pemeliharaan, pembaruan, pengiriman pesan internal dan sebagainya. Anda tidak dapat menghentikan mereka, tanpa menghentikan jendela yang berfungsi, tetapi mereka rentan terhadap serangan eksternal. Jadi pengguna windows membutuhkan firewall, dan meme, yang semua orang butuhkan firewall, menyebar dengan cepat.

Ketika mereka bertemu orang-orang Linux, yang sering merupakan admin server, mereka tidak mengatakan 'Anda tidak perlu firewall di linux' tetapi 'kami memiliki firewall gratis seperti iptables selama hampir satu dekade'.

Sebuah firewall pribadi , duduk di sistem itu akan melindungi, bukan ide terbaik baik.

Pada sistem desktop pengguna tunggal, Anda tidak memerlukan firewall pribadi.

Pengguna tidak diketahui
sumber
3
Lihatlah jawaban dari gabe dan pikirkan kembali. Terutama klien Desktop yang rentan terhadap serangan.
Nils
1
@userunknown: virus mungkin adalah pengguna desktop Anda. Daemon yang Anda instal dan gagal konfigurasi juga.
André Paramés
1
Saya telah menjalankan pengujian keamanan selama bertahun-tahun, dan akses melalui desktop adalah rute yang sangat berguna untuk menyebarkan serangan. Tidak masalah apakah itu Windows, Linux, Solaris, apa pun. Kunci atau turunkan ke penyerang. Ungkapan yang benar adalah Anda mungkin membutuhkan firewall di desktop Anda - nilai penuh risiko di lingkungan Anda
Rory Alsop
2
@userunknown hanya karena Anda menggunakan komputer sebagai desktoptidak berarti itu bukan serverhanya kata-kata. Anda desktopmemiliki banyak serversyang berpotensi berjalan di atasnya, dan mungkin sudah.
gabe.
1
Pikirkan tentang CUPS (sembarang linux), SLPD (SuSE) dan hal-hal lain (KDE-remote, iSCSI-server / client) yang mungkin berjalan di linux setelah pembaruan. Bahkan jika Anda memeriksa sebelum hal-hal ini muncul. Jika mereka melakukannya, ada baiknya untuk memblokir mereka. BTW - aktifkan firewall Anda melalui GUI (don t allow anything) on RedHat, start CUPS and see if you can connect to it from outside. Then look at iptables-save`: Voila - port CUPS terbuka tanpa muncul di gui ...
Nils