จะบล็อกการเชื่อมต่ออินเทอร์เน็ตสำหรับแอปพลิเคชั่นไวน์ได้อย่างไร


37

เราจะป้องกันแอปพลิเคชั่นที่เฉพาะเจาะจงหรือไวน์ใด ๆ จากการเข้าถึงอินเทอร์เน็ตได้อย่างไร?

เมื่อใช้แอปพลิเคชั่นบางอย่างใน Windows พวกเขาพยายามเข้าถึงอินเทอร์เน็ตเป็นครั้งคราวโดยไม่มีเหตุผลที่ชัดเจน ฉันสามารถป้องกันพฤติกรรมนั้นด้วยไฟร์วอลล์ส่วนบุคคลได้ในตอนนั้น น่าเสียดายที่ฉันไม่พบไฟร์วอลล์ระดับแอปพลิเคชันใน Ubuntu จนถึงขณะนี้ สิ่งนี้น่ารำคาญเป็นพิเศษเมื่อฉันอยู่ต่างประเทศโดยใช้การโรมมิ่งข้อมูลกับโมเด็ม 3G ของฉัน


คุณสามารถลองโหลด noinet ของฉันได้ askubuntu.com/questions/249826/…
escor

คำตอบ:


28

มีการกวดวิชาที่ดีในการปิดกั้นโปรแกรมใด ๆ ที่ได้รับจากการเข้าถึงอินเทอร์เน็ตบนเป็นฟอรั่มอูบุนตู

ขั้นตอน

sudo addgroup no-internet  # Create group "no-internet"
sudo adduser $USER no-internet  # Add current user to no-internet

กฎ iptables เพื่อป้องกันไม่ให้กลุ่มนั้นเข้าถึงเครือข่าย

sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic

กระบวนการที่คุณไม่ต้องการให้มีการเข้าถึงอินเทอร์เน็ตโดยใช้sg หรือsudo -g (ดำเนินการคำสั่งเป็นรหัสกลุ่มที่แตกต่างกัน):

sg no-internet -c "processFullPath args"

โดยทั่วไปจะเกี่ยวข้องกับการสร้างกลุ่มใหม่ปฏิเสธการเข้าถึงอินเทอร์เน็ตจากนั้นเรียกใช้โปรแกรมใด ๆ ที่คุณต้องการ จำกัด เป็นรหัสกลุ่มนั้น ดังนั้นในกรณีของคุณคุณมักจะรันไวน์โดยใช้วิธีที่อธิบายไว้ในบทช่วยสอน


2
ขอบคุณนั่นแหล่ะ! แต่ฉันไม่เข้าใจว่าทำไมมีคนโหวตคุณ คำตอบของคุณคือสิ่งที่ฉันหวังไว้
YSN

มันเป็นคำตอบที่ดีถ้าคุณไปที่ลิงค์ แต่ฉันสงสัยว่า DV เป็นเพราะมันเป็นคำตอบของลิงก์ส่วนใหญ่ ถ้าคุณต้องการวิธีคุณต้องไปที่ฟอรัม ที่กล่าวว่ามันได้ upvote จากฉัน
RobotHumans

1
ในการทำอย่างละเอียด: เพื่อเรียกใช้คำสั่งภายใต้กลุ่มใหม่ให้ใช้: sg no-internet -c "command args". หมายเหตุ: เห็นได้ชัดว่ากฎ iptable นี้ไม่ส่ง Ping ดังนั้นหากคุณทดสอบว่ามันใช้งานได้หรือไม่ให้ใช้ netcat แทน แก้ไข : ฉันยังตั้งข้อสังเกต: มันไม่ได้ลดลงการเชื่อมต่อ IPv6 ดังนั้นคุณมีเพียงบล็อก UDP และ TCP ของ IPv4
Hi-Angel

1
@ Hi-แองเจิลควรอาจจะ args เดียวกัน ip6tablesแต่มี
Pablo

16

สร้างกลุ่มและเป็นสมาชิกของกลุ่ม

addgroup wino

adduser $USER wino

ตอนนี้ป้อนiptablesกฎเพื่อบล็อกกลุ่มนั้นไม่ให้ใช้อินเทอร์เน็ตคุณสามารถพิมพ์สิ่งนี้บนเทอร์มินัลแล้วกด Enter

iptables -A OUTPUT -m owner --gid-owner wino -j REJECT

