Saya ingin memblokir beberapa situs web yang juga berjalan di https, seperti facebook, twitter, dan gmail, di organisasi saya. Squid tidak seharusnya digunakan di sini sesuai pesanan dari manajemen yang lebih tinggi. Kita bisa menggunakan Untangle Lite Package dan iptables
.
Apakah ada opsi selain Squid untuk melakukan ini? Juga beberapa iptables
aturan untuk memblokir lalu lintas semacam ini akan sangat membantu.
aku menemukan ini
iptables -t filter -I INPUT -m string --string facebook.com -j LOG --algo bm
iptables -t filter -I INPUT -m string --string facebook.com -j REJECT --algo bm
tetapi https masih berfungsi pada mesin kecuali mesin lokal.
Jawaban:
Alih-alih mencocokkan berdasarkan URL, coba cocokkan berdasarkan konten sertifikat.
Anda juga dapat mencocokkan dengan sidik jari tetapi jika tujuan mengubah atau memperbarui sertifikat mereka, itu akan membatalkan aturan Anda.
sumber
nat
tabel (dan tidak ada rantai INPUT di tabel nat), saya pikir Anda bermaksud difilter
sana. Juga, ada peluang (sangat) jauh yang cocok dengan paket di mana 443 adalah port klien-p tcp
aturan, ini tampaknya tidak menjadi sesuatu yang berguna ..Firewall tidak dapat mengontrol URL HTTPS mana yang coba diakses oleh klien, karena URL dienkripsi. Firewall hanya dapat mengontrol situs mana yang disambungkan klien, menggunakan alamat IP, tetapi ini tidak membantu jika versi HTTP dan HTTPS situs berada pada URL yang sama (dan bahkan jika tidak, Anda harus untuk memelihara daftar besar alamat IP).
Satu-satunya cara realistis untuk memblokir HTTPS adalah dengan memblokirnya sama sekali. Bersikeras bahwa semua koneksi harus HTTP yang valid (yaitu klien mulai dengan mengirim
HTTP
garis, dan sebagainya). Ini tidak dapat dilakukan hanya dengan IPtables, Anda memerlukan proxy yang sadar protokol seperti Squid. (Saya tidak tahu apa yang bisa dilakukan Untangle Lite.)Anda dapat memblokir sebagian besar lalu lintas HTTPS dengan memblokir lalu lintas keluar ke port 443, karena hampir semua server HTTPS ada di port itu. Atau, mengikuti pendekatan daftar putih, hanya mengizinkan lalu lintas keluar ke port 80 (port HTTP normal).
Pendekatan yang berbeda adalah dengan mem-proxy semua koneksi HTTP dan HTTPS. Lalu Anda bisa mencocokkan dengan URL. Ini membutuhkan melakukan serangan man-in-the-middle pada klien. Anda dapat melakukannya jika Anda menggunakan otoritas sertifikasi Anda sendiri untuk semua mesin klien dan mendaftarkannya di sana sebagai akar kepercayaan. Ini mungkin dianggap tidak etis.
Apa pun yang Anda lakukan, pengguna yang ditentukan akan membuat proxy di luar lingkungan Anda dan menjalankan IP melalui HTTP atau sesuatu seperti itu.
Anda tampaknya berusaha memperbaiki masalah sosial dengan cara teknis, yang hampir tidak pernah berhasil, atau melakukan yang terbaik untuk menerapkan persyaratan konyol dari manajemen (dalam hal ini, saya akan pergi dengan memblokir port 443, mungkin hanya untuk IP tertentu, yang akan memungkinkan Anda untuk melaporkan bahwa Anda telah melakukan pekerjaan Anda, tidak peduli seberapa tidak berguna).
sumber
Saya tahu satu opsi.
Jika Anda memiliki server DNS internal untuk digunakan, maka letakkan beberapa referensi statis di data zona TLD Anda yang menyelesaikan domain (bahwa Anda tidak ingin membuat koneksi luar) menjadi hanya 127.0.0.1. Dengan cara ini, semua host yang menggunakan DNS pusat dalam jaringan Anda akan menyelesaikan (facebook.com/twitter.com per se) domain menjadi alamat loopback, yang tidak akan mengarah ke mana pun.
Ini akan berfungsi jika Anda memiliki kontrol otoritatif total pada konfigurasi penyelesai mesin klien jaringan Anda. Jika workstation / klien memiliki izin untuk mengubah / mengedit / etc / hosts, atau /etc/resolv.conf maka mereka dapat menghindari opsi ini.
sumber
/etc/hosts
file. Misalnya:127.0.0.1 www.facebook.com
Pilihannya adalah rute blackhole ke blok jaringan: (Terdaftar untuk FB)
sumber
Filter konten biasa tidak dapat memblokir situs ssl.
Gunakan alat perlindungan intrusi seperti snort / suricata.
Contoh aturan IPS : Untuk memblokir URL ssl untuk alamat IP tertentu.
drop ip any 443 -> 192.168.3.30 any (content:".facebook.com"; msg:"Simplewall Ssl block for User30 : Urls => .facebook.com " sid:26648513;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".fbcdn.net"; msg:"Simplewall Ssl block for User30 : Urls => .fbcdn.net " ;sid:11469443;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".youtube.com"; msg:"Simplewall Ssl block for User30 : Urls => .youtube.com " ;sid:13989722;rev:1;)
Unduh Simplewall : Dalam aturan kebijakan firewall yang dibagi oleh Squid + Suricata IPS.
sumber
Anda harus meletakkan ini di rantai FORWARD, mis
Ini akan memengaruhi sistem lain di jaringan, kecuali firewall.
sumber