ใช้ 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
พารามิเตอร์
- file=/var/log/tallylog – ไฟล์ log เริ่มต้นใช้เพื่อเก็บจำนวนการเข้าสู่ระบบ
- deny=3 – ปฏิเสธการเข้าถึงหลังจากพยายาม 3 ครั้งและล็อคผู้ใช้
- even_deny_root – นโยบายยังใช้กับผู้ใช้ root อีกด้วย
- 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' จากบรรทัดคำสั่งเพื่อทราบข้อมูลเพิ่มเติม
อ่านเพิ่มเติม:
- 5 เคล็ดลับในการรักษาความปลอดภัยและปกป้องเซิร์ฟเวอร์ SSH
- บล็อกการโจมตี SSH Brute Force โดยใช้ DenyHosts