คุณจะดู IP ที่ถูกแบนทั้งหมดสำหรับ Ubuntu 12.04 ผ่านบรรทัดคำสั่งได้อย่างไร


36

ฉันไม่สามารถหาคำสั่งด่วนเพื่อดู IP ที่ถูกแบนทั้งหมดบนเซิร์ฟเวอร์ หรือมีไฟล์ที่ฉันสามารถแก้ไขได้?

ฉันคาดเดา fail2ban เป็นสิ่งหนึ่งที่อินพุต IP ทั้งหมดเพื่อห้าม ฉันจะปรับการตั้งค่าได้ที่ไหน

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


5
sudo iptables -L -n?
เซ.

มีเอาท์พุทมาก ฉันควรจะมองหาอะไร i.imgur.com/zTTXJTE.png ... ขอบคุณ .. ฉันทำ ufw ให้ <ip_address> แล้ว แต่ก็ยังใช้งานไม่ได้ ฉันไม่รู้ว่ามันห้ามไว้ที่ไหน
Patoshi パトシ

ยังมีสถานะ ufw และจากนั้นปิดใช้งาน ufw ทำ iptables -F แล้วเปิดใช้งาน ufw ยังฉันไม่สามารถเข้าถึงเซิร์ฟเวอร์ของฉันจากระยะไกล IP ของฉันชัดเจนแสดงในกล่องสถานะตามที่อนุญาต: i.imgur.com/f7JD2Ny.png
Patoshi パトシ

คุณได้เปิดพอร์ต ssh ก่อน sshing เซิร์ฟเวอร์หรือไม่
Qasim

ฉันจะตรวจสอบได้อย่างไร ฉันสามารถ SSH ได้เมื่อไฟร์วอลล์ปิดอยู่ ดังนั้นมันไม่ทำงานตามค่าเริ่มต้น?
Patoshi パトシ

คำตอบ:


24

sudo iptables -L INPUT -v -n | less

ซึ่งจะบอก iptables เพื่อแสดงรายการกฎทั้งหมดในห่วงโซ่ INPUT ซึ่งจะให้เอาต์พุตแบบตัวเลขอย่างละเอียด เรากำลังส่งข้อมูลน้อยลงเพื่อให้เราได้รับหน้าพร้อมกัน


2
อาจจะมีบางอย่างเปลี่ยนแปลงไปตั้งแต่ปี 2014 แต่ขณะนี้สิ่งที่ยืนอยู่คำตอบนี้เป็นความผิดพลาดเนื่องจาก fail2ban ไม่ได้ใส่สิ่งต่าง ๆ ในINPUTห่วงโซ่
billynoah

@billynoah แน่นอนการเปลี่ยนแปลงบางสิ่งบางอย่าง ไม่มีอะไรในชีวิตคงที่ สำหรับหนึ่ง 12.04 จะไม่ได้รับการสนับสนุนอีกต่อไป หากคุณยังคงใช้งานอยู่ผมขอแนะนำให้คุณอัพเกรดเป็น 16.04 LTS ซึ่งรองรับจนถึงเมษายน 2564
Elder Geek

ฉันไม่แน่ใจว่าคุณกำลังอ้างอิง 12.04 เพราะฉันบอกว่า 2014 ฉันกำลังพูดถึงปีคำตอบของคุณ
billynoah

1
@billynoah ฉันกำลังอ้างอิง 12.04 เนื่องจากความจริงที่ว่ามันถูกอ้างอิงในคำถามที่คำตอบนี้ให้ไว้ คุณมีคำขอโทษของฉันสำหรับความสับสนใด ๆ ที่คุณอาจประสบ :-)
Elder Geek

45

รุ่นสั้น :

รายการ ips ที่ถูกบล็อกในปัจจุบันทั้งหมด:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

ยกเลิกการแบนไอพี:

fail2ban-client set postfix-mail unbanip 111.222.333.444

รุ่นยาว :

หากคุณกำลังมองหาวิธี "เป็นทางการ" ในการทำเช่นนั้นมีไคลเอ็นต์บรรทัดคำสั่งสำหรับ fail2ban https://www.fail2ban.org/wiki/index.php/Commands :

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

จากนั้นคุณสามารถเรียกใช้

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

หรือคุณสามารถใช้คำสั่งของฉันซึ่งวนซ้ำในคุกที่มีอยู่ทั้งหมด:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

ผลลัพธ์ใด:

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:

ควรเป็นคำตอบที่ยอมรับได้ในขณะนี้
Basj

โดย awk:fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis

21

คุณสามารถดู IP ที่ถูกแบนก่อนหน้านี้ทั้งหมดได้ /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

บางแบนชั่วคราวแม้ว่าดังนั้นฉันไม่แน่ใจว่าจะยกเลิกสิ่งที่ดีที่สุดออก (บันทึก fail2ban ของฉันว่างเปล่าซึ่งทำให้ยากต่อการทดสอบ!) คุณสามารถเข้าสู่รูปแบบการบัญชีขนาดใหญ่ด้วยawkคำสั่ง แต่มันก็ค่อนข้างน่าเบื่อ

อย่างไรก็ตามนั่นคือวิธีที่คุณต้องการหากคุณกำลังมองหาเหตุผลว่าทำไมคุณถึงถูกแบน

อีกวิธีคือดูตาราง IP และดูว่ามีอะไรตก อีกครั้งนี้มีปัญหาบางอย่างเพราะมันแสดงเส้นทางเริ่มต้นที่ถูกแทนที่ แต่ฉันบล็อกกฎกับแหล่งที่มาของ 0.0.0.0/0 และดูเหมือนว่ามันจะสะอาดพอสำหรับการใช้งานจริง:

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

สิ่งนี้จะไม่อธิบายว่าทำไมการแบนจึงเกิดขึ้น


fail2ban เป็นแอปพลิเคชันหลักที่ห้ามใช้และไม่ใช่แอพอื่น ๆ หรือไม่ เซิร์ฟเวอร์ของฉันเป็นเพียงเซิร์ฟเวอร์อูบุนตูพื้นฐานดังนั้นฉันจึงไม่เคยติดตั้งสิ่งใดลงไป
Patoshi パトシ

ในกรณีนั้นใช่
Oli

1
โปรดทราบว่ารุ่นปัจจุบันของฉันเขียนNOTICE [snap-iptables] Ban 45.32.216.148- ไม่':'หลังคำว่าแบน แต่มีช่องว่างก่อนและหลัง
Alexis Wilke
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.