Cara membuat VPN Killswitch menggunakan iptables di linux

Cara membuat VPN Killswitch menggunakan iptables di linux

Objektif

Gunakan iptables untuk memblokir semua koneksi internet jika VPN Anda terputus.

Distribusi

Ini akan bekerja pada distribusi Linux apa pun.

Persyaratan

Instalasi linux yang berfungsi dengan hak istimewa root.

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Perkenalan

Jika Anda terhubung ke VPN, Anda membutuhkan Killswitch. Tidak, ini tidak seperti logam seperti kedengarannya. Itu hanya mekanisme yang menghentikan koneksi internet Anda saat Anda terputus dari VPN. Ini melindungi Anda dari informasi sensitif yang membocorkan secara tidak sengaja ke internet saat koneksi VPN turun.

Beberapa layanan VPN memberi klien killswitch bawaan, tetapi tidak ada yang dapat diandalkan seperti menggunakan iptables. Karena iptables tidak tergantung pada layanan VPN Anda, dan itu terintegrasi ke dalam kernel itu sendiri, itu tidak akan gagal saat VPN Anda melakukannya. Ptables juga merupakan teknologi keamanan yang terbukti baik yang dapat dan akan menjaga komputer Anda aman.



Sysctl

Sebelum Anda mulai membuat aturan iptables, Anda harus membuat beberapa perubahan pada sysctl konfigurasi. Dalam beberapa distribusi, terletak di /etc/sysctl.D/99-SYSCTL.conf. Orang lain memilikinya di /etc/sysctl.conf. Buka file itu, dan temukan baris berikut dan ubah agar sesuai dengan contoh di sini.

bersih.IPv4.ip_forward = 1

Kemudian, tambahkan baris berikut ke bagian bawah file. Pastikan untuk mengubah antarmuka agar sesuai dengan yang ada di mesin Anda.

bersih.IPv6.conf.semua.disable_ipv6 = 1 net.IPv6.conf.bawaan.disable_ipv6 = 1 net.IPv6.conf.lo.disable_ipv6 = 1 net.IPv6.conf.eth0.disable_ipv6 = 1 

Simpan dan keluar. Lalu lari:

# sysctl -p 

Siapkan dokumen

Sekarang Anda dapat membuat file untuk aturan Anda. Tidak masalah di mana Anda membuatnya, jadi buat saja. Itu akan disebut sebagai IPv4 untuk panduan ini.

Mulai file dengan menambahkan baris berikut. Mereka akan menjadi awal dan akhir file.

*filter komit 

Aturan Dasar

Sebelum Anda mengonfigurasi iptables untuk mengizinkan lalu lintas apa pun yang Anda butuhkan untuk beralih default untuk melarang semua lalu lintas. Tambahkan ketiga aturan ini untuk menjatuhkan semua lalu lintas secara default.

-Input p drop -p maju drop -p output drop 


Memasukkan

Paling aman untuk hanya mengizinkan lalu lintas masuk dari koneksi yang sudah ada atau terkait. Mengaturnya berikutnya.

-Input -m Conntrack --ctState terkait, mapan -J menerima 

Loopback dan Ping

Selanjutnya, izinkan antarmuka loopback dan ping.

-Output -o lo -j terima -A output -o tun0 -p icmp -j terima 

Ini mengasumsikan bahwa koneksi VPN Anda aktif tun0. Periksa dengan ip a, Jika Anda tidak yakin.

Lan

Tidak masuk akal untuk mematikan atau memblokir lalu lintas LAN Anda, terutama di jaringan rumah, jadi biarkan itu juga.

-Output -d 192.168.1.0/24 -J Terima 

DNS

Untuk bagian selanjutnya, Anda perlu mengetahui alamat IP server DNS VPN Anda. Jika VPN Anda memiliki akses atau Anda resolv.conf, Anda mungkin akan menemukannya saya di sana.

-Output -d 10.45.16.1 -J Terima 

Izinkan VPN

Tentu saja, Anda perlu mengizinkan VPN itu sendiri. Ada dua bagian untuk ini. Anda perlu mengizinkan port layanan dan antarmuka.

-Output -p udp -m udp --dport 1194 -j terima -A output -o tun0 -j terima 

