การติดตั้ง stunnel ใน FreeBSD เขียนเมื่อ 2009.10.01 โดย

Application ต่างๆ ที่ไม่รองรับการทำงานผ่าน SSL ใน FreeBSD นั้นเราสามารถทำให้รองรับการติดต่อบริการผ่าน SSL ได้เช่นกัน โดยเราอาศัยการทำงานของช่องทางเสมือนด้วยโปรแกรม stunnel ตัวอย่างบริการที่เราจะทำในที่นี้ได้แก่ ระบบอีเมล์ทั้งหมด เพื่อให้รองรับการทำงานผ่าน SSL ด้วย

การทำงานของ stunnel จะทำการเปิด port ขึ้นมาเพื่อรองรับการติดต่อจาก client โดยการสื่อสารทั้งหมดจะถูกเข้ารหัส และ stunnel จะทำการ forward ข้อมูลที่เหล่านั้นไปยังบริการจริงที่ทำงานอยู่

เริ่มจากการติดตั้ง stunnel ก่อนเลย
cd /usr/ports/security/stunnel
make install clean

จากนั้นก็สร้าง Directory เพื่อรองรับการทำงานของ stunnel ขึ้นมา
cd /var/run
mkdir -p stunnel
chown stunnel:stunnel stunnel
chmod 0622 stunnel

ทำการแก้ไขไฟล์ /usr/local/etc/stunnel/stunnel.conf ตามข้างล่างนี้
cert = /usr/local/etc/stunnel/mail.pem

chroot = /var/run/stunnel
setuid = stunnel
setgid = stunnel
pid = /var/run/stunnel/stunnel.pid

# แก้ปัญหา bug ของ eudora
options = DONT_INSERT_EMPTY_FRAGMENTS

output = /var/log/stunnel.log

socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1

# บริการต่างๆ

[pop3s]
accept = 192.168.1.3:995
connect = 110

[imaps]
accept = 192.168.1.3:993
connect = 143

[smtps]
accept = 192.168.1.3:587
connect = 25

การตั้งค่าของ stunnel ก็ง่ายครับ
cert เป็นตำแหน่งของ private key file
ส่วนบริการต่างๆ ก็เพียงระบุ port ที่ต้องการเปิดรอรับการติดต่อในส่วนของ accept และระบุค่า port ที่บริการนั้นๆ ทำงานอยู่จริง

ทดสอบด้วยการสั่งให้ทำงาน
/usr/local/etc/rc.d/stunnel start

จากนั้นถ้าต้องการให้ทำงานอัตโนมัติเมื่อ boot เครื่องให้แก้ไขไฟล์ /etc/rc.conf โดยเพิ่ม
stunnel_enable="YES"
stunnel_pid_file="/var/run/stunnel/stunnel.pid"


เท่านี้บริการต่างๆ ของเราก็สามารถรองรับการทำงานผ่าน SSL ได้แล้วครับ



คำเตือนคำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย