LAMPS ภาคสอง : ตัว S ที่หายไป

ตอนที่แล้วเขียนเรื่อง LAMP ตะเกียงวิเศษของนักพัฒนาเวบไซต์ มีผู้อ่านหลายท่านแนะนำมาครับ ว่าถ้าจะให้ครบเครื่องจริงๆ ต้องเพิ่มตัว S เข้ามาอีกตัวหนึ่ง โดยมาจาก SSL (Secure Socket Layer) ซึ่งเป็นเทคโนโลยีด้านการเข้ารหัส จะได้เป็น LAMPS ชุดเครื่องมือที่เหมาะกับเวบไซต์เชิงพาณิชย์ (เช่น อีคอมเมิร์ซ เป็นต้น) แต่นอกจาก SSL แล้วยังมีแนะนำมาอีกหลายตัวครับ แต่ละตัวเป็นโปรแกรมที่ได้ยินบ่อยในวงการโอเพ่นซอร์ส ผมเลยถือโอกาสแนะนำโปรแกรมที่ขึ้นต้นด้วยตัว S ซะคราวนี้เลย



SSL อันนี้คือเจ้าของตัว S ในคำว่า LAMPS (Linux, Apache, MySQL, Perl/PHP/Python และ SSL) SSL ย่อมาจากคำว่า Secure Socket Layer เป็นโปรโตคอลด้านการเข้ารหัสข้อมูลที่เริ่มโดยบริษัท Netscape Communications ผู้สร้างเวบบราวเซอร์ Netscape Navigator สร้างขึ้นเพื่อให้ผู้ใช้งานเวบที่ต้องการความปลอดภัยของข้อมูลค่อนข้างสูง เช่น ซื้อของผ่านเวบไซต์ ได้มีหลักประกันว่า ถ้าเกิดแฮคเกอร์ดักข้อมูลสำคัญๆ อย่าง หมายเลขบัตรเครดิตไปได้ ก็จะไม่สามารถอ่านหมายเลขนั้นได้เพราะมีการเข้ารหัสไว้



ปัจจุบัน SSL กลายเป็นมาตรฐานของการเข้ารหัสข้อมูลผ่านเวบแล้ว เวบไซต์อีคอมเมิร์ซจำนวนมากต่างเข้ารหัสข้อมูลการสั่งซื้อเป็น SSL รวมถึงเวบไซต์ดังๆ อย่าง Amazon หรือ eBay วิธีการสังเกตว่าเวบไซต์ไหนมีการเข้ารหัสแบบ SSL ให้ดูที่ Statusbar ของบราวเซอร์ครับ ถ้าเป็นรูปแม่กุญแจล็อกอยู่ หรือดู URL ว่าขึ้นต้นด้วย https:// แทนที่จะเป็น http:// (s มาจาก secure) แสดงว่าตอนนั้นคุณใช้งาน SSL อยู่นั่นเอง



Squid โปรแกรม Squid ที่แปลว่าปลาหมึกตัวนี้ เป็นพร็อกซี่เซิร์ฟเวอร์ครับ ต้องอธิบายคำว่า พร็อกซี่ (proxy) ก่อน ตามปกติแล้ว ถ้าเราเรียกข้อมูลจากเวบไซต์สักแห่ง เวบไซต์นั้นจะส่งข้อมูลมายังเครื่องคอมพิวเตอร์ของเราโดยตรง ซึ่งจะเกิดปัญหาว่า ถ้าเราต้องการเรียกดูเวบไซต์เดิมอีกครั้ง เราจำเป็นต้องขอข้อมูลจากเวบไซต์นั้นใหม่ ทำให้เปลืองแบนด์วิธขององค์กร ด้วยเหตุนี้จึงเกิดแนวคิดเรื่องพร็อกซี่ขึ้น โดยพร็อกซี่จะทำหน้าที่เป็นตัวกลางระหว่างเครื่องของเรากับเวบไซต์นั้น เมื่อเราเรียกอ่านเวบไซต์ครั้งหนึ่งแล้ว ข้อมูลจะถูกเก็บไว้ในพร็อกซี่เซิร์ฟเวอร์ พอเรียกดูครั้งที่สอง จะเป็นการเรียกข้อมูลจากพร็อกซี่เซิร์ฟเวอร์ ทำให้ประหยัดเวลาและแบนด์วิธไม่ต้องเรียกไปถึงตัวเวบไซต์จริงครับ ปัจจุบันเกือบทุกองค์กรและทุก ISP มีการทำพร็อกซี่เพื่อเก็บข้อมูล ซึ่งโปรแกรมพร็อกซี่โอเพ่นซอร์สที่ได้รับความนิยมสูงสุดก็คือ Squid นั่นเอง (http://www.squid-cache.org)



Samba เป็นโปรแกรมที่ช่วยในการแชร์ไฟล์หรือพรินเตอร์ผ่านเครือข่าย ชื่อ Samba มาจากการอ่านตัวย่อโปรโตคอลในการแชร์ไฟล์ของไมโครซอฟท์ที่เรียกว่า SMB (Server Message Block) เดิมที Samba มีชื่อว่า smbserver แต่โดนปัญหาเรื่องชื่อทางการค้าไปซ้ำกับคนอื่น เลยเปลี่ยนเป็น Samba นี่ล่ะครับ ลินิกซ์เครื่องที่ติดตั้ง Samba ไว้ เราสามารถมองเห็นได้ผ่าน Network Neighborhood ของวินโดว์สได้เหมือนกับแชร์เครื่องวินโดว์สเลย ปัจจุบัน Samba กำลังจะออกรุ่น 3.0 อยู่รอมร่อแล้ว เวบไซต์อยู่ที่ www.samba.org



SSH ชื่อคล้ายกับ SSL เลยนะครับ SSH ย่อมาจาก Secure Shell เป็นโปรโตคอลอีกตัวหนึ่งเหมือนกัน เอาไว้ควบคุมเครื่องคอมพิวเตอร์ที่อยู่ที่อื่น โดยเราสามารถใส่คำสั่งให้คอมพิวเตอร์เครื่องนั้นได้ผ่านคอมมานด์ไลน์ หลายคนอาจจะเคยได้ยินคำว่า telnet ที่เป็นหน้าจอสีดำตัวหนังสือสีขาวและมีแต่ตัวหนังสือ อันนั้นเป็นต้นตระกูลของ SSH ล่ะครับ เพียงแต่ telnet นั้นไม่สนับสนุนความปลอดภัยของข้อมูล ถ้าเกิดเราป้อนรหัสผ่านทาง telnet มีโอกาสที่จะถูกดักรหัสไปได้ง่าย telnet จึงพัฒนามาเป็น SSH ที่มีการเข้ารหัสของข้อมูล โปรแกรม SSH ปรากฏในหนังเกี่ยวกับแฮคเกอร์หลายเรื่อง อย่างเช่น Matrix Reloaded ครับ