GNU/Linux >> Belajar Linux >  >> Panels >> Webmin

Linux Firewall

Jika sistem Anda terhubung ke Internet, mungkin berguna untuk melindunginya dengan firewall untuk mencegah akses yang tidak sah. Halaman ini mencakup proses pengaturan dan konfigurasi firewall Linux dengan Webmin dan iptables .

Pengantar firewall dengan IPtables

Firewall adalah sistem yang melindungi dirinya sendiri dan host lain di jaringan dari penyerang di jaringan yang tidak tepercaya, seperti Internet. Itu dapat memblokir paket dan koneksi berdasarkan berbagai kriteria, seperti alamat sumber, alamat tujuan, port dan protokol. Biasanya firewall juga merupakan router, meneruskan paket antara jaringan lokal yang aman dan Internet yang tidak tepercaya - namun, sistem juga dapat melindungi dirinya sendiri.

Sebuah sistem firewall juga dapat dikonfigurasi untuk menyembunyikan beberapa host di belakang satu alamat IP, menggunakan proses yang dikenal sebagai NAT (Network Address Translation). Biasanya, host tersembunyi berada di LAN internal menggunakan jaringan IP pribadi (seperti 192.168.0.0) dan firewall memiliki satu alamat IP Internet. NAT memungkinkan host internal ini untuk berkomunikasi dengan orang lain di Internet, meskipun mereka tidak memiliki alamat IP publik yang sebenarnya.

Kernel Linux telah menyertakan beberapa implementasi firewall yang berbeda selama bertahun-tahun, seperti IPfwadm dan IPchains. Kernel seri 2.4 termasuk firewall IPtables, yang lebih kuat dan fleksibel daripada pendahulunya. Semua distribusi Linux yang menggunakan kernel 2.4 memiliki dukungan IPtables yang diaktifkan, dan menyertakan perintah yang diperlukan untuk mengkonfigurasinya. Bab ini dan modul Linux Firewall hanya mencakup pengaturan firewall menggunakan IPtables, bukan implementasi lama seperti IPchains atau IPfwadm.

Semua lalu lintas jaringan IP dipecah menjadi paket, yang merupakan potongan data dengan sumber, tujuan, dan informasi protokol. Bahkan aliran data yang terus-menerus seperti unduhan file besar dipecah menjadi paket-paket saat dikirim, dan dirakit kembali di tempat tujuan. Karena firewall IPtables beroperasi pada level IP, semua aturan dan rantainya mengevaluasi dan beroperasi pada paket individual, bukan koneksi TCP atau permintaan HTTP.

Firewall IPtables terdiri dari tiga jenis objek yang berbeda - tabel, rantai, dan aturan. Masing-masing dari tiga tabel berisi dua atau tiga rantai standar, dan mungkin banyak rantai khusus yang ditentukan pengguna. Setiap rantai berisi nol atau lebih aturan, yang diterapkan pada paket yang diterima atau dikirim dari firewall untuk menentukan nasibnya. Tiga tabel dan rantai standarnya adalah :

Pemfilteran paket (filter)
Rantai paket INPUT, OUTPUT dan FORWARD dalam tabel ini berlaku untuk paket yang diterima oleh, dikirim dari, atau diteruskan oleh firewall masing-masing. Jika sistem firewall bertindak sebagai router, hanya rantai FORWARD yang berlaku untuk paket yang dirutekan. Lalu lintas jaringan yang ditujukan untuk sistem itu sendiri diproses oleh rantai INPUT, dan lalu lintas dikirim oleh proses lokal oleh rantai OUTPUT. Untuk sistem yang merupakan router biasa dan tidak melakukan penyamaran, atau sistem yang hanya membutuhkan firewall untuk melindungi dirinya sendiri, ini adalah satu-satunya tabel yang perlu ditambahkan aturan.
Terjemahan alamat jaringan (nat)
Tabel ini hanya digunakan untuk paket yang memulai koneksi baru. Aturan dalam rantai PREROUTING diterapkan ke paket segera setelah diterima oleh sistem untuk perutean, dan POSTROUTING untuk paket yang akan pergi setelah perutean. Aturan rantai OUTPUT diterapkan ke paket yang dihasilkan secara lokal untuk modifikasi sebelum perutean. Aturan biasanya ditambahkan ke tabel ini untuk menyiapkan penyamaran, proxy transparan, atau jenis terjemahan alamat lainnya.
Perubahan paket (mangle)
Tabel ini hanya digunakan untuk perubahan paket khusus. Ini berisi dua rantai - PREROUTING untuk memodifikasi paket sebelum perutean, dan OUTPUT untuk memodifikasi paket yang dihasilkan secara lokal. Tabel ini jarang digunakan sama sekali dalam konfigurasi firewall yang khas.

Ketika paket jaringan diproses oleh rantai, setiap aturan dalam rantai dieksekusi secara berurutan. Setiap aturan memiliki seperangkat kondisi yang menentukan apakah aturan cocok atau tidak, dan tindakan yang diambil jika terjadi kecocokan. Tindakan ini mungkin untuk segera menerima paket, segera menjatuhkannya, melakukan beberapa modifikasi atau melanjutkan eksekusi. Jika akhir rantai tercapai, tindakan default akan diambil sebagai gantinya, yang biasanya mengizinkan paket lewat.

