ดูกฎการกำหนดค่าแม้ในขณะที่ไม่ได้ใช้งาน


71

ฉันสงสัยว่าเป็นไปได้ที่จะรับ UFW เพื่อแสดงรายการกฎไฟร์วอลล์ที่กำหนดค่าไว้แม้ว่าจะไม่ได้เปิดใช้งานก็ตาม ฉันมีสิทธิ์เข้าถึง ssh ไปยังเซิร์ฟเวอร์ในเวลานี้เท่านั้นและฉันไม่ต้องการเปิดใช้งาน UFW หากไม่มีกฎการกำหนดค่าที่อนุญาตให้ ssh อย่างไรก็ตามเนื่องจากไม่ได้เปิดใช้งาน UFW ในปัจจุบันฉันเพิ่งได้รับข้อความ "ไม่ทำงาน" เมื่อฉันเรียกใช้ "สถานะ ufw"

มีการตั้งค่าสถานะพิเศษที่ฉันสามารถใช้หรือแม้กระทั่งไฟล์ปรับแต่งบางอย่างที่ฉันสามารถดูเพื่อดูว่ากฎใดได้รับการกำหนดค่าไว้แม้ว่าไฟร์วอลล์จะปิดใช้งานหรือไม่


4
คำตอบปัจจุบันคือufw show addedความอนุเคราะห์ของ @simon
ctbrown

คำตอบ:


24

ขณะนี้ยังไม่มีวิธีแสดงกฎที่คุณป้อนก่อนเปิดใช้งานไฟร์วอลล์ผ่านคำสั่ง CLI คุณสามารถตรวจสอบไฟล์กฎได้โดยตรง /lib/ufw/user*.rules มีกฎที่ควบคุมผ่านคำสั่ง 'ufw' CLI เช่น:

 $ sudo grep '^### tuple' /lib/ufw/user*.rules

สิ่งนี้จะแสดงผลลัพธ์ดังต่อไปนี้ (สำหรับกฎที่เพิ่มด้วย 'sudo ufw อนุญาตให้ OpenSSH):

 /lib/ufw/user.rules:### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in

'tuple' เป็นชวเลขและใช้ภายในโดย ufw เพื่อติดตามกฎและสามารถตีความได้ว่าเป็นหนึ่งในสิ่งเหล่านี้:

 ### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <direction>
 ### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <dst app name> <src app name> <direction>

อาจเป็นประโยชน์ที่จะสามารถเพิ่มคำสั่งสถานะอื่นเพื่อสนับสนุนสิ่งนี้ โปรดพิจารณายื่นข้อผิดพลาด


5
การใส่ไฟล์ใน/libนั้นค่อนข้างแปลกในความคิดของฉัน
pqnet

11
พวกเขาได้เพิ่มคำสั่งufw show addedแล้วดูคำตอบจาก @Simon ด้านล่าง
RedPixel

109

ขณะนี้มีufw show addedคำสั่งที่จะแสดงรายการกฎที่กำหนดค่าไว้สำหรับคุณแม้ว่าไฟร์วอลล์จะไม่ทำงาน มันถูกเพิ่มเป็นการแก้ไขสำหรับรายงานข้อผิดพลาดนี้และเพิ่มใน v0.33

ดังนั้นตอนนี้คุณสามารถทำได้:

# ufw status
Status: inactive
# ufw allow ssh
Rules updated
Rules updated (v6)
# ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22
# ufw enable
Firewall is active and enabled on system startup
# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

รูปแบบของเอาต์พุตจากufw show addedทำให้ง่ายต่อการเขียนคำสั่งลบสำหรับแต่ละกฎด้วย


3
ต่อรายงานข้อผิดพลาด: นี้ถูกเพิ่มเข้ามาในรุ่น ufw 0.33 เปิดตัวสิงหาคม 2012
ConvexMartian

18

/etc/ufwกฎทั่วไปอยู่ใน /lib/ufw/user*กฎที่ผู้ใช้กำหนดไว้ใน


Magic - /lib/ufw/user.rules มีกฎที่มนุษย์สามารถอ่านได้ในส่วน ### RULES ### ขอบคุณ
Scaine

9

ใน Ubuntu 16.04 /etc/ufw/user.rulesกฎที่ผู้ใช้กำหนดจะถูกเก็บไว้ใน ดังนั้นคุณสามารถดูกฎด้วย:

sudo cat /etc/ufw/user.rules

1
ดังนั้นใน Ubuntu 16.04 คุณสามารถใช้สิ่งนี้: sudo grep '^### tuple' /etc/ufw/user*.rulesสำหรับรายการที่จัดรูปแบบของกฎที่ผู้ใช้เพิ่ม
วิลล์

2
@Ville อย่าทำอย่างนั้น ใช้sudo ufw show addedแทน
ctbrown

ฉันไม่รู้ว่า @ctbrown ขอบคุณ ดูเหมือนว่าจะทำงานเมื่อ ufw ถูกปิดใช้งาน
pstadler

4

จากบรรทัดคำสั่งดูเหมือนจะไม่มีทาง อย่างไรก็ตามหากคุณเป็น SSH จากกล่อง Ubuntu (ไปยังกล่อง Ubuntu) คุณอาจต้องการลองวิธีการที่ซับซ้อนเล็กน้อย:

โดยทั่วไปให้ติดตั้ง gufw บนกล่องรีโมตจากนั้นเชื่อมต่อด้วย X forwarding และเรียกใช้ GUI

บนอุปกรณ์ระยะไกลหลังจากเชื่อมต่อด้วย-Xเป็นตัวเลือก:

sudo apt-get install gufw
sudo gufw

ที่จะแสดงชุดกฎโดยไม่ต้องเปิดใช้งาน

ได้รับการเตือนว่าหากอุปกรณ์ระยะไกลเป็นเซิร์ฟเวอร์ "หัวขาด" จริงการติดตั้ง GUFW อาจดึงการพึ่งพาจำนวนไม่พึงประสงค์ลง แต่ถ้าไม่มีใครรู้เคล็ดลับในการทำให้ UFW แสดงผลลัพธ์ที่คุณต้องการโดยไม่ต้องเปิดใช้งานก่อนสิ่งนี้อาจเป็นตัวเลือกเดียวของคุณ

ฉันลองsudo ufw show rawแล้ว แต่นั่นแสดงเอาท์พุท iptables ซึ่งฉันไม่สามารถทำหัวหรือก้อยได้


ขอบคุณสำหรับอาหารอันโอชะเกี่ยวกับ "ufw แสดง raw" - ฉันต้องพลาดที่ในหน้าคน เมื่อฉันเรียกใช้ฉันไม่เห็นสิ่งใดที่กระโดดออกมาเป็นกฎซึ่งหมายความว่าฉันอาจไม่มีการกำหนดค่าใด ๆ แต่ฉันยังไม่ต้องการโอกาสมัน และใช่การติดตั้ง gufw จะต้องมีการติดตั้งจำนวนมากดังนั้นฉันคิดว่าฉันจะห่างไกลจากแนวทางนั้น
ไบรอัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.