Apakah saya juga perlu mengatur aturan iptables lain untuk ipv6 jika saya hanya menggunakan iptables?

21

Katakanlah saya memiliki pengaturan firewall pada server linux saya dengan iptables sehingga saya hanya menerima lalu lintas port 22 dan port 80 dan saya memblokir akses ke semua port lain.

Apakah aturan ini hanya berfungsi jika mesin klien menggunakan alamat IPv4? Jadi jika alamat ipv6 digunakan, klien dapat mengakses port yang saya tidak mau? (mis. port selain port 22 dan port 80)

pengguna230779
sumber
Anda belum menandai jawaban mana pun sebagai berguna. Anda harus melakukannya. ;-)
Anders

Jawaban:

21

iptablesbekerja untuk IPv4, tetapi tidak IPv6. ip6tablesadalah firewall IPv6 yang setara, dan diinstal denganiptables .

Pada akhirnya, iptablesuntuk koneksi IPv4, ip6tablesuntuk koneksi IPv6. Jika Anda ingin iptablesaturan Anda juga berlaku untuk IPv6, Anda harus menambahkannya ip6tablesjuga.


Jika Anda mencoba dan mereplikasi iptablesperaturan Anda ip6tables, tidak semua aturan yang iptablesbisa dilakukan akan ditata dengan rapiip6tables , tetapi kebanyakan akan melakukannya.

Lihat halaman manual untukip6tables jika Anda ingin memastikan perintah yang Anda gunakan di iptablesporting Anda akan rapi.


Jika Anda mau, kami dapat membantu Anda membuat ip6tablesaturan yang setara dengan aturan Anda iptables, jika Anda memberikan daftar aturan firewall Anda (menghapus informasi apa pun yang dapat mengidentifikasi sistem coruse). Jika tidak, kami hanya dapat menjawab pertanyaan umum Anda.

Thomas Ward
sumber
10
Bukankah ini konyol? Untuk memperjelas, jadi sekarang semua port saya di server terbuka lebar untuk siapa saja yang terhubung dengan alamat IPv6?
user230779
3
@ user230779 Saya setuju itu "konyol" tapi ini sebabnya ufwdan manajer firewall lain ada, mereka menambahkan aturan sendiri untuk keduanya, sesuai. Masalahnya di sini, bukan, "Bisakah ada yang dengan IPv6 melihat situs saya?" masalah yang lebih besar adalah apakah sistem Anda memiliki alamat IPv6. Sebagian besar koneksi memiliki IPv4 dan IPv6 dari komputer klien seperti milik saya. Tetapi jika server jauh tidak memiliki IPv6 yang menghadap publik, maka IPv4 terhubung. Seperti yang saya pahami, jika Anda memiliki IPv6, Anda harus menambahkan aturan ip6tablesjuga.
Thomas Ward
1
@ user230779 Saya bisa membuat skrip yang akan mengeksekusi perintah yang sama untuk iptablesDAN ip6tables, dan aturan umum seperti-p tcp --dport masih akan berfungsi, tetapi aturan yang lebih kompleks mungkin tidak ... (seperti -j REJECT --reject-with [something])
Thomas Ward
Thomas, bisakah Anda menautkan saya ke contoh ip6tables yang aman untuk server web apache?
user230779
1
@Braiam tidak pernah mengatakan apa pun tentang bendera. Beberapa perintah tidak akan berfungsi (-j REJECT --reject-with icmp-host-prohibited misalnya, karena paket tolak adalah nama yang berbeda di IPv6)
Thomas Ward
3

Seperti yang orang lain telah katakan, ada tabel firewall yang berbeda untuk IPv4 dan IPv6. Anda bisa mengatur aturan untuk IPv6 seperti untuk IPv4, tetapi ada risiko besar Anda akan mengacaukannya jika Anda tidak tahu IPv6. Seperti, Anda tidak dapat ICMPmenggunakan IPv6, karena ada bagian-bagian jabat tangan yang penting di sana. Seperti memberi tahu pengirim bahwa frame-nya besar, dll. Tanpa hal-hal itu, IPv6 bisa berhenti berfungsi untuk beberapa pengguna.

Jadi itu akan sangat merekomendasikan penggunaan ufwatau paket shorewall6bersama shorewall. The iptablesfrontend ufwmendukung IPv4 dan IPv6 dan karya besar pada server dengan satu atau dua interface tetapi tidak lalu lintas rute (bekerja sebagai router atau gateway). Jika Anda merutekan lalu lintas, Anda memerlukan sesuatu yang lebih baik, seperti shorewallatau secara manual menambahkan beberapa aturan untuk penerusan iptablesdan ip6tables.

Jangan lupa bahwa Anda dapat memiliki lebih dari satu alamat IPv6 di antarmuka Anda. Ada yang hanya tautan lokal, ada yang statis dan dinamis secara global. Jadi Anda harus mengatur aturan yang sesuai dan server hanya mendengarkan pada alamat yang benar.

Anders
sumber