Tangkapan layar di bawah ini menunjukkan tabel dan rantai yang dilalui sebuah paket, dan urutan pemeriksaannya. Paket yang datang dari jaringan masuk ke diagram di atas, dan diproses oleh kedua rantai PREROUTING. Pada titik ini, keputusan dibuat - paket yang ditujukan untuk sistem lokal pergi ke kiri, sementara yang diteruskan ke beberapa tujuan lain mengambil cabang kanan. Yang ke kiri diproses oleh rantai paket masuk sebelum dikirim ke proses lokal, seperti server. Data yang diteruskan diproses oleh paket yang diteruskan dan rantai perutean Setelah sebelum dikirim ke tujuannya.

Firewall juga dapat mempengaruhi paket yang dikirim oleh proses pada sistem lokal. Ini diperiksa terhadap tiga rantai Output dan rantai perutean Setelah sebelum dikirim melalui antarmuka jaringan yang sesuai ke tujuan mereka. Ini berarti bahwa firewall IPtables dapat digunakan untuk membatasi alamat yang dapat disambungkan oleh proses lokal, dan protokol yang dapat mereka gunakan.


An overview of IPtables

Modul Linux Firewall

Modul ini dapat digunakan untuk mengatur firewall pada sistem Linux dengan IPtables diaktifkan, atau mengedit bagian mana pun dari firewall yang ada. Ini menyimpan konfigurasi firewall dalam file simpan yang dibuat dan dibaca oleh perintah iptables-save dan iptables-restore, bukan dalam skrip shell yang berisi panggilan ke perintah iptables. Redhat, Debian dan Gentoo Linux semuanya menggunakan file simpan seperti ini sebagai standar, yang Webmin ketahui dan akan bekerja dengannya.

Jika Anda telah membuat firewall secara manual menggunakan skrip shell dan ingin menggunakan modul ini untuk mengeditnya mulai sekarang, itu harus dikonversi ke file penyimpanan IPtables sehingga Webmin dapat mengeditnya.

Yang harus Anda lakukan adalah menghentikan skrip kustom Anda agar tidak dijalankan saat boot, dan memberi tahu modul untuk membuat skrip pengaturan firewallnya sendiri.

Ini juga berlaku untuk firewall yang dibuat oleh alat seperti YaST atau fBuilder, yang menulis skrip shell dari perintah iptables. Kecuali jika alat ini juga dapat mengedit file penyimpanan IPtables (seperti knetfilter), itu tidak boleh digunakan bersama modul Firewall Linux Webmin, atau mereka mungkin akan saling menimpa pengaturan satu sama lain.

Saat Anda memasukkan modul dari kategori Jaringan, halaman utama biasanya akan menampilkan daftar semua rantai dan aturan di tabel pertama yang berisi (biasanya Pemfilteran paket ), seperti yang ditunjukkan di bawah ini. Namun, jika Webmin mendeteksi bahwa perintah iptables atau iptables-save tidak diinstal, pesan kesalahan akan ditampilkan sebagai gantinya - periksa CD distribusi atau situs web Anda untuk paket yang berisi perintah tersebut.

Jika ini adalah pertama kalinya Anda menggunakan modul dan belum ada firewall yang dipasang di sistem Anda, halaman utama akan menampilkan formulir untuk menyederhanakan pembuatan firewall awal. Tiga opsi akan ditampilkan - pilih satu dan klik Setup Firewall tombol untuk mengaturnya. Jika perlu, Webmin juga akan menampilkan Aktifkan firewall saat booting? kotak centang yang jika dipilih akan menyebabkan skrip boot-up dibuat sehingga firewall diaktifkan pada saat boot juga. Opsi penyiapan firewall adalah :

Izinkan semua lalu lintas
Jika dipilih, firewall akan dibuat 'kosong' dan semua lalu lintas diizinkan masuk.
Lakukan terjemahan alamat jaringan pada antarmuka eksternal
Firewall akan diatur untuk NAT, sehingga host di LAN internal dapat mengakses Internet melalui host dengan satu alamat IP publik. Anda harus memilih antarmuka jaringan yang tersambung ke Internet dari daftar di sebelah opsi ini, seperti ppp0.
Blokir semua koneksi masuk pada antarmuka eksternal
Jika dipilih, firewall akan diatur untuk memblokir semua lalu lintas yang masuk ke sistem Anda pada antarmuka jaringan yang dipilih, kecuali untuk koneksi yang telah dibuat, balasan DNS, dan paket ICMP yang tidak berbahaya. Antarmuka yang Anda pilih harus yang terhubung ke Internet, seperti ppp0.

Jika ini adalah pertama kalinya modul digunakan dan Webmin mendeteksi bahwa firewall sudah ada di sistem Anda, aturannya akan ditampilkan dan Anda akan diminta untuk mengubahnya menjadi file simpan sehingga modul dapat digunakan untuk mengeditnya . Jika Anda memilih untuk melakukannya dengan mengeklik Simpan Aturan Firewall tombol, semua tabel, rantai, dan aturan yang ada akan direkam dengan aman. Kotak centang *Aktifkan firewall saat boot?* juga akan ditampilkan jika perlu, yang jika dipilih akan menyebabkan Webmin membuat skrip boot untuk mengaktifkan aturan firewall yang disimpan saat boot.

