Sunday 26 September 2010

การConfig SSHให้มีความปลอดภัย


เพื่อให้มีความปลอดภัยจาก hacker มาขึ้นซึ่งไฟล์config ssh ของ debian จะอยู่ใน /etc/ssh
ให้เราทำการพิมพ์ cd  /etc/ssh/
จากนั้นให้ทำการแก้ไข ไฟล์config ของ ssh ดังนี้
พิมพ์ nano  sshd_config
เป็นการใช้โปรแกรม nano คือโปรแกรมคล้าย notepad ใน linux ในการแก้ไขไฟล์ จะมีข้อความในไฟล์ config ซึ่งมีความหมายดังนี้
คำแนะนำในการปรับแต่งค่าต่างๆ ที่สำคัญในไฟล์ /etc/ssh/sshd_config ให้มีความปลอดภัย มีดังนี้
Port   22
ระบุหมายเลขพอร์ตที่ใช้ในการติดต่อ โดยค่า default แล้วจะอยู่ที่พอร์ตที่ 22 แต่ถ้าแก้ไขให้ใช้พอร์ตอื่นก็จะสามารถหลอกแฮ็กเกอร์ที่อ่อนประสบการณ์ที่ได้รหัสผ่านแต่ก็ยังไม่ทราบพอร์ตได้
ListenAddress   192.168.1.1
ระบุหมายเลข IP ให้กับฝั่งเซิร์ฟเวอร์ว่าให้รอรับการติดต่อทาง IP ใด จะเห็นผลชัดเจนยิ่งขึ้น ถ้าเครื่องเซิร์ฟเวอร์ดังกล่าวให้บริการไฟร์วอลล์ด้วย
HostKey   /etc/ssh/ssh_host_key
ระบุไดเรกทอรีที่ใช้เก็บคีย์ private ของโฮสต์
ServerKeyBits   1024
ระบุจำนวนบิตที่จะใช้ในคีย์ของเซิร์ฟเวอร์ ซึ่ง default คือ 768 ให้ทำการแก้ไขเป็น 1024
LoginGraceTime   600
ระบุเวลาในหน่วยวินาทีหลังจากมีการร้องขอการติดต่อจากไคลเอ็นต์จนกระทั่งสิ้นสุดการติดต่อโดยที่ยังไม่มีการ Login
KeyRegenerationInterval   3600
ระบุอายุของคีย์ หรือระยะเวลาเป็นวินาทีที่จะสร้างคีย์ใหม่ โดยค่า default อยู่ที่ 3600
PermitRootLogin   no
ระบุว่าอนุญาตให้ accout ของ root ทำการ login เข้าระบบได้โดยตรงหรือไม่ ให้เปลี่ยนเป็น no
IgnoreRhosts   yes
ระบุไม่อนุญาตให้ใช้ไฟล์ rhosts หรือ shosts สำหรับการ authenticate
StrictModes   yes
ก่อนที่จะมีการอนุญาตให้ Login เข้ามาในระบบได้ sshd จะตรวจสอบ permission ในไดเรกทอรี home ของผู้ใช้แต่ละคน และไฟล์ rhosts ก่อน ดังนั้นออปชันนี้ให้เลือก yes เพราะบางครั้งผู้ใช้บางคนอาจจะเปลี่ยนแปลง permission ให้ผู้อื่นสามารถเขียนได้โดยไม่เจตนา
PrintMotd   yes
ระบุให้ sshd แสดงข้อความที่อยู่ในไฟล์ /etc/motd เมื่อมีผู้ใช้งานระบบทำการ Login ซึ่งไฟล์ /etc/motd นั้นรู้จักกันในชื่อของ “message of the day”
RhostsAuthentication   no
ระบุให้ sshd สามารถที่จะใช้ rhosts ในการ authenticate ได้ แนะนำว่าไม่ควรที่จะใช้เพราะว่า rhosts นั้นไม่มีความปลอดภัย
RhostsRSAAuthentication   no
ระบุว่าจะให้สามารถใช้ rhosts ร่วมกับ RSA ในการ authenticate ได้หรือไม่
RSAAuthentication   yes
ระบุว่าให้ใช้ RSA ในการ Authenticate โดย RSA จะใช้คีย์คู่ทั้ง public และ private ที่ถูกสร้างโดย ssh-keygen1utility ในกระบวนการ Authenticate
PasswordAuthentication   yes
ระบุว่าให้ใช้รหัสผ่านในการทำ Authenticate
PermitEmptyPasswords   no
ระบุว่าจะอนุญาตให้ Login โดยไม่ต้องใช้รหัสผ่านหรือไม่ ให้เลือก no เพื่อบังคับให้ป้อนรหัสผ่านทุกครั้ง
AllowUsers   admin
ระบุว่าจะอนุญาตให้ใคร Login ได้บ้าง โดยค่า default แล้วจะอนุญาตให้ทุกคนสามารถ Login เข้าระบบได้ และสามารถเพิ่มชื่อผู้ใช้ที่อนุญาตได้หลายคน โดยแยกแต่ละชื่อด้วยเครื่องหมายช่องว่างหรือ space
Subsystem   sftp   /usr/libexec/openssh/sftp-server
ระบุให้ใช้ sftp โดยค่า default จะอนุญาตอยู่แล้ว

No comments:

Post a Comment