Introduction

เมื่อเราสร้าง Server ใหม่ เราจำเป็นที่ต้องแก้ไขค่าเริ่มต้นบางอย่าง เพื่อเพิ่มความปลอดภัยในการใช้งาน ดังนี้

ขั้นตอนที่ 1 — Root Login

Login ด้วย root ไปยัง Server ที่ต้องการ

ssh root@SERVER_IP_ADDRESS
ขั้นตอนที่ 2 — Create a New User

เมื่อ Login ด้วย root ได้แล้ว ให้เราสร้าง user ใหม่เพื่อใช้ในการ login ครั้งต่อไป

ตัวอย่างเราจะสร้าง user ใหม่ชื่อ newuser

adduser newuser
ขั้นตอนที่ 3 — Root Privileges

user ที่ถูกสร้างมาใหม่จะได้สิทธิ์พื้นฐาน แต่บางครั้งเราต้องทำงานด้วยสิทธิ์ของ admin ดังนั้น โดยค่าปกติ ถ้า user ใดที่อยู่ใน group ของ "sudo" จึงมีสิทธิ์ใช้คำสั่ง sudo

ด้วย login root ให้ run คำสั่งต่อไปนี้

gpasswd -a newuser sudo
ขั้นตอนที่ 4 — Add Public Key Authentication (Recommended)

ขั้นตอนต่อไป ในการรักษาความปลอดภัย server ของคุณคือการตั้งค่าการตรวจสอบ Public key สำหรับ user ใหม่ การตั้งค่านี้จะเพิ่มความปลอดภัยของเซิร์ฟเวอร์ โดยการกำหนด SSH key ส่วนตัวเพื่อเข้าสู่ระบบ

Generate a Key Pair

ในการสร้าง key pair ให้ run คำสั่งต่อไปนี้ที่เครื่องตัวเอง (Linux, Mac)

ssh-keygen

จะได้ output ดังรูป

Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):

เสร็จจากขั้นตอนนี้เราจะได้ private key ชื่อ id___rsa และ public key ชื่อ id_rsa.pub

ให้ทำการ copy ค่าใน public key ไปไว้ที่ .ssh/authorized_keys ดังนี้

สร้าง folder ชื่อ .ssh และ กำหนดสิทธิ์ด้วยคำสั่งดังนี้

mkdir .ssh
chmod 700 .ssh

สร้าง file ชื่อ authorized_keys และเปิดด้วยคำสั่ง nano

nano .ssh/authorized_keys

นำค่าที่ copy จาก public key มาใส่จากนั้น save

จำกัดสิทธิของ authorized_keys ด้วยคำสั่ง

chmod 600 .ssh/authorized_keys
ขั้นตอนที่ 5 — Configure SSH

เราสามารถเพิ่มความปลอดภัยขึ้นอีก ด้วยการแก้ไขค่า ssh configuration โดยเปิด configuration file ด้วย text editor ด้วย root

nano /etc/ssh/sshd_config

ตัวเลือกแรกที่อาจจะแก้ไข คือ port ที่ ssh ทำงาน โดยปกติคือ 22

Port 22

เราสามารถเปลี่ยน port ได้ตั้งแต่ 1025 ถึง 65536

Port 8888

ต่อไป เราสามารถยกเลิกการใช้งาน root ผ่านทาง ssh โดยหาค่าตามดังต่อไปนี้

PermitRootLogin yes

และแก้ไขค่าให้เป็น "no"

PermitRootLogin no
ขั้นตอนที่ 6 -- Reload SSH

หลังจากแก้ไขค่าต่างๆแล้ว restart ssh service เพื่อให้ค่าที่แก้ไขสามารถเริ่มทำงานได้

service ssh restart

ก่อนจะ log out จาก server เราต้องทดสอบ ค่าใหม่ที่เราได้ทำการแก้ไขทุกครั้ง

หลังจากนี้เราจะติดต่อ server ด้วยคำสั่งข้างล่าง

ssh -p 8888 newuser@SERVER_IP_ADDRESS