Sekali lagi, periksa port dan antarmuka yang digunakan koneksi VPN Anda.

Anda bisa berhenti di sini. Ini akan bekerja dengan baik untuk pembunuhan. Namun, jika Anda ingin iptables berfungsi sebagai firewall biasa dan memblokir koneksi pada port yang tidak diinginkan juga, Anda dapat melakukannya.

Dari sini, Anda akan menghapus jalur terakhir yang menerima semua lalu lintas tun0, dan menggantinya dengan tunjangan spesifik untuk port yang ingin Anda izinkan.

-Output -o tun0 -p tcp --dport 443 -j accept -a output -o tun0 -p tcp --dport 80 -j accept -se output -o tun0 -p tcp --dport 993 -j accept -se output -o tun0 -p TCP - -DPOR 465 -J Terima 

Anda mendapatkan ide umum. Itu lebih panjang dan lebih membosankan, tetapi memberi Anda lebih banyak kendali atas apa yang lalu lintas lalu lintas.



IPv6

IPv6 sangat buruk untuk VPN sekarang. Sebagian besar tidak mendukungnya secara memadai, dan informasi Anda dapat bocor tentang koneksi itu. Yang terbaik adalah mematikannya sama sekali.

Buat file lain untuk IPv6 dan blokir semuanya.

-Input p drop -p maju drop -p output drop 

Melakukan

Anda perlu mengimpor file Anda ke IPLABLES agar dapat berlaku. Pertama, bersihkan aturan lama.

# ptables -f && ptables -x 

Impor yang baru dari file Anda.

# ptables-Restore < /tmp/ipv4 # ip6tables-restore < /tmp/ipv6 

Membuatnya permanen

Ptables tidak menyimpan statusnya setelah reboot secara default. Anda perlu mengaturnya sendiri.

Debian/Ubuntu

Sistem berbasis Debian memiliki program yang disebut, eptables-fersistent. Ini adalah layanan yang menangani cadangan dan memuat konfigurasi Anda.

Saat Anda menginstalnya, eptables-fersistent akan menanyakan apakah Anda ingin menyimpan konfigurasi yang ada. Bilang iya.

# apt instal ptables-persistent 

Karena sistem debian menjalankan layanan pada startup secara default, Anda tidak perlu melakukan hal lain.



Systemd lainnya

Sistem lain memiliki beberapa cara berbeda untuk menangani ini. Yang pertama adalah mengedit /etc/sysconfig/iptables-config. Akan ada satu dari dua baris di sana. Edit salah satu yang harus Anda terlihat seperti berikut.

Ptables_save_on_stop = "ya" atau iptables_save_on_restart = "ya" 

Cara lain adalah menggunakan fungsi save and restore dari ptables. Buat direktori tempat Anda ingin menyimpan aturan Anda.

# mkdir/etc/ptables/ # ptables-save>/etc/ptables/ptables.Aturan # ip6tables-save>/etc/ptables/ip6tables.aturan 

Kemudian, buat skrip untuk memuat aturan itu saat komputer Anda.

#! /bin/bash ptables-Restore < /etc/iptables/iptables.rules; ip6tables-restore < /etc/iptables/ip6tables.rules; 

OpenRC

Sistem OpenRC seperti Gentoo memiliki cara mereka sendiri untuk menyimpan konfigurasi.

# RC-Service Iptables Simpan # RC-Service IP6Tables Simpan # RC-Service Iptables Start # RC-Service IP6Tables Mulai # RC-update Add IPLABLES DEFAULT # RC-UPDATE Tambahkan IP6Tables Default 

Menutup pikiran

Menggunakan killswitch berbasis iptables membuat VPN Anda jauh lebih aman. Data bocor membuat benar -benar mengalahkan tujuan menggunakan VPN, jadi menghentikan kebocoran harus menjadi prioritas utama.

Jangan percaya apa yang disebut killswitch yang dipanggang menjadi klien VPN. Kebanyakan tidak berhasil. Satu -satunya cara untuk benar -benar memastikan bahwa data Anda tidak bocor adalah dengan melakukannya sendiri dengan iptables.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Instal Arch Linux di VMware Workstation
  • Unduh Linux
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Perintah Linux Dasar
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Instalasi Manjaro Linux