วันอาทิตย์ที่ 26 กรกฎาคม พ.ศ. 2552

การใช้ Secure Shell ในการเข้าถึงระบบจากระยะไกล

ความรู้ใหม่ๆครับ

What are SSH, SFTP and SCP?

Secure Shell (SSH) เป็นโพรโตคอลในการสร้างการติดต่อเพื่อเข้าใช้งานระบบอย่างปลอดภัยมากกว่าการติดต่อแบบเดิมๆ ที่มีการส่งข้อมูลเป็นเพียงตัวอักษรเปล่าๆ (Plain text) โดยที่โพรโตคอลดังกล่าวจะทำการเข้ารหัสข้อมูลทุกอย่างไม่ว่าจะเป็น ชื่อผู้ใช้ รหัสผ่าน หรือข้อมูลอื่นๆ ก่อนที่จะทำการส่งไปยังเครื่องเซิร์ฟเวอร์ โดยปกตินิยมนำ SSH มาใช้งานแทน telnet เพราะมีความปลอดภัยมากกว่า

Secure File Transfer Protocol (SFTP) เป็นโพรโตคอลที่นำมาใช้แทน FTP โดยจะเป็นส่วนหนึ่งของ SSH ซึ่งจะมี sftpserv เป็นโปรแกรมที่รันอยู่ที่ฝั่งเซิร์ฟเวอร์ รอรับการติดต่อจากไคลเอ็นต์ผ่านทางคำสั่ง sftp บนระบบปฏิบัติการ linux และในระบบปฏิบัติการ Windows ก็มีโปรแกรมที่จะใช้สำหรับติดต่อและโอนถ่ายข้อมูลกับเซิร์ฟเวอร์ผ่าน SSH ด้วย เช่น SecureFX และ SSH Secure Shell Client เป็นต้น

Secure Copy (SCP) เป็นวิธีการหนึ่งในรับส่งข้อมูลข้ามระบบเครือข่าย โดยมีลักษณะเป็นการคัดลอกข้อมูลระหว่างเครื่อง 2 เครื่อง และอาศัยโพรโตคอล Secure Shell เช่นเดียวกับ SFTP ซึ่งจะแตกต่างกันที่ SFTP จะต้อง Login เข้าไปที่ระบบก่อนแล้วจึงสามารถที่จะรับส่งไฟล์ได้ แต่ SCP นั้นจะป้อนรหัสผ่านทุกครั้งที่ทำการรับส่งไฟล์

Why Use SSH?

วิธีการส่วนมากที่ผู้โจมตีใช้กันคือการดักขโมยข้อมูลระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ผ่านทางโพรโตคอล telnet ซึ่งข้อมูลที่ดักได้อาจจะเป็นชื่อที่ใช้ Login และรหัสผ่าน ที่ไม่ได้ถูกเข้ารหัสไว้ โดยใช้โปรแกรมประเภท Sniffer ทั่วๆไป ดังรูปที่ 1 และถ้าเกิดกรณีที่ผู้โจมตีดักขโมยชื่อผู้ใช้คือ root และรหัสผ่าน ความเสียหายที่ตามมาอาจจะมากจนเกินที่จะแก้ไขได้

ดังนั้นวิธีแก้ไขคือ ยกเลิกการใช้โพรโตคอล telnet โดยใช้โพรโตคอล SSH แทน และใช้ SFTP แทนโพรโตคอลของ FTP ทั้งนี้เพื่อความปลอดภัยจากการถูกดักข้อมูลขณะทำการส่ง ดังรูปที่ 2

รูปที่ 1 แสดงผลจากการใช้ telnet ในการทำ remote access ไปยังเซิร์ฟเวอร์และผู้โจมตีสามารถดักข้อมูลได้

รูปที่ 2 แสดงผลจากการใช้ ssh จะสังเกตว่ารหัสผ่านที่ส่งจากไคลเอ็นต์นั้นจะถูกเข้ารหัสไว้

ถ้าใช้ระบบปฏิบัติการ Windows จะมีโปรแกรมที่ใช้ในการทำ Remote Login หลายโปรแกรมยกตัวอย่างเช่น

PuTTY เป็นซอฟต์แวร์ฟรี ที่มีความสามารถในการทำ Remote Login และยังมีโปรแกรมที่อาศัยโปรโตคอล SSH ด้วยเช่น PSFTP (ใช้ในการรับส่งไฟล์ผ่าน Secure Shell) PSCP (ใช้ในการคัดลอกไฟล์ผ่าน Secure Shell) เป็นต้น ซึ่งสามารถดาวน์โหลดได้ที่ http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

SSH Secure Shell Client เป็นซอฟต์แวร์ฟรี ที่มีทั้งฟังก์ชันของ Secure command-shell และ SFTP สามารถอ่านรายละเอียดเพิ่มเติมและดาวน์โหลดซอฟต์แวร์ดังกล่าวได้ที่ http://www.ssh.com
WinSCP เป็นซอฟต์แวร์ฟรีสำหรับ Secure Copy สามารถดาวน์โหลดได้ที่ http://winscp.vse.cz/eng/download.php

ที่มา http://www.thaicert.org/paper/basic/Secure_Shell.php