Jika Anda memilih untuk mengonversi konfigurasi firewall yang dibuat secara manual, pastikan untuk menonaktifkan skrip yang ada yang menyiapkannya saat boot. Jika tidak, skrip lama dan skrip yang dibuat oleh Webmin akan dijalankan, kemungkinan menyebabkan aturan yang diatur dalam modul ini dibatalkan oleh konfigurasi manual yang lebih lama.

Mengizinkan dan menolak lalu lintas jaringan

Untuk membatasi jenis koneksi dan paket yang akan diterima atau diteruskan firewall Anda, Anda perlu membuat aturan firewall tambahan. Tempat terbaik untuk aturan ini adalah Pemfilteran paket tabel, baik dalam Paket masuk atau Paket yang diteruskan rantai. Jika firewall Anda bertindak sebagai router dan Anda ingin melindungi sistem di jaringan aman yang terhubung dengannya tetapi bukan firewall itu sendiri, Paket yang diteruskan rantai harus digunakan. Namun, jika Anda ingin melindungi firewall dan sistem lain yang dirutekannya, aturan harus ditambahkan ke Paket masuk rantai.

Dimungkinkan juga untuk membatasi data yang dikirim oleh sistem Anda, yang mungkin berasal dari proses lokal atau diteruskan dari host lain. Untuk melakukan ini, Anda dapat menambahkan aturan ke Paket keluar rantai. Ini dapat berguna untuk membatasi alamat dan port yang dapat disambungkan oleh pengguna lokal, jika Anda mau.

Untuk membuat aturan baru untuk memblokir lalu lintas, langkah-langkah yang harus diikuti adalah :

  1. Pada halaman utama modul, pilih Pemfilteran paket dari daftar di sebelah Show IPtable tombol, lalu klik untuk beralih ke tabel pemfilteran.
  2. Untuk menambahkan aturan yang berlaku untuk semua lalu lintas masuk, klik Tambah Aturan tombol di Paket masuk bagian. Jika Anda hanya ingin membatasi lalu lintas yang diteruskan, klik tombol di bawah Paket yang diteruskan. Either way, Anda akan dibawa ke formulir pembuatan aturan, yang ditunjukkan pada tangkapan layar di bawah.
  3. Ubah Tindakan yang akan diambil untuk Menjatuhkan , sehingga paket yang cocok dengan aturan ini secara diam-diam dibuang oleh firewall.
  4. Dalam Detail kondisi bagian, pilih kondisi yang menentukan paket mana yang akan dicocokkan dan dengan demikian dijatuhkan. Hanya paket yang cocok dengan semua kondisi yang tidak disetel ke Abaikan akan dijatuhkan. Beberapa contoh kondisi yang harus dipilih untuk memblokir jenis lalu lintas tertentu adalah :
    Memblokir semua koneksi ke port TCP tertentu
    Setel Protokol jaringan bidang ke Sama dengan dan pilih TCP . Untuk memblokir port, protokol harus selalu dipilih. Setel Port TCP atau UDP Tujuan menjadi Sama dengan dan masukkan nomor port ke dalam Port lapangan di sebelahnya. Anda dapat memblokir beberapa port dengan memasukkan daftar nomor yang dipisahkan dengan koma ke dalam bidang Port, atau memblokir seluruh rentang dengan memilih Rentang port dan memasukkan port awal dan akhir ke bidang di sebelahnya.
    Memblokir semua lalu lintas dari alamat tertentu
    Setel *Alamat sumber atau jaringan* ke Sama dengan dan masukkan alamat IP yang akan diblokir ke kolom di sebelahnya. Anda juga dapat memblokir seluruh jaringan dengan memasukkan pasangan jaringan/awalan seperti 130.194.164.0/24 ke lapangan. Setel Status koneksi ke Tidak sama dengan dan pilih Koneksi yang ada dari menu di sebelahnya. Langkah ini akan memungkinkan sistem Anda untuk terhubung ke alamat yang diblokir, tetapi tidak sebaliknya.
    Memblokir lalu lintas ke alamat tertentu
    Setel Alamat atau jaringan tujuan menjadi Sama dengan dan masukkan alamat IP atau jaringan yang akan diblokir ke kolom di sebelahnya. Karena ini juga akan secara efektif menghentikan sistem yang diblokir agar tidak terhubung ke sistem Anda, mungkin ide yang baik untuk menyetel Status koneksi ke Tidak sama dengan dan pilih Koneksi yang ada dari menu di sebelahnya. Dalam semua kasus, biasanya merupakan ide yang baik untuk menyetel Antarmuka masuk ke antarmuka jaringan yang terhubung ke Internet (seperti ppp0), sehingga pembatasan tidak berlaku untuk koneksi dari LAN lokal Anda.
  5. Setelah Anda selesai memilih kondisi, klik tombol Buat tombol. Selama tidak ada kesalahan dalam input Anda, Anda akan dikembalikan ke halaman utama modul di mana aturan baru akan dicantumkan.
  6. Untuk mengaktifkan aturan baru, klik Terapkan Konfigurasi tombol di bagian bawah halaman.


Formulir pembuatan aturan

