ตั้งค่าเริ่มต้นให้ Ubuntu server
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