ค้นหาเว็บไซต์

ใช้ Pam_Tally2 เพื่อล็อคและปลดล็อคความพยายามเข้าสู่ระบบ SSH ที่ล้มเหลว


โมดูล pam_tally2 ใช้เพื่อล็อคบัญชีผู้ใช้หลังจากพยายามเข้าสู่ระบบ ssh ล้มเหลวจำนวนหนึ่ง โมดูลนี้จะเก็บจำนวนความพยายามในการเข้าถึงและความพยายามที่ไม่สำเร็จมากเกินไป

โมดูล pam_tally2 มีสองส่วน ส่วนแรกคือ pam_tally2.so และอีกส่วนคือ pam_tally2 ขึ้นอยู่กับโมดูล PAM และสามารถใช้เพื่อตรวจสอบและจัดการไฟล์ตัวนับ สามารถแสดงจำนวนความพยายามในการเข้าสู่ระบบของผู้ใช้ กำหนดจำนวนเป็นรายบุคคล ปลดล็อคจำนวนผู้ใช้ทั้งหมด

โมดูล pam_faillock แทนที่โมดูล pam_tally และ pam_tally2 ที่เลิกใช้แล้วใน RHEL 7 และ RHEL 8 โดยให้ความยืดหยุ่นและตัวเลือกมากกว่าทั้งสอง โมดูล

ตามค่าเริ่มต้น โมดูล pam_tally2 ได้รับการติดตั้งแล้วบน Linux ส่วนใหญ่ และถูกควบคุมโดยแพ็คเกจ PAM เอง บทความนี้สาธิตวิธีการล็อกและปลดล็อกบัญชี SSH หลังจากพยายามเข้าสู่ระบบไม่สำเร็จถึงจำนวนที่กำหนด

วิธีล็อคและปลดล็อคบัญชีผู้ใช้

ใช้ไฟล์การกำหนดค่า '/etc/pam.d/password-auth' เพื่อกำหนดค่าความพยายามในการเข้าสู่ระบบ เปิดไฟล์นี้และเพิ่มบรรทัดการกำหนดค่า AUTH ต่อไปนี้ที่จุดเริ่มต้นของส่วน "auth"

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

ถัดไป เพิ่มบรรทัดต่อไปนี้ในส่วน 'บัญชี'

account     required      pam_tally2.so
พารามิเตอร์
  1. file=/var/log/tallylog – ไฟล์ log เริ่มต้นใช้เพื่อเก็บจำนวนการเข้าสู่ระบบ
  2. deny=3 – ปฏิเสธการเข้าถึงหลังจากพยายาม 3 ครั้งและล็อคผู้ใช้
  3. even_deny_root – นโยบายยังใช้กับผู้ใช้ root อีกด้วย
  4. unlock_time=1200 – บัญชีจะถูกล็อคจนถึง 20 นาที (ลบพารามิเตอร์นี้ออกหากคุณต้องการล็อคอย่างถาวรจนกว่าจะปลดล็อคด้วยตนเอง)

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

[root@tecmint ~]# ssh [email 
[email 's password:
Permission denied, please try again.
[email 's password:
Permission denied, please try again.
[email 's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Apr 22 21:21:06 2013 from 172.16.16.52

ตอนนี้ให้ตรวจสอบหรือตรวจสอบตัวนับที่ผู้ใช้พยายามด้วยคำสั่งต่อไปนี้

[root@tecmint ~]# pam_tally2 --user=tecmint
Login           Failures  Latest    failure     From
tecmint              5    04/22/13  21:22:37    172.16.16.52

วิธีรีเซ็ตหรือปลดล็อคบัญชีผู้ใช้เพื่อให้สามารถเข้าใช้งานได้อีกครั้ง

[root@tecmint pam.d]# pam_tally2 --user=tecmint --reset
Login           Failures  Latest    failure     From
tecmint             5     04/22/13  17:10:42    172.16.16.52

ตรวจสอบว่าความพยายามในการเข้าสู่ระบบถูกรีเซ็ตหรือปลดล็อค

[root@tecmint pam.d]# pam_tally2 --user=tecmint
Login           Failures   Latest   failure     From
tecmint            0

โมดูล PAM เป็นส่วนหนึ่งของการแจกจ่าย Linux และการกำหนดค่าทั้งหมดที่ให้ไว้ว่าควรจะใช้ได้กับการแจกจ่าย Linux ทั้งหมด ทำ 'man pam_tally2' จากบรรทัดคำสั่งเพื่อทราบข้อมูลเพิ่มเติม

อ่านเพิ่มเติม:

  1. 5 เคล็ดลับในการรักษาความปลอดภัยและปกป้องเซิร์ฟเวอร์ SSH
  2. บล็อกการโจมตี SSH Brute Force โดยใช้ DenyHosts