Aturan di setiap rantai dievaluasi secara berurutan dari atas ke bawah, dan tindakan yang diambil ditentukan oleh mana yang cocok lebih dulu. Jika tidak ada yang cocok, maka tindakan default rantai diambil, yang biasanya menerima paket. Anda dapat menggunakan perintah evaluasi ini untuk membuat aturan yang mengizinkan satu alamat IP, diikuti dengan aturan untuk menolak seluruh jaringan. Efek akhirnya adalah bahwa setiap host dalam jaringan ditolak kecuali satu.

Karena pengurutan aturan itu penting, terkadang Anda mungkin ingin menambahkan aturan di tengah rantai yang ada. Untuk melakukannya, gunakan tombol panah di bawah Tambah . rantai kolom pada halaman utama modul untuk membuat aturan baru baik sebelum atau sesudah yang sudah ada.

Tindakan paling umum dan artinya tercantum di bawah ini. Tidak semua tersedia di semua rantai dan tabel.

Tidak melakukan apa-apa
Jika aturan dengan tindakan ini cocok, tidak ada yang akan dilakukan dan pemrosesan akan dilanjutkan ke aturan berikutnya.
Terima
Paket yang cocok akan segera diterima, dan tidak ada pemrosesan lebih lanjut yang akan dilakukan dalam rantai. Namun, aturan di tabel lain mungkin masih mempengaruhi paket.
Lepas
Paket yang cocok akan dibuang secara diam-diam, seolah-olah tidak pernah diterima sama sekali. Tidak ada pemrosesan lebih lanjut yang akan dilakukan dalam rantai ini atau lainnya.
Ruang pengguna
Paket akan diteruskan ke proses userspace normal. Tindakan ini jarang digunakan.
Keluar dari rantai
Langsung lompat ke akhir rantai, dan jalankan tindakan defaultnya sebagai gantinya. Jika ini digunakan dalam rantai yang ditentukan pengguna, pemrosesan akan kembali ke aturan yang memanggilnya.
Menyamar
Paket yang cocok akan diubah alamat sumbernya agar tampak seperti berasal dari sistem firewall, dan tidak ada aturan lebih lanjut dalam rantai yang akan diproses. Saat tindakan ini dipilih, Anda dapat menggunakan Port sumber untuk penyamaran untuk mengontrol port mana yang akan digunakan firewall untuk koneksi yang disamarkan. Lihat Menyiapkan terjemahan alamat jaringan bagian untuk lebih jelasnya. Menyamar opsi ini hanya tersedia di Terjemahan alamat jaringan tabel, dalam rantai *Paket setelah perutean*.
Sumber NAT
Mirip dengan Masquerade pilihan, tetapi lebih cocok untuk sistem yang memiliki alamat IP Internet tetap. Jika dipilih, Anda dapat menggunakan IP dan port untuk SNAT bidang untuk mengontrol yang tersedia di Terjemahan alamat jaringan tabel, di Paket setelah perutean rantai.
NAT Tujuan
Paket yang cocok akan memiliki alamat tujuan dan port yang dimodifikasi berdasarkan IP dan port untuk bidang DNAT. Ini adalah dasar untuk proxy transparan, jadi untuk mempelajari lebih lanjut lihat Menyiapkan proxy transparan bagian di bawah. Tindakan ini hanya tersedia di Terjemahan alamat jaringan tabel, di Paket sebelum perutean dan Keluaran rantai.
Pengalihan
Tindakan ini mengalihkan semua paket yang cocok ke port atau port di kotak firewall, yang ditentukan oleh bidang *Target ports for redirect*. Ini juga dapat digunakan untuk proxy transparan, meskipun NAT tujuan lebih fleksibel. Tindakan pengalihan hanya tersedia di Terjemahan alamat jaringan tabel, di Paket sebelum perutean dan Keluaran rantai.

Anda juga dapat memilih Jalankan rantai opsi untuk Tindakan yang harus diambil , yang akan meneruskan paket ke rantai yang ditentukan pengguna atau target khusus yang dimasukkan ke bidang di sebelahnya. Lihat bagian *Membuat rantai Anda sendiri* di bawah ini untuk informasi selengkapnya tentang rantai yang ditentukan pengguna. Beberapa target yang tersedia adalah LOG (untuk mencatat paket ke syslog), MIRROR (untuk mencerminkan paket kembali ke pengirimnya) dan MARK (untuk menandai paket untuk kondisi selanjutnya).

Untuk setiap kondisi, opsi Diabaikan , Sama dengan dan *Tidak sama* dapat dipilih. Yang pertama berarti bahwa kondisi tidak digunakan sama sekali saat memeriksa apakah suatu paket cocok dengan aturan. Yang kedua berarti bahwa sebuah paket harus cocok dengan kondisi agar cocok dengan seluruh aturan, dan yang ketiga berarti paket tersebut TIDAK harus cocok dengan kondisi aturan yang akan dieksekusi. Jika, misalnya, kondisi "Antarmuka masuk" disetel ke "Tidak sama" dan eth0 dipilih, aturan hanya akan cocok dengan paket yang masuk pada antarmuka apa pun kecuali kartu Ethernet utama.