เพื่อให้กฎนี้ทำงานหลังจากรีบูตแต่ละครั้งด้วย systemd ใช้iptables-persistent saveจากiptables-persistentแพคเกจ

ถ้าใช้ rc-local : คุณสามารถใส่กฎ/etc/rc.localได้ exit 0ตรวจสอบให้แน่ใจบรรทัดสุดท้ายในแฟ้มข้อความที่ระบุว่า

ตัวอย่างการใช้งาน:

sg wino "wine executablename.exe"

คุณต้องการ" "และพิมพ์ไวน์ก่อนชื่อโปรแกรม


2
ฉันได้แก้ไขของคำสั่งที่จะเพิ่มusermod -aโดยไม่ต้อง-aคุณจะจบลงด้วยการลบผู้ใช้จากกลุ่มเสริมอื่น ๆ ทั้งหมด (เช่นadmin, cdromฯลฯ )! นอกจากนี้ยังสะดวกมากขึ้นในการใช้งาน/addgroup adduser
gertvdijk

เป็นเพียงเกี่ยวกับการแก้ไข -a ตัวเอง ใช่อย่าเริ่มต้นไวน์ด้วยการหยั่งราก! ต้องการเพียงรากเพื่อสร้างกฎ iptables ตัวอย่างการใช้งานสำหรับผู้ใช้ปกติหลังจากทำตามขั้นตอนเหล่านั้น
ทำเครื่องหมาย

ขอโทษด้วยนะความผิดของฉัน ลบความคิดเห็นแล้ว
gertvdijk

@ gertvdijk ฉันแก้ไขคำสั่งอีกครั้งadduser <username> <groupname>เป็นสิ่งที่สมเหตุสมผลที่นี่
guntbert

1
มีความเป็นไปได้หรือไม่ที่จะทำให้เป็นค่าเริ่มต้นว่าอินเทอร์เน็ตถูกปิดกั้นสำหรับโปรแกรมนั้น (เช่นการsgโทรล้าสมัยเช่นโดยchownการเข้าโปรแกรม)
โบนันซ่า

8
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp.1.1"=dword:00000000
"ProxyOverride"="<local>"
"ProxyServer"="http://NonExistantProxyAddress:80"
"User Agent"="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"

เพื่อเพิ่มรีจิสตรีไวน์ (หรือไดรฟ์เสมือน playonlinux) ของคุณ:

วิธีที่ง่ายกว่ามากแน่นอนกว่าการใช้กลุ่ม (& ไม่ได้ป้องกัน pol เพื่อเชื่อมต่อเพียงแค่แอพ)

เครดิตไปที่http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

แก้ไข: รอ geek ในความคิดเห็นเพื่อเพิ่มการตั้งค่ารีจิสทรีเพื่อบล็อก TCP ในเวลาเฉลี่ย: http://support.microsoft.com/en-us/kb/154596 (เสียงเหมือนการตั้งค่าพอร์ตเป็นศูนย์หรือสร้างการกำหนดค่าบางอย่าง ข้อผิดพลาดแน่นอนจะบล็อกการเชื่อมต่อ tcp / udp แต่ฉันยังไม่ได้ประสบปัญหานั้นเลยดังนั้นฉันไม่จำเป็นต้องทำงานแก้ไข)


3
นี่เป็นการบล็อกเฉพาะการเข้าถึงซอฟต์แวร์ที่ให้เกียรติการตั้งค่าพร็อกซีส่วนใหญ่ไม่ชัดเจน ... ดังนั้นนี่ไม่ใช่ทางออกที่ถูกต้อง!
K1773R

1
ชอบอันไหน (ซอฟต์แวร์ทั้งหมดที่ฉันใช้กับ pol ถูกบล็อคแน่นอน) ด้วยเหตุนี้ฉันจึงไม่มั่นใจในคำแถลงของคุณ: มันใช้ได้ในหลายกรณีอาจไม่ได้อยู่ในบางส่วน
mikakun

2
ไม่มันไม่ใช่. เช่น; ซอฟต์แวร์ใด ๆ ที่เพิ่งเชื่อมต่อกับโฮสต์: พอร์ตผ่าน TCP จะทำงานต่อไป การตั้งค่าพร็อกซี HTTP เป็นสิ่งที่โปรแกรมต้องจดจำและให้เกียรติ หากคุณไม่เชื่อฉันให้รับ / รวบรวมซอฟต์แวร์ที่เชื่อมต่อกับโฮสต์อื่นผ่าน TCP และดูด้วยตัวคุณเอง
K1773R
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.