Beberapa metode yang lebih aman untuk menggunakan IPv6 publik

Beberapa orang memiliki kebutuhan menggunakan IPv6 publik untuk kembali ke rumah, berbeda dengan VPN seperti tailscale/zerotier yang memerlukan penembusan jaringan internal untuk membuat koneksi langsung, kembali ke rumah menggunakan IPv6 adalah koneksi langsung, sebagian besar jaringan seluler ponsel memiliki IPv6, sangat nyaman untuk kembali ke rumah.

Sebelumnya saya pernah berbagi sebuah artikel Penggunaan Subdomain DDNS umum oleh broadband rumahan dapat menyebabkan penurunan kualitas layanan broadband oleh China Telecom, yang menggambarkan jebakan yang digali operator saat menggunakan IPv6, secara singkat dapat dikatakan bahwa domain akan di-scan, mengungkapkan domain sendiri sama dengan mengungkapkan IPv6, sehingga mungkin akan di-scan, setelah menemukan layanan maka koneksi masuk yang banyak akan menurunkan kualitas layanan broadband.

Artikel berbagi tersebut hanya menyebutkan pemindaian domain, tidak menyebutkan pemindaian ruang siber, pemindaian jenis ini tidak peduli dengan informasi yang terbuka, langsung melakukan pemindaian menyeluruh terhadap pool IP, kondisi seperti ini cukup sulit untuk dicegah.

Pemindaian ruang siber umumnya mencakup beberapa aspek berikut:

  • Deteksi kelangsungan hidup IP: menggunakan protokol seperti ARP, ICMP, TCP untuk mengidentifikasi host online.
  • Deteksi port/layanan: melalui pemindaian port menyaring port terbuka host online, dan mendapatkan informasi layanan, informasi versi, serta informasi sistem operasi host target.
  • Deteksi sistem operasi: melalui analisis paket respons untuk menyimpulkan jenis dan versi sistem operasi host target.
  • Pengumpulan lalu lintas: memantau lalu lintas jaringan untuk menemukan perilaku abnormal atau pola serangan.
  • Alias resolution: terhadap router yang memiliki beberapa alamat IP, membangun hubungan pemetaan antara alamat IP dan router.
  • Deteksi DNS: melalui reverse resolution alamat IP untuk membangun hubungan korespondensi antara alamat IP dan domain.

Berikut berbagi beberapa metode untuk menghindari terpindai oleh pemindaian ruang siber:

  1. Server DNS internal tidak mengembalikan catatan AAAA
  2. Layanan internal hanya mengizinkan akses melalui domain, tidak mengizinkan akses langsung melalui IP
  3. Menggunakan layanan DNS pribadi AdGuardPrivate

Server DNS internal tidak mengembalikan catatan AAAA

Saat online dan mengunjungi berbagai situs web, akses alami semacam ini dapat mengekspos sumber IPv6, server pihak lain dapat memperoleh sumber IPv6, jika sisi pengguna tidak membuka firewall, IPv6 ini dapat dimasukkan ke dalam pool traversing prioritas pemindaian ruang siber.

Juga dapat menempatkan alamat IPv6 prefix /56 ke dalam pool scanning, hanya melakukan traversing pada 16 bit rendah, jangkauan scanning juga dapat dikurangi secara signifikan.

Berdasarkan pengalaman saya menggunakan IPv6 selama bertahun-tahun, tidak ada perbedaan yang jelas antara IPv6 dan IPv4 saat browsing web sehari-hari. Oleh karena itu kita dapat mengorbankan akses keluar IPv6, hanya digunakan untuk kembali ke rumah secara langsung.

Metode pengaturan untuk tidak mengembalikan resolusi IPv6

Pada server DNS internal, atur agar tidak mengembalikan catatan AAAA.

Layanan DNS internal biasanya menggunakan AdGuardHome, referensi pengaturan:

Pengaturan Nonaktifkan IPv6

Setelah pengaturan, perangkat internal jaringan saat mengakses internet hanya akan menggunakan IPv4, tidak akan menggunakan IPv6 lagi.

Layanan internal hanya mengizinkan akses melalui domain

Mungkin layanan yang terbuka di rumah dapat diakses berdasarkan port, ini sangat mudah terdeteksi.

Lebih baik saat membuat layanan, jangan melakukan pengaturan untuk listen pada 0.0.0.0 dan ::, mereka yang berpengalaman akan memahami, hampir semua panduan startup layanan secara default hanya listen pada 127.0.0.1 dan ::1, karena listen pada IP publik memiliki risiko.

Metode pengaturan reverse proxy hanya mengizinkan domain

Contoh nginx