Karena hampir semua protokol jaringan melibatkan lalu lintas yang mengalir dalam dua arah, mencoba memblokir lalu lintas yang masuk saja dari beberapa alamat menggunakan Alamat sumber atau jaringan kondisi juga akan memblokir koneksi ke alamat juga, karena paket balasan yang merupakan bagian dari koneksi akan terputus. Hal yang sama berlaku untuk memblokir data yang masuk pada port tertentu menggunakan Port TCP atau UDP Tujuan kondisi - jika dalam kasus yang tidak mungkin, port sumber koneksi yang dipilih secara acak dari sistem Anda cocok dengan port yang diblokir, balasan apa pun untuk itu akan dihapus. Untuk alasan ini, biasanya ide yang baik saat membuat aturan penolakan untuk menyetel Status koneksi kondisi ke Tidak sama dengan dan pilih Koneksi yang ada dari menu di sebelahnya. Ini akan menyebabkan IPtables melacak koneksi keluar yang dibuat oleh server Anda, dan tidak memblokirnya.

Seperti yang Anda lihat, ada banyak kondisi berbeda yang tersedia yang dapat digabungkan untuk membuat aturan yang cukup rumit. Untuk mempelajari lebih lanjut tentang fungsi setiap ketentuan yang tersedia, lihat bagian *Ketentuan aturan firewall* di bawah. Karena ada begitu banyak kondisi, Webmin memungkinkan Anda membuat aturan baru yang hampir identik dengan yang sudah ada. Untuk melakukannya, klik aturan yang ada untuk mengeditnya dan gunakan Aturan kloning tombol di bagian bawah halaman untuk membuka formulir pembuatan aturan dengan semua ketentuan dan tindakan yang ditetapkan berdasarkan aturan asli.

Mengubah tindakan default rantai

Paket yang tidak cocok dengan aturan apa pun dalam rantai akan diproses menggunakan tindakan default, yang biasanya menerima paket. Pada halaman utama modul, tindakan default untuk setiap rantai ditampilkan di sebelah Setel tindakan default ke tombol. Untuk mengubahnya, langkah-langkah yang harus dilakukan adalah :

  1. Pilih tindakan baru dari menu di sebelah tombol *Atur tindakan default ke*. Hanya Terima , Lepas , Ruang pengguna dan Keluar dari rantai tindakan tersedia - lihat bagian *Mengizinkan dan menolak lalu lintas jaringan* di atas untuk mengetahui artinya. Biasanya, hanya Izinkan dan Lepas masuk akal sebagai tindakan default.
  2. Klik Setel tindakan default ke tombol untuk menyimpan default baru.
  3. Jika berubah menjadi Lepas , tambahkan aturan firewall tambahan yang diperlukan agar sistem Anda tetap dapat mengakses server lain dan menyediakan layanan penting.
  4. Setelah selesai, klik Terapkan Konfigurasi tombol untuk mengaktifkan default baru.

Hanya mengubah tindakan default menjadi Lepas untuk paket yang masuk adalah cara mudah untuk benar-benar memutus sistem Anda dari jaringan, dan mungkin membuatnya tidak dapat digunakan. Sebelum melakukannya, pastikan Anda mengizinkan setidaknya jenis lalu lintas berikut :

  • Semua koneksi yang dibuat. Buat Izinkan aturan dengan Koneksi status setel ke Sama dengan dan Koneksi yang ada terpilih.
  • Koneksi yang terkait dengan koneksi yang dibuat, seperti koneksi data FTP. Buat Izinkan aturan dengan *Koneksi status* disetel ke Sama dengan dan Koneksi terkait dipilih.
  • Semua lalu lintas pada antarmuka loopback. Buat Izinkan aturan dengan Antarmuka masuk setel ke Sama dengan dan kamu terpilih.
  • Lalu lintas dari sistem Anda ke dirinya sendiri di antarmuka jaringan utamanya. Untuk setiap antarmuka, buat aturan Izinkan dengan *Alamat atau jaringan sumber* dan Alamat atau jaringan tujuan setel ke alamat IP antarmuka.
  • Jenis ICMP yang aman. Buat empat Izinkan aturan dengan *ICMP packet type* disetel ke Equals dan echo-reply, destination-unreachable, source-quench dan time-exceeded dipilih.

Mengubah tindakan default untuk paket yang diteruskan ke Lepas tidak akan menyebabkan banyak masalah - itu sama saja dengan mematikan penerusan sama sekali. Mengubah tindakan default untuk paket keluar menjadi Jatuhkan adalah ide yang buruk karena akan memutus semua akses jaringan, dan mungkin sangat tidak masuk akal dalam banyak kasus.

Mengedit aturan firewall

Webmin dapat digunakan untuk mengedit salah satu aturan firewall yang ada yang telah dibuat secara manual, di program lain atau menggunakan modul ini. Meskipun modul tidak mendukung semua kondisi dan opsi tindakan IPtables yang tersedia, Anda masih dapat menggunakannya untuk mengedit aturan yang berisi opsi yang tidak diketahui dengan aman. Hanya yang dikenal oleh Webmin yang dapat diubah, dan yang lainnya tidak akan tersentuh.

