ในบางกรณีเราต้องการระบุว่า user ใด สามารถใช้งานได้จากที่ไหนได้บ้าง เช่น
admin1 ซึ่งมีสิทธิสูงในระบบ สามารถ Login ได้จากในหน่วยงานเท่านั้น
user1 ซึ่งมีสิทธแค่ User สามารถ Login ได้จากในหน่วยงาน และจากหน่วยภายนอกอื่นๆ ที่เป็นแบบ Static IP
www1 ซึ่งมีสิทธิจำกัด สามารถ Login ได้จากที่ไหนก็ได้
ดังนั้นในกรณีจะใช้ความสามารถของ OpenSSH เอง ดังนี้
ระบบที่ใช้ทดสอบ
OS : Ubuntu 9.10
OpenSSH : OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
กำหนดให้
IP หน่วยงานเป็น 172.17.1.0/24
IP หน่วยงานอื่นๆ ที่เป็น Static IP 192.168.0.0/24
การ Config
แก้ไข /etc/ssh/sshd_config โดยเพิ่มดังตัวอย่าง
AllowUsers admin1@172.17.1.0/24 user1@172.17.1.0/24 user1@192.168.0.0/24 www1
จากนั้น save file แล้วทำการ restart service ของ sshd
server# /etc/init.d/ssh restart
ตัวอย่าง log ที่เกิดขึ้น กรณีที่ admin1 ทำการ login จาก network ที่ไม่ได้อนุญาต
Aug 15 22:30:08 server sshd[21613]: User admin1 from 10.0.0.102 not allowed because not listed in AllowUsers
ความหมายของ Log คือ
Aug 15 22:30:08 ---> วัน เวลาที่เกิด Log
server ---> ชื่อเครื่อง
sshd[21613]: ---> Log ที่เกิด เกิดจาก SSH Service โดยตัวเลขในวงเล็บคือ Process ID ที่ทำงาน
User admin1 from 10.0.0.102 not allowed ---> username ที่ชื่อว่า admin1 ที่มาจาก IP 10.0.0.102 ไม่ได้รับอนุญาต
because not listed in AllowUsers ---> เนื่องจากไม่ได้กำนดไว้ในส่วนของ AllowUsers (ในตัวอย่างจะอนุญาตให้มาจาก 172.17.1.0/24 เท่านั้น)
จากนั้นใน Log file ก็จะเกิด log การ log ที่บอกว่า
Failed password for invalid user admin1 from 10.0.0.102 port 64381 ssh2
ตามขึ้นมาอีกจำนวนหนึ่ง ขึ้นอยู่กับการกำหนด MaxAuthTries ว่าให้พิมพ์ Password ผิดได้กี่ครั้งต่อการ login 1 ครั้ง ทั้งนี้เนื่องจาก user ที่ทำการ login เข้ามา จะไม่รู้ว่าโดยจำกัดการเข้าถึงอยู่ โดยจะรู้ว่าเหมือนกำลังพิมพ์ password ผิดอยู่
ไม่มีความคิดเห็น:
แสดงความคิดเห็น