OpenSnitch Firewall Aplikasi Interaktif untuk GNU/Linux
(github.com/evilsocket)- OpenSnitch adalah firewall aplikasi untuk GNU/Linux yang berfokus pada pemfilteran interaktif koneksi keluar aplikasi
- Dapat memblokir domain iklan, pelacak, dan malware di seluruh sistem, dan firewall sistem berbasis nftables juga bisa dikonfigurasi dari GUI
- GUI mendukung konfigurasi aturan sistem seperti pengaturan kebijakan input dan mengizinkan layanan masuk, serta memungkinkan pengelolaan beberapa node secara terpusat
- Instalasi dilakukan dengan mengunduh paket deb/rpm lalu memasangnya dengan
aptataudnf, kemudian menjalankanopensnitch-uiatau membuka GUI dari menu aplikasi - Menyediakan ruang diskusi Show and tell untuk berbagi kasus saat koneksi tak terduga dicegat, serta fitur integrasi SIEM sehingga dapat dimanfaatkan untuk pemantauan koneksi di lingkungan operasional
Apa yang dilakukan OpenSnitch
- OpenSnitch adalah firewall aplikasi GNU/Linux
- Fitur intinya adalah memfilter koneksi keluar aplikasi secara interaktif
- Mendukung pemblokiran iklan, pelacak, dan domain malware di seluruh sistem
Fitur firewall dan pengelolaan node
- Dari GUI, Anda dapat mengonfigurasi pengaturan firewall sistem
- Menangani konfigurasi berbasis nftables
- Dapat mengatur kebijakan input, mengizinkan layanan masuk, dan lainnya
- Anda dapat mengelola beberapa node dari GUI terpusat
- Mendukung integrasi SIEM
Unduh dan instalasi
- Paket deb/rpm dapat diunduh dari GitHub Releases
- Instalasi paket deb:
sudo apt install ./opensnitch*.deb ./python3-opensnitch-ui*.deb
- Instalasi paket rpm:
sudo dnf install opensnitch*.rpm
- Setelah instalasi, jalankan
opensnitch-uiatau buka GUI dari menu aplikasi - Untuk informasi instalasi lebih rinci, lihat dokumentasi
Kasus penggunaan dan partisipasi
- Contoh saat OpenSnitch mencegat koneksi tak terduga dikumpulkan di diskusi Show and tell
- Jika menemukan koneksi tak terduga, Anda dapat mengirimkannya sebagai diskusi baru
Informasi proyek
- OpenSnitch menggunakan lisensi GPL3
- Dukungan dapat diberikan melalui bagian Sponsor this project di sisi kanan repositori GitHub
- Pemelihara saat ini dapat dilihat di riwayat commit branch master
- Daftar kontributor dapat dilihat di grafik contributors
- Terjemahan dikelola melalui Weblate
1 komentar
Komentar Hacker News
Saya sudah berkali-kali mencoba memakai OpenSnitch sebagai firewall interaktif, tetapi ada masalah yang bahkan saya tidak tahu apakah bisa diselesaikan—bukan berarti ini salah OpenSnitch
Misalnya, saat menjalankan
curldi terminal, setiap kali harus memutuskan apakah akan mengizinkannya, atau memasukkannya ke allowlist secara permanenNamun jika alat serbaguna seperti
curlatauwgetdiizinkan, malware di mesin yang sudah dibobol juga bisa memakai alat itu untuk keluar ke internet tanpa peringatan firewall, sehingga pintunya terbuka lebarRasa aman bahwa setiap akses baru akan meminta izin membuat kerepotan awal sepadan, dan setelah terbiasa, pengelolaannya juga cukup mudah
Saya juga sering memakai aturan kedaluwarsa. Misalnya jika memercayai sebuah installer dan ingin memberinya kebebasan sementara, saya membuka aturan untuk executable itu yang akan kedaluwarsa dalam waktu dekat. Opsinya permanen, sampai reboot, 30 detik berikutnya, 5 menit berikutnya, dan seterusnya; pekerjaan dengan banyak endpoint pun jadi jauh lebih sederhana tanpa meninggalkan lubang permanen
curl/wgetuntuk penggunadev, sambil tetap mendeteksinya dari penggunanormalPekerjaan pengembangan bisa dijalankan dengan
su -c curl … dev, misalnyaJika program jahat berjalan di ruang pengguna biasa, app firewall dapat menangkap penggunaan
curldanwgetdengan semestinyaKarena memasukkan kata sandi setiap kali itu merepotkan, PAM juga bisa diatur memakai YubiKey atau autentikasi biometrik, dan pengguna ini sebaiknya tidak bisa login serta tidak punya kata sandi
curlatauwgetjuga bisa diganti namanyaDi ponsel saya memakai firewall tingkat aplikasi, tetapi bukan dengan memasukkan nama program ke allowlist; yang diizinkan adalah program tertentu mengakses domain/alamat IP tertentu
Dari pengalaman, cara termudah memblokir komunikasi keluar program atau malware adalah memblokir akses DNS. Saya sudah melakukannya selama puluhan tahun dan sampai sekarang masih bekerja sempurna. “99%” program/malware yang berkomunikasi keluar bergantung pada DNS, bukan IP yang di-hardcode
Program/malware langka yang tidak membutuhkan DNS juga mudah dideteksi, dan di DNS saya hanya mengizinkan domain tertentu. Saat ini saya bahkan tidak memakai file zone lokal berisi alamat IP yang diperlukan; forward proxy menangani pemetaan domain→IP. Allowlist yang dibaca proxy mirip file zone, tetapi berupa file teks yang lebih sederhana
curllolos jika parent command-nya adalah perintah tepercaya, misalnyabash/zshmilik pengguna, dan diblokir jika tidak. Meski tampaknya cukup merepotkanMisalnya, jika
curldijalankan dan saat menelusuri daftar parent ditemukan proses/usr/bin/trusted, Anda seharusnya bisa mendeklarasikan agar pemanggilancurlini diizinkan. Dengan begitu, selama parent dari skrip bash adalah/usr/bin/trusted, eksekusicurldari skrip itu bisa diizinkanInilah yang akhirnya membuat saya pindah ke NixOS
Dulu saat memakai app firewall, konfigurasinya banyak, sering rusak saat update mengubah path, dan setiap pindah ke komputer baru semuanya harus diulang, jadi churn dan pemborosannya besar
Setelah diintegrasikan dengan package manager, masalah itu hilang. Setelah konfigurasi awal allowlist selesai, hanya perlu sedikit pekerjaan saat menambahkan paket baru ke konfigurasi nix
Jika malas menambahkan allowlist ke konfigurasi nix, saya bisa memasukkan allowlist sementara yang hanya bertahan sampai reboot berikutnya. Kurva belajarnya curam dan pekerjaannya banyak, tetapi sekarang pemeliharaannya sangat mudah
Bagus untuk menemukan aplikasi ceroboh yang membuat terlalu banyak koneksi. Thunderbird, saya sedang bicara tentang kamu
Saya suka, tetapi ada sedikit ketidaknyamanan. Aturan sementara yang sudah kedaluwarsa tidak dihapus atau tidak ditampilkan di antarmuka, jadi sesekali GUI perlu direstart untuk membersihkannya
Di Fedora, saya bisa merekomendasikan ini daripada mengutak-atik firewalld/firewall-config
dnfyang setiap kali update menjelajah ke berbagai penjuru benua?https://news.ycombinator.com/item?id=41124755
Bisa saja diizinkan begitu saja, tetapi saya tidak ingin melakukannya
Saya berharap ada fungsi seperti ini saat menjalankan API atau layanan web di container Docker
containerA: izinkan semua trafik outboundcontainerB: blokir trafik outbound kecuali saat merespons kliencontainerC: hanya boleh mengaksesupdates.example.comApakah ini sekadar iptables per container? Mungkin bisa menyisipkan iptables ke image yang sudah ada, tetapi tampaknya banyak pekerjaan. Atau apakah caranya ditangani dengan iptables di host?
Apakah ada yang seperti ini untuk ponsel Android? Saya penasaran dengan rekomendasi yang bagus
https://netguard.me
Saya lama memakai AFWall+, dan kontrol untuk mengizinkan atau memblokir Wi-Fi, seluler, dan LAN per aplikasi cukup rapi. Karena ini frontend iptables/nftables, Anda bisa menyesuaikan aturan sebanyak yang diinginkan: https://github.com/ukanth/afwall
Berfungsi sejak Android 2+
Tanpa root, yang mungkin hanya solusi berbasis VPN seperti Adguard
Jika butuh statistik, ada juga GlassWire versi Android. Saya hanya pernah mencoba betanya, jadi tidak tahu kondisinya sekarang, tetapi layak dicek
"Rethink: DNS + Firewall + VPN"punya fitur serupaSaya beralih ke ini dari NetGuard yang disebutkan di atas
Akan bagus jika ada paket untuk Arch dan OpenSUSE juga
opensnitch, dan di AUR adaopensnitch-ebpf-moduleBagaimana dibandingkan dengan sesuatu seperti UFW? Saya penasaran apakah intinya adalah UI untuk melihat aktivitas yang sedang berlangsung
Jika aplikasi sembarang melakukan panggilan telemetri, Anda bisa membuat white/greylist secara terperinci, misalnya apakah hanya koneksi dari executable ini ke alamat ini yang diizinkan, atau alamat ini selalu diizinkan; ada juga opsi durasi seperti sekali saja, selama 15 detik, sampai reboot, dan sejenisnya
Setelah melewati hambatan awal memasukkan aplikasi yang digunakan dan dipercaya ke allowlist, ini cukup bagus, dan memperlihatkan dengan baik hal-hal yang sebelumnya tidak Anda ketahui dilakukan oleh aplikasi atau game
Apakah ada rencana mem-porting ini ke macOS? Saya memakai Little Snitch cukup lama, tetapi lebih menyukai open source karena alasan yang tidak terkait pembayaran
Saya beberapa kali mencoba memakainya secara sporadis, tetapi crash acak terlalu sering terjadi sehingga cukup sulit digunakan