Untuk mengedit aturan, langkah-langkah yang harus diikuti adalah :

  1. Pada halaman utama modul, pilih tabel tempat aturan berada dari daftar di sebelah Menampilkan IPtable tombol sebelum mengkliknya.
  2. Klik tindakan aturan yang ingin Anda ubah dalam tabel untuk rantainya. Ini akan membawa Anda ke formulir pengeditan, yang identik dengan formulir pembuatan yang ditunjukkan pada Gambar 19-3.
  3. Ubah tindakan atau salah satu ketentuan, dan klik tombol Simpan tombol untuk kembali ke daftar rantai dan aturan. Atau untuk menghapus aturan sama sekali, klik tombol Hapus tombol.
  4. Untuk mengaktifkan perubahan, klik Terapkan Konfigurasi .

Aturan dapat dipindahkan ke atas dan ke bawah dalam rantainya menggunakan panah di bawah Pindahkan kolom di halaman utama. Karena aturan dievaluasi secara berurutan oleh firewall, mengubah urutannya dapat memengaruhi lalu lintas mana yang diizinkan atau ditolak. Setiap kali Anda membuat aturan baru, itu akan ditambahkan ke ujung rantainya, jadi mungkin perlu untuk memindahkannya ke posisi yang benar untuk mendapatkan efek yang diinginkan.

Membuat rantai Anda sendiri

Dimungkinkan untuk membuat rantai aturan khusus Anda sendiri selain yang standar. Perbedaannya adalah, mereka hanya akan dieksekusi jika aturan di salah satu rantai standar memiliki tindakan yang diatur untuk secara eksplisit melompat ke rantai khusus. Saat eksekusi rantai kustom selesai (atau aturan dengan Rantai keluar tindakan cocok), evaluasi akan kembali ke rantai panggilan. Ini berarti bahwa rantai khusus dapat digunakan untuk menentukan aturan yang dibagikan oleh beberapa rantai standar, alih-alih mengulangi aturan yang sama di banyak tempat. Di satu sisi, rantai kustom seperti subrutin dalam bahasa pemrograman.

Untuk membuat rantai Anda sendiri, langkah-langkah yang harus diikuti adalah :

  1. Pada halaman utama modul, pilih tabel yang Anda inginkan untuk rantai dari menu di sebelah Menampilkan IPtable , dan klik tombol. Rantai khusus hanya dapat dipanggil dari rantai lain di tabel yang sama.
  2. Masukkan nama rantai baru Anda ke dalam kotak teks di sebelah Tambahkan rantai baru bernama tombol, lalu klik tombol untuk membuatnya. Nama rantai harus unik, dan umumnya hanya terdiri dari huruf kecil dan angka.
  3. Setelah rantai baru dibuat, rantai tersebut akan muncul di bagian bawah halaman. Anda dapat menggunakan Tambahkan aturan tombol untuk menambahkan aturan padanya, sama seperti salah satu rantai normal.

Rantai kustom tidak memiliki kebijakan default, sehingga mereka tidak memiliki tombol *Setel tindakan default ke* di halaman utama. Jika eksekusi rantai mencapai akhir, kontrol akan selalu kembali ke pemanggil. Rantai khusus dapat dihapus, menggunakan Hapus rantai tombol di bawah tabel aturan mereka.

Rantai kustom dapat berisi aturan yang melompat ke rantai kustom lainnya. Namun, sebuah rantai tidak dapat melompat ke dirinya sendiri, Anda juga tidak dapat membuat loop dengan melompat ke rantai lain yang melompat kembali ke yang pertama. Bahkan jika ini mungkin, itu akan menjadi ide yang sangat buruk!

Menyiapkan terjemahan alamat jaringan

Jika Anda memiliki beberapa sistem di rumah atau kantor Anda yang terhubung oleh LAN dan hanya satu alamat IP Internet, terjemahan alamat jaringan dapat digunakan untuk memberikan akses Internet yang hampir lengkap kepada semua sistem tersebut. NAT menyembunyikan alamat semua sistem pada LAN internal di belakang satu alamat Internet, mengubah alamat dan port bolak-balik sesuai kebutuhan. Ini memungkinkan semua sistem internal untuk membuat koneksi ke host mana pun di Internet, seperti server web, server DNS, server POP3, dan sebagainya. Satu-satunya batasan adalah bahwa sistem internal tidak dapat menerima koneksi dari host Internet lain, yang dapat menyebabkan beberapa protokol (seperti telepon Internet dan permainan jaringan) gagal.

Karena keterbatasan ini, sistem internal dilindungi dari sebagian besar serangan dari host lain di Internet, sama seperti jika Anda memblokir semua paket yang diteruskan yang masuk melalui antarmuka eksternal. NAT juga membuat penetapan alamat IP lebih mudah, karena tidak perlu khawatir kehabisan alamat Internet asli untuk ditetapkan ke host internal yang tidak benar-benar membutuhkannya. Untuk alasan ini, mungkin masuk akal untuk mengatur NAT di organisasi Anda meskipun tidak sepenuhnya diperlukan dari sudut pandang jaringan.

NAT bekerja dengan memodifikasi alamat sumber dan port paket yang dikirim oleh host internal dan dirutekan melalui firewall. Alamat sumber selalu diubah ke alamat IP eksternal dari sistem firewall, dan port sumber ke port yang tidak digunakan yang dipilih secara acak. Ketika paket balasan kembali, port tujuannya digunakan untuk menentukan alamat IP klien internal asli dan port ke mana paket harus diteruskan.