Kuncinya adalah mengatur server_name menjadi domain, jangan mengatur menjadi _ atau IP.

server {
    listen 80;
    server_name yourdomain.com; # Ganti yourdomain.com dengan domain aktual Anda

    # Mengembalikan 403 Forbidden kepada pengguna yang mencoba mengakses melalui alamat IP
    if ($host != 'yourdomain.com') {
        return 403;
    }

    location / {
        # Ini adalah direktori root situs web Anda dan konfigurasi lainnya
        root /path/to/your/web/root;
        index index.html index.htm;
    }

    # Konfigurasi lainnya...
}

Contoh IIS

Kuncinya adalah mengatur host name menjadi domain, jangan dibiarkan kosong.

Contoh IIS

Menggunakan layanan DNS pribadi

Tambahkan resolusi kustom pada layanan DNS pribadi yang hanya Anda gunakan, menggunakan domain palsu untuk mengarahkan ke layanan internal jaringan.

Fungsi Penulisan Ulang DNS

Melakukan hal ini memiliki beberapa keuntungan yang jelas.

  1. Pertama, domain dapat dibuat sesuka hati, tidak perlu membeli domain, menghemat biaya domain. Jika domain palsu ini terdeteksi, maka penyerang perlu meminta layanan DNS pribadi Anda untuk mendapatkan hasil resolusi yang benar.
  2. Perlu mengekspos alamat layanan DNS pribadi Anda, serta domain virtual, kemudian pemindai perlu memodifikasi logika resolusi domain, meminta server DNS pribadi yang terbuka untuk resolusi domain, lalu mengisi domain virtual ke dalam Headers permintaan yang dibangun, baru bisa memulai pemindaian.
sequenceDiagram
  participant Scanner as Pemindai Jaringan
  participant DNS as Server DNS Pribadi
  participant Service as Layanan Internal Jaringan

  Scanner->>DNS: 1. Menemukan alamat server DNS pribadi
  Scanner->>DNS: 2. Meminta resolusi domain virtual
  DNS-->>Scanner: 3. Mengembalikan IP layanan internal jaringan
  Scanner->>Service: 4. Membangun Headers menggunakan domain virtual
  Note right of Service: Jika tidak ada domain virtual yang benar di Headers<br/>maka akses ditolak
  alt Headers benar
    Service-->>Scanner: 5a. Mengembalikan respons layanan
  else Headers salah
    Service-->>Scanner: 5b. Mengembalikan kesalahan 403
  end

Hanya setelah pemindai menyelesaikan semua langkah di atas, mungkin bisa memindai layanan internal jaringan, ini sangat meningkatkan kesulitan pemindaian.

Dapat membuat layanan DNS pribadi di AdGuardPrivate, menggunakan fungsi resolusi kustom untuk menambahkan domain palsu, tentu saja juga bisa menggunakan dnspod.cn.

Perbedaan layanan yang disediakan oleh kedua penyedia ini cukup besar, AdGuardPrivate adalah AdGuardHome asli yang dimodifikasi, fungsinya jauh lebih banyak daripada dnspod, silakan evaluasi sendiri.

Ringkasan

  1. Server DNS internal tidak mengembalikan catatan AAAA
    • Prasyarat
      • Memiliki IPv6 publik
      • Memiliki server DNS internal
    • Pengaturan
      • Tidak mengembalikan catatan AAAA
  2. Layanan internal hanya mengizinkan akses melalui domain, tidak mengizinkan akses langsung melalui IP
    • Prasyarat
      • Memiliki domain sendiri
      • Penyedia domain menyediakan DDNS
      • Memiliki layanan reverse proxy internal jaringan
    • Pengaturan
      • Mengatur tugas DDNS
      • Hanya mengizinkan akses melalui domain
  3. Menggunakan layanan DNS pribadi
    • Prasyarat
      • Memiliki layanan DNS pribadi
      • Layanan DNS pribadi menyediakan resolusi kustom
      • Layanan DNS pribadi menyediakan DDNS
    • Pengaturan
      • Mengatur tugas DDNS
      • Menambahkan resolusi kustom, domain palsu mengarah ke layanan internal jaringan

Akhirnya,

  • Yang paling sederhana dan paling aman untuk kembali ke rumah secara langsung adalah tailscale/zerotier yang berhasil melakukan penembusan jaringan internal, tetapi terkadang karena berbagai alasan jaringan penembusan tidak berhasil.
  • Jangan sembarangan terhubung ke Wifi asing, bisa langsung bocor semua informasi sekaligus. Dapatkan kartu data besar, untuk sementara serahkan kepercayaan kepada operator, bagi yang butuh kartu data besar murah bisa hubungi saya (bukan), saya juga butuh.