วิธีบล็อกการเข้าถึงอินเทอร์เน็ตสำหรับแอปพลิเคชัน


8

ฉันต้องการค้นหาวิธีเรียกใช้แอปพลิเคชันป้องกันไม่ให้เข้าถึงอินเทอร์เน็ตโดยอาจไม่ต้องติดตั้งโปรแกรมเฉพาะเพื่อทำสิ่งนี้ คำตอบส่วนใหญ่ที่ฉันพบอ้างถึงโพสต์นี้ดังนั้นฉันจึงลองวิธีนี้ กล่าวโดยย่อคือฉันสร้างกลุ่มที่ไม่มีอินเทอร์เน็ต (ด้วยคำสั่งniที่เกี่ยวข้อง) และฉันเปิดใช้แอปพลิเคชันโดยใช้กลุ่มนี้ แต่นั่นไม่ได้ผลอย่างสมบูรณ์อาจเป็นเพราะโพสต์นั้นมาจากปี 2009 และมีการเปลี่ยนแปลงบางอย่างใน iptables (ฉันใช้ Ubuntu 14.04) ตัวอย่างเช่นถ้าฉันรันni "ping google.com"เอาต์พุตคือping: sendmsg: Operation not permittedดังนั้นโซลูชันใช้งานได้ดี แต่ด้วยโปรแกรมอื่น ๆ เช่น Firefox หรือ wget (เช่นni firefox) การเชื่อมต่ออินเทอร์เน็ตยังคงใช้งานได้ ฉันจะแก้ปัญหาได้อย่างไร

คำตอบ:


3

คุณสามารถใช้apparmorเพื่อปฏิเสธการรับส่งข้อมูลเครือข่ายสำหรับบางแอปพลิเคชัน ก่อนอื่นคุณต้องติดตั้งapparmorและapparmor-utils..

sudo apt-get install apparmor*

หลังจากนั้นคุณสามารถสร้างโปรไฟล์ให้กับแอปพลิเคชันของคุณ ...

sudo aa-genprof /usr/bin/google-chrome

ขั้นตอนต่อไปคือการเปลี่ยนNetworkingส่วนในโปรไฟล์เป็น:

sudo nano /etc/apparmor.d/usr.bin.chromium-browser

audit deny network,
audit deny network inet stream,
deny network inet6 stream,
deny @{PROC}/[0-9]*/net/if_inet6 r,
deny @{PROC}/[0-9]*/net/ipv6_route r,
deny capability net_raw,

จากนั้นตรวจสอบการกำหนดค่าด้วย apparmor_parser และโหลดการกำหนดค่าใหม่

sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser

โหมดการเปลี่ยนแปลงจากcomplainการenforceaka เปิดapparmorสำหรับแอปนี้

sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser

คู่มือเพิ่มเติมคุณสามารถค้นหาได้ที่นี่และที่นี่และที่นี่


มันไม่ทำงาน. โปรดทราบว่าฉันได้เพิ่มบรรทัดในไฟล์/etc/apparmor.d/usr.bin.APPNAMEหลังบรรทัด/usr/bin/APPNAME r,และฉันไม่รู้ว่ามันถูกต้องหรือไม่
ᴜsᴇʀ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.