Untuk menyiapkan NAT, yang Anda perlukan hanyalah sistem dengan dua antarmuka jaringan - satu untuk LAN internal, dan satu lagi yang terhubung ke Internet melalui dial-up, ISDN, atau broadband. Setelah Anda memilikinya, langkah-langkah yang harus diikuti adalah :

  1. Pada LAN internal, setiap antarmuka Ethernet sistem harus diberi alamat pada jaringan IP pribadi seperti 192.168.0.0, termasuk sistem gateway.
  2. Atur router default pada semua sistem internal ke alamat IP LAN dari sistem gateway.
  3. Pastikan gateway telah mengaktifkan penerusan IP di modul Konfigurasi Jaringan di bawah Perutean dan Gateway. Lihat Konfigurasi Jaringan untuk informasi selengkapnya tentang cara melakukannya.
  4. Pada halaman utama modul Linux Firewall pada sistem gateway, pilih Network address translation dari daftar di sebelah Menampilkan IPtable tombol. Kemudian klik tombol untuk menampilkan rantai di tabel NAT.
  5. Klik Tambahkan aturan tombol di Paket setelah perutean bagian, yang akan membawa Anda ke formulir pembuatan aturan.
  6. Setel Tindakan yang akan diambil untuk Menyamar .
  7. Untuk mengontrol port mana yang akan digunakan firewall untuk koneksi yang disamarkan, setel Port sumber untuk penyamaran opsi ke Rentang port dan masukkan nomor port awal dan akhir ke dalam bidang di sebelahnya. Biasanya hanya memilih Apa saja untuk membiarkan firewall menggunakan port yang tersedia akan berfungsi dengan baik.
  8. Ubah Antarmuka keluar kondisi ke Sama dengan dan pilih antarmuka jaringan eksternal dari daftar di sebelahnya, seperti ppp0.
  9. Klik tombol Simpan di bagian bawah halaman untuk kembali ke daftar rantai dan aturan.
  10. Klik Terapkan Konfigurasi untuk membuat aturan baru (dan NAT) aktif.

Dimungkinkan untuk menggabungkan NAT dengan aturan firewall lain di Pemfilteran paket tabel untuk memblokir koneksi ke host firewall itu sendiri. Anda juga dapat menambahkan aturan penolakan ke rantai *Paket setelah perutean* untuk menghentikan host internal tertentu mengakses Internet, atau membatasi port yang dapat mereka hubungkan.

Petunjuk di atas akan bekerja pada jaringan apa pun yang memiliki sistem gateway dengan satu alamat IP Internet. Namun, jika alamat gateway Anda statis, sebaiknya pilih Source NAT di langkah 6 alih-alih Masquerade . Saat menggunakan penyamaran, koneksi apa pun yang diteruskan oleh firewall akan hilang jika antarmuka jaringan eksternal mati, meskipun koneksi kembali lagi dengan alamat IP yang sama. Jika antarmuka eksternal memiliki alamat yang ditetapkan secara dinamis, ini tidak masalah karena koneksi akan tetap terputus. Tetapi ketika menggunakan alamat IP statis, koneksi dapat dipertahankan bahkan melalui pemadaman jaringan yang singkat.

Untuk menggunakannya, pada langkah 6 atur Tindakan yang akan diambil ke Sumber NAT . Kemudian atur IP dan port untuk SNAT ke rentang IP dan masukkan alamat IP eksternal statis sistem Anda ke bidang di sebelahnya. Semua langkah lain dalam proses pengaturan NAT adalah sama.

Menyiapkan proxy transparan

Banyak jaringan menggunakan server proxy seperti Squid untuk men-cache situs web yang biasa diakses dan dengan demikian mengurangi jumlah bandwidth yang digunakan oleh klien penjelajahan web. Namun, biasanya setiap klien harus dikonfigurasi untuk menggunakan server proxy alih-alih membuat koneksi langsung ke situs web. Pada jaringan besar dengan banyak sistem klien atau di ISP di mana mereka dimiliki oleh banyak orang yang berbeda, konfigurasi individu ini bisa jadi sulit. Hal ini diperparah oleh setiap browser yang memiliki pengaturan server proxy sendiri, jadi jika pengguna menginstal browser baru mungkin akan default untuk tidak menggunakan proxy sama sekali.

Untungnya, ada solusi - proxy transparan. Jika semua sistem klien mengakses Internet melalui gateway yang menjalankan firewall IPtables, itu dapat dikonfigurasi untuk mengarahkan kembali koneksi ke port 80 (digunakan oleh sebagian besar situs web) ke server proxy di beberapa sistem lain. Ini berarti bahwa klien tidak perlu dikonfigurasi untuk mengakses proxy, karena setiap permintaan HTTP yang mereka buat akan dikirim secara transparan ke server proxy tanpa sepengetahuan mereka.

Untuk menyiapkan proxy transparan, langkah-langkah yang harus diikuti adalah :

  1. On the main page of the Linux Firewall module on the gateway system, select Network address translation from the list next to the Showing IPtable tombol sebelum mengkliknya.
  2. In the Packets before routing section, click on Add rule to go to the rule creation form. The rule being added will redirect all traffic on port 80 forwarded by the firewall system to a proxy server.
  3. Set the Action to take to Destination NAT .
  4. In the IPs and ports for DNAT field, select IP range and enter the address of the proxy server system into the field next to it. If the proxy is running on the same system, enter its Ethernet IP address (not 127.0.0.1). In the field next to Port range , enter the port the proxy server is running on, such as 8080.
  5. Set the Incoming interface to Equals and select the internal LAN interface, such as eth0.
  6. Set the Network protocol to Equals and select TCP .
  7. If the proxy is on another system that is also on the internal LAN, make sure that its connections on port 80 will not be proxied by the firewall as well! To do this, set the *Source address or network* condition to Does not equal and enter the IP address of the proxy server into the field next to it. If the proxy is on a different LAN or is the firewall system, this is not necessary.
  8. Set the Destination TCP or UDP port to Equals and enter 80 into the Port(s) bidang.
  9. Click the Create button to save the rule and return to the module's main page.
  10. Click on Add rule under Packets after routing to bring up the rule creation form again. This rule will forward packets back in the other direction from the proxy to the client. If your firewall system is also running the proxy server, this rule is not necessary and you can skip to step 16.
  11. For the Action to take , select Source NAT .
  12. In the IPs and ports for SNAT field, select IP range and enter the LAN IP address of the firewall server into the field next to it.
  13. Set the Destination address or network to Equals and enter the IP address of the proxy server into the field next to it.
  14. Set the Network protocol to Equals and select TCP .
  15. Klik tombol Buat button to add the new rule.
  16. Back on the main page, click the Apply Configuration tombol. All packets on port 80 forwarded by your firewall will now be sent to the proxy server instead.
  17. Assuming you are running the Squid proxy server (version 2.4 or above) on the proxy system, you can use Webmin to configure it. Otherwise, there is no point reading beyond this step.
  18. On the proxy system, enter the Squid Proxy Server module and click on Miscellaneous Options.
  19. Set the HTTP Accel Host field to Virtual , and the *HTTP Accel Port* to 80 .
  20. Set both the HTTP Accel With Proxy and *HTTP Accel Uses Host Header* fields to Yes.
  21. Terakhir, klik Simpan to return to the main page of the Squid module, and click the Apply Changes link near the top of the page to activate the new configuration.

From now on, any HTTP requests on port 80 forwarded by your firewall will be sent to the proxy server for processing. Transparent proxying can be safely used at the same time as conventional NAT by creating a masquerade rule in the packets after routing chain, as explained in the instructions in the *Setting up network address translation* section above.

Setting up port forwarding

On a network that uses NAT to hide internal systems from the Internet, outside hosts cannot connect directly those on the internal network. This is great for security, but can be annoying if there is some internal service that you do want to make available to the outside world. For example, your mail server system may not be the firewall host, which would normal make it inaccessible from the Internet. Fortunately, there is a solution to this problem - port forwarding.

This lets you re-direct all connections to some port on the firewall system to a different host and port on your internal network. For a mail server, all data received on port 25 might be send to the same port on the host that is actually being used to host user email. Of course, this would make it impossible for your firewall system to receive email itself.

To set up port forwarding, follow these steps :

  1. On the main page of the Linux Firewall module on the gateway system, select Network address translation from the list next to the Showing IPtable tombol sebelum mengkliknya.
  2. In the Packets before routing section, click on Add rule to go to the rule creation form. The rule being added will redirect all external traffic received by the firewall to some internal address.
  3. Set the Action to take to Destination NAT .
  4. In the IPs and ports for DNAT field, select IP range and enter the address of the internal host into the adjacent text box, such as 192.168.1.10 . In the Port range box, enter the port number on the internal host to which data should be sent, such as 25 for SMTP, 110 for POP3 or 80 for HTTP.
  5. Set the Network protocol to Equals and select TCP .
  6. In the Destination TCP or UDP port field, select Equals from the menu and enter the external port number for which forwarding should be done into the adjacent text field. Typically this will be the same as the port entered in step 4.
  7. Hit the Save button to create the rule and return to the main page, and then click the Apply Configuration tombol.

The only problem with this method is that connections from inside your network to the firewall system will not be forwarded to the other host.

Firewall rule conditions

When creating a firewall rule, you can select many different conditions to control which packets the rule matches. A rule's action will only be executed if all the conditions are matched. Each condition can be in one of three states, chosen by the menu next to it on the rule creation form :

  • Ignore The condition will be totally ignored when deciding whether the rule matches or not.
  • Equals The rule will only match if the packet matches the address, port, interface or whatever was selected for this condition.
  • Does not equal The rule will only match if the packet does NOT match whatever was selected for this condition.

The available conditions and what each matches are listed in the table below. Note that some are not available in all tables and chains.

Remember that each condition is applied on a per-packet basis, and that a single TCP connection may involve multiple packets flowing in both directions.

Isi

Lihat juga

  • Firewall Garis Pantai
  • Firewall Shorewall6
  • FirewallD

Webmin
  1. Ruang Nama Linux

  2. Cara menonaktifkan firewall di CentOS 8 Linux

  3. Cara Masuk Linux IPTables Firewall Menjatuhkan Paket ke File Log

  1. Memulai dengan firewall Linux

  2. Tutorial Iptables:Panduan Utama untuk Firewall Linux

  3. mengapa jembatan linux tidak berfungsi

  1. Memfilter Paket Di Wireshark di Kali Linux

  2. Perintah W di Linux

  3. Perintah Tcpdump di Linux