Cara membuat VPN Killswitch menggunakan iptables di linux
- 2554
- 813
- Jermaine Mohr
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
- « Cara memodifikasi paket rpm menggunakan rpmrebuild
- Cara Mengatur Transmisi-Daemon di Raspberry Pi dan Kontrol melalui Antarmuka Web »