Larangan alamat IPv6

16

Saat ini saya terbiasa menggunakan alat seperti fail2ban untuk menjaga lalu lintas yang tidak diinginkan dari server saya dengan melarang alamat IPv4: terlalu banyak entri log buruk per IP, larangan IP.

Namun ketika dunia menyelesaikan migrasi ke IPv6, melarang satu alamat mungkin tidak akan berfungsi lagi, karena komputer atau penyerang botnet "normal" memiliki cukup banyak alamat IPv6?

Jika saya ingin memblokir pengguna IPv6, apa cara terbaik untuk melakukannya? Gunakan topeng IP tertentu atau yang lain?

Bagaimana dengan melakukan "upscaling heuristics" ketika Anda mendapatkan beberapa hit individual di dalam IPv6 kemudian melarang seluruh blok?

Bagi saya itu lebih penting untuk mengurangi ancaman. Jika beberapa pengguna asli yang buruk menjadi bagian dari blok yang sama dengan IP yang diblokir, maka itu adalah masalah antara orang-orang itu dan ISP mereka untuk membersihkan netblock tersebut.

Mikko Ohtamaa
sumber

Jawaban:

6

Larangan per / 128 tidak skala ketika subnet dari / 64 ukuran digunakan untuk serangan. Anda akan berakhir dengan 2 ^ 64 entri dalam tabel, berpotensi menyebabkan penolakan layanan.

Pengguna akhir akan selalu menerima / 56 per kebijakan penetapan alamat global. Bisnis akan selalu menerima / 48 per alamat global

Lihat: https://tools.ietf.org/html/rfc6177 / 128 jangan pernah ditugaskan ke server / pengguna, penugasan minimum ke entitas lain (pelanggan server / vps) harus a / 64. Penugasan minimum ke suatu situs harus a / 56. Memberi / 128 secara mendasar rusak dan harus dianggap sebagai kesalahan konfigurasi.

Karena itu saya merekomendasikan pelarangan sementara per / 64, mengingat bahwa pengguna akhir yang khas hanya akan memiliki akses ke 2 ^ 8 / 64s, itu seharusnya tidak memperkenalkan terlalu banyak entri dalam tabel larangan.

Wilco Baan Hofman
sumber
1
Memblokir keseluruhan /64karena satu IP bermasalah akan menyebabkan pengguna yang sah diblokir.
kasperd
1
Ya, tetapi hanya jika mereka berada di situs yang sama .. Jadi ya, pengguna VLAN dapat diblokir di dalam satu gedung. Atau semua VM milik pelanggan jika salah satu VM berperilaku buruk di cloud. Menetapkan / 64 ke beberapa pengguna untuk server bermasalah dalam banyak hal, itu rusak. Tetapi penolakan serangan permukaan layanan per / 64 jauh lebih rendah dibandingkan dengan / 128.
Wilco Baan Hofman
10

Setiap jawaban atas pertanyaan Anda akan melibatkan sejumlah tebakan. Penyebaran IPv6 masih cukup sedikit sehingga kita belum tahu, seperti apa skenario ancamannya.

Sejumlah besar alamat IPv6 akan memperkenalkan beberapa perubahan pada skenario ancaman yang harus Anda pertimbangkan.

Pertama-tama dengan IPv4, sangat mungkin bagi penyerang untuk memindai nomor port default untuk beberapa layanan yang rentan di semua 3700 juta alamat IPv4 yang dapat dirutekan. Serangan yang tidak ditargetkan seperti itu tidak layak dengan IPv6. Serangan-serangan yang masih Anda lihat harus lebih bertarget. Apakah ini berarti kita harus banyak berubah dalam penanganan serangan kita masih harus dilihat.

Tujuan utama pelarangan IP berdasarkan pesan log adalah untuk mengurangi noise dalam log dan sampai batas tertentu untuk mengurangi beban sistem. Seharusnya tidak berfungsi sebagai perlindungan terhadap eksploitasi. Seorang penyerang yang tahu kelemahan akan ada di dalam sebelum pelarangan masuk, jadi untuk melindungi Anda harus menambal kerentanan - seperti yang selalu Anda harus lakukan.

Melarang alamat IPv6 individual mungkin cukup untuk mengurangi kebisingan dalam log. Tapi itu tidak diberikan. Bukan tidak mungkin penyerang dapat menggunakan alamat IP baru dari kisaran yang tersedia untuk setiap koneksi. Jika penyerang berperilaku seperti itu yang melarang alamat IPv6 individu tidak hanya tidak akan efektif, tetapi Anda bahkan dapat secara tidak sengaja menyebabkan serangan DoS pada diri sendiri dengan menggunakan semua memori Anda untuk aturan firewall.

Anda tidak dapat mengetahui panjang awalan yang tersedia untuk setiap penyerang individu. Memblokir awalan yang terlalu pendek akan menyebabkan serangan DoS dengan mencakup pengguna yang sah juga. Memblokir awalan yang terlalu lama tidak akan efektif. Upaya brute force kata sandi khususnya cenderung menggunakan sejumlah besar alamat IPv6 klien.

Agar efektif terhadap penyerang yang mengganti alamat IPv6 pada setiap permintaan dan untuk menjaga penggunaan memori tetap rendah, Anda harus memblokir rentang, dan karena tidak mengetahui panjang awalan di muka, Anda harus menyesuaikan panjang awalan secara dinamis.

Dimungkinkan untuk datang dengan heuristik sudah sekarang. Seberapa baik mereka akan bekerja, kita belum tahu.

Satu heuristik akan untuk setiap panjang awalan untuk menentukan ambang batas berapa banyak IP yang diperlukan untuk memblokir awalan panjang itu. Dan pemblokiran seharusnya hanya diterapkan pada panjang tertentu, jika awalan yang lebih panjang tidak akan cukup. Dengan kata lain, Anda perlu cukup IP yang diblokir secara individual di masing-masing dua setengah untuk benar-benar memulai blok.

Misalnya seseorang dapat memutuskan bahwa untuk memblokir a / 48, harus ada 100 IP yang diblokir di masing-masing dari dua / 49 yang membentuk / 48. Semakin lama awalan semakin kecil jumlah IP yang diperlukan untuk memblokirnya, tetapi dalam setiap kasus mereka harus tersebar di kedua setengahnya.

kasperd
sumber
1
Hampir 5 tahun kemudian, apakah ada pertimbangan ulang terhadap IPv6 dan Fail2ban?
Paul
2

Anda harus tetap melarang satu alamat.

Tidak ditentukan berapa banyak alamat yang akan diberikan kepada pengguna akhir. Beberapa ISP mungkin memberikan seluruh subnet dan yang lainnya hanya satu alamat.

Pierre-Yves Gillier
sumber
Jawaban yang sama untuk pertanyaan kedua Anda. Karena Anda tidak dapat mengetahui pengaturan jaringan mana yang ditentukan di sisi lain, Anda mungkin berakhir dengan memblokir banyak pengguna.
Pierre-Yves Gillier