คู่มือการตั้งค่าและการเสริมสร้างความปลอดภัย SSH บน Ubuntu

1. SSH คืออะไร? วิธีใช้งานบน Ubuntu

SSH (Secure Shell) คือโปรโตคอลสำหรับเชื่อมต่อและจัดการเซิร์ฟเวอร์จากระยะไกลได้อย่างปลอดภัย โดยเฉพาะในระบบ Linux เช่น Ubuntu เป็นเครื่องมือบริหารจัดการแบบ Command Line ที่สำคัญมาก การใช้ SSH จะช่วยให้การสื่อสารกับเซิร์ฟเวอร์ถูกเข้ารหัส ป้องกันการเข้าถึงโดยไม่ได้รับอนุญาตและการดักฟังข้อมูลจากบุคคลที่สาม

ลิงก์ที่เกี่ยวข้อง: SSH คืออะไร? เอกสารทางการของ Ubuntu

2. วิธีติดตั้ง SSH บน Ubuntu

เพื่อให้สามารถใช้งาน SSH ได้ เราจะแนะนำขั้นตอนการติดตั้ง SSH Server บน Ubuntu

  1. อัปเดตรายการแพ็คเกจ
   sudo apt update
  1. ติดตั้ง OpenSSH Server
   sudo apt install openssh-server
  1. เริ่มบริการและตรวจสอบสถานะ
   sudo systemctl status ssh

หมายเหตุ: ในหน้าทางการของ Ubuntu ก็มีข้อมูลรายละเอียดของ OpenSSH อยู่ด้วย

3. การตรวจสอบสถานะบริการ SSH และการเปิดใช้งานขณะระบบเริ่มต้น

เราจะตรวจสอบว่า SSH ทำงานถูกต้องหรือไม่ และตั้งค่าให้เริ่มทำงานอัตโนมัติเมื่อระบบเริ่มต้น

  1. ตรวจสอบสถานะบริการ
   sudo systemctl status ssh
  1. ทำให้ SSH เริ่มทำงานอัตโนมัติเมื่อบูตเครื่อง
   sudo systemctl enable ssh

4. วิธีอนุญาต SSH ในการตั้งค่าไฟร์วอลล์

เราจะใช้ UFW (Uncomplicated Firewall) ที่ติดตั้งมาพร้อมกับ Ubuntu เพื่ออนุญาตการเข้าถึง SSH

  1. อนุญาตการเชื่อมต่อ SSH ในไฟร์วอลล์
   sudo ufw allow ssh
  1. ตรวจสอบสถานะ UFW
   sudo ufw status

5. วิธีเชื่อมต่อกับ Ubuntu SSH Server

หากต้องการเชื่อมต่อ SSH จากระยะไกล โปรดทำตามขั้นตอนต่อไปนี้

  1. ตรวจสอบที่อยู่ IP
   ip a
  1. เชื่อมต่อด้วย SSH
   ssh username@ip_address

หากมีข้อความเตือนปรากฏขึ้นในการเชื่อมต่อครั้งแรก ให้พิมพ์ “yes” และป้อนรหัสผ่านเพื่อดำเนินการต่อ

คำแนะนำ: สำหรับผู้ใช้ Windows สามารถใช้ซอฟต์แวร์ที่ชื่อว่า PuTTY เพื่อเชื่อมต่อ SSH ได้

6. การตั้งค่า SSH ขั้นสูง (การเปลี่ยนพอร์ต, ปิดการเข้าสู่ระบบด้วยบัญชี root)

เราจะแก้ไขการตั้งค่าเริ่มต้นของ SSH เพื่อเพิ่มความปลอดภัย

  1. การเปลี่ยนพอร์ตเริ่มต้น
    การเปลี่ยนพอร์ตเริ่มต้นของ SSH จาก 22 จะช่วยลดความเสี่ยงจากการโจมตีแบบ Brute-force ได้
   sudo nano /etc/ssh/sshd_config
   #Port 22 → เปลี่ยนเป็นหมายเลขใดก็ได้ที่คุณต้องการ
  1. การปิดการเข้าสู่ระบบด้วยบัญชี root
    เพื่อเพิ่มความปลอดภัย เราจะปิดการใช้งานการเข้าสู่ระบบด้วยบัญชี root
   PermitRootLogin no

หลังจากทำการเปลี่ยนแปลงแล้ว ให้รีสตาร์ทบริการ SSH

sudo systemctl restart ssh

7. การเสริมสร้างความปลอดภัย SSH Server (แนวทางปฏิบัติที่ดีที่สุด)

เราจะแนะนำแนวทางปฏิบัติที่ดีที่สุดเพื่อเพิ่มความปลอดภัยของ SSH

  1. การใช้การพิสูจน์ตัวตนด้วย SSH Key
    การใช้การพิสูจน์ตัวตนด้วย Public Key แทนการใช้รหัสผ่าน จะช่วยเสริมความปลอดภัยได้
    โปรดอ้างอิงจากคู่มือการสร้าง SSH Key เพื่อตั้งค่าคู่ Key
  2. จำกัดการเข้าถึงเฉพาะผู้ใช้บางราย
    เพื่ออนุญาตให้เฉพาะผู้ใช้บางรายเท่านั้นที่เข้าถึง SSH ได้ ให้ใช้คำสั่ง AllowUsers
  3. ป้องกันการโจมตีแบบ Brute-force ด้วย Fail2Ban
    ติดตั้ง Fail2Ban ซึ่งจะบล็อกการพยายามล็อกอินที่ล้มเหลวหลายครั้งโดยอัตโนมัติ
   sudo apt install fail2ban

สำหรับการตั้งค่า โปรดอ้างอิงจากเอกสารทางการวิธีตั้งค่า Fail2Ban

8. การแก้ไขปัญหาทั่วไปเกี่ยวกับการเชื่อมต่อ SSH

หากเกิดปัญหาในการเชื่อมต่อ SSH โปรดดูรายการตรวจสอบต่อไปนี้เพื่อแก้ไขปัญหา

  • การตั้งค่าไฟร์วอลล์ผิดพลาด: ตรวจสอบว่า UFW หรือไฟร์วอลล์อื่นๆ ได้รับการตั้งค่าอย่างถูกต้องหรือไม่
  • การตรวจสอบที่อยู่ IP: ตรวจสอบที่อยู่ IP อีกครั้งว่าถูกต้องหรือไม่
  • ข้อผิดพลาดในไฟล์ตั้งค่า SSH: ตรวจสอบไฟล์ /etc/ssh/sshd_config ว่าไม่มีข้อผิดพลาด และรีสตาร์ทหากจำเป็น

สรุป

ในคู่มือนี้ เราได้แนะนำวิธีการติดตั้งและตั้งค่า SSH บน Ubuntu อย่างปลอดภัย โปรดปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดสำหรับการเสริมสร้างความปลอดภัย เพื่อการจัดการเซิร์ฟเวอร์ที่ปลอดภัยและมีประสิทธิภาพ สำหรับข้อมูลเพิ่มเติม สามารถดูได้จากคู่มือการตั้งค่า SSH ของ Ubuntu อย่างเป็นทางการ