หากใครต้องนำระบบขึ้น Production ทุกคนคงรู้จักขั้นตอนนึงที่สำคัญ และเป็นขั้นตอนที่ทำ App หรือ Service พังได้เลยครับ ขั้นตอนที่ว่านั้น คือ การ Hardening เพื่อเพิ่มความแข็งแรงให้ระบบครับ แต่ต้องมีความเข้าใจด้วยครับ ไม่งั้นระบบมีปัญหาได้ครับ อย่างของผมการแก้ SSH มีผลให้
- Admin / Developer ที่ดูแลระบบ SSH เข้า Server ไม่ได้ครับ ต้องไปเข้าผ่าน VMware ExSI แทนครับ
- ระบบไม่สามารถรับส่ง File ผ่าน Protocal SFTP ไม่ได้ครับ
ส่วนสาเหตุ มันมาจาก CIS RedHat 8 V1.0.0
จาก CIS RedHat 8 V1.0.0 หมวด 5.2 SSH Server Configuration ข้อ 5.2.2 Ensure SSH access is limited (Scored) โดยมีสาระสำคัญ ดังนี้
- ทุก user บน OS ต้องมีการกำหนดว่าใครสามารถเข้าถึง Server ผ่าน SSH ได้ครับ โดยมีค่าที่ต้องกำหนดใน /etc/ssh/sshd_configโดยมี Option ที่ต้องกำหนด ดังนี้ครับ- DenyUsers: กำหนดไม่ให้ user ไหนเข้า
- AllowUsers: กำหนดให้ user ไหนเข้า
- DenyGroups: กำหนดไม่ให้ group ไหนเข้า
- AllowGroups. : กำหนดให้ group ไหนเข้า
 
- การกำหนด แต่ละ Option ต้องเรียงตามลำดับจากดังนี้ DenyUsers>AllowUsers>DenyGroups>AllowGroupsแต่จากปัญหาที่กล่าวมาข้างต้นครับ ผมเจอสาเหตุแล้วครับ ทีม Dev ในส่วนของ Backup ไปมีไปแก้ไฟล์ sshd_config ครับ

จากรูปข้างต้น เราพบว่าไฟล์ sshd_config ลำดับของ AllowGroupsAllowUsersAllowUsers

ถ้าไป man ดู sshd_config ลำดับไม่เหมือนกันอีก ต้องเชื่อลำดับการทำงานของ SSH ครับ แต่มันก็ให้ Hardening ยากขึ้นไปอีกครับ เพราะต้องเช้าใจการทำงานของ OS และต้องมาทำให้ได้ตามข้อกำหนดของ CIS ด้วยครับ

สำหรับการแก้ไข
ทำได้ 2 วิธีครับ แต่ต้องสอบถามความจริงกับทีมงานให้เรียบร้อยก่อนครับ
- วิธีแรก สลับ AllowUsersAllowGroups
- วืธีสอง เลิอกใช้ AllowUsersAllowGroups
ของผมเลือกวิธีให้เอา user ibmbackup เข้า group staff แทนครับ และเอา AllowUsers ออกไปครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.



