เกริ่นสักหน่อย ช่วงปี หรือสองปีที่แล้วเมื่อครั้งได้ดูแลระบบโคงข่ายให้เอกชนแห่งหนึ่ง ช่วงนั้นเป็นปีที่ประกาศใช้ พระราชบัญญัติว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ.2550 ซึ่งผมเองตื่นเต้น ตืนตัวพอสมควร พยายามศึกษา พยายามทำความเข้าใจ ว่าใครต้องทำอย่างไรบ้าง เอาเข้าจริงๆก็งง อยู่ กับภาษากฎหมาย แล้วก็งง ว่าแล้วถ้าเรา เป็นองค์กรเล็ก ๆล่ะ มีคอมพิวเตอร์ ประมาณ 50-100 เครื่อง แล้วต่ออินเตอร์เน็ตผ่าน ADSL เกี่ยวด้วยมั้ย สรุปก็คือเกี่ยวในมิตินึงในการให้บริการอินเตอร์เน็ต แล้วจะทำยังงัยได้บ้าง
ผมก็มาดูว่าโครงข่ายเรามีอะไรบ้าง ที่ทำอยู่ก็บริการอินเตอร์เน็ตอย่างเดียว hosting เวบ เมล ก็เช่าของเค้าหมด ภาระเรื่อง Server Log ก็ไม่มี แล้วอินเตอร์เน็ตที่ให้ในออฟฟิตใช้อยู่เค้าเข้าใช้อะไรกันบ้างล่ะ ไม่รู้เลย แล้วถ้าเกิดมีใครไปโพส ความเห็นข้างนอก แล้วเกิดเรื่องฟ้องร้องล่ะ ตามไปตามมา แล้วมาเจอ ip และ เบอร์โทรศัพท์ขององค์กร แล้ว องค์กร ต้องรับผิดขอบการกระทำนั้นด้วยหรือเปล่า แต่ถ้าองค์กรมีการเก็บข้อมูลการใช้งาน ก็จะชี้แจงได้ต่อว่าใครทำจะดีกว่ามั้ย แม้อาจไม่ได้ทำตาม พรบ. ทั้งหมดแต่อย่างน้อยก็ได้ทำอะไรบ้าง บนต้นทุนไม่กี่พัน และใช้ Software ฟรีๆ
ผมก็เริ่มด้วยตั้งเครื่องคอมพิวเตอร์มาเครื่องนึง ใส่ LAN CARD ไปสองใบ เอามาคั่นกลางระหว่าง ADSL Router กับ Switch หรือ Backbone Switch เดิม แล้วตัวเครื่องนั้น ช่วงแรกผมติดตั้งใช้งาน IP-COP อยู่พักนึง แล้วก็เปลี่ยนมาใช้ Smoothwall โดยสองตัวนี้ทำงานคล้ายๆกัน โดย Smoothwall มีฟังก์หลักๆที่ใช้ เช่น
Firewall , IDS : Intrusion Detection System ตรวจจับการบุกรรุกจากภายนอก หรือภายใน (ใช้ ข้อมูล จาก snort) , URL Filter , Advance Proxy พร้อมบันทึกการเข้าเวบไซต์ต่างๆ ป้องกันบล๊อกเวบไม่เหมาะสม , IM Proxy (instant messaging ) พร้อมระบบบันทึกข้อความที่คุยกันผ่านโปรแกรม MSN,Yahoo , Antiirus (ClamAV ) : ระบบป้องกัน virus ที่พร้อมใช้งาน
แค่นี้สำหรับผมก็พอเพียงแล้วดีว่าไม่มีอะไีรเลยเอาล่ะเริ่มกันเลยดีกว่า บทความนี้เขียนและปรับปรุงข้อมูลจาก บทความเดิม IP-COP ของคุณอดิศร ขาวสังข์ แห่งเวบไซต์ http://www.itwizard.info/ ซึ่งเนื้อหา Smoothwall Express การใช้งาน หลักการการติดตั้ง คล้ายกันมาก อาจแตกต่างในบางคุณสมบัติ ซึ่งคุณ อดิศร เขียนไว้ดีแล้ว ผมเลยเอามาปรับเนื้อหา ให้เหมาะสมดีกว่า ไม่ต้องเขียนใหม่ทั้งหมด (ขอบคุณ คุณอดิศร ขาวสังข์ สำหรับการแผยแพร่ บทความ IP-COP)
Smoothwall มีเป้าหมายเน้นทางด้านระบบความปลอดภัยของเครือข่ายเพราะฉะนั้นจึงเหมาะมากที่จะนำมาพัฒนาเป็น Firewall อย่างไรก็แล้วแต่ สำหรับผู้ใช้ที่ไม่ต้องการเน้นเรื่องของ Firewall มากนักเช่นองค์กรขนาดเล็กที่เน้นเรื่องของการทำ Proxy (Squid) หรือทำ NAT เพื่อให้เครื่องลูกข่ายภายในสำนักงานสามารถใช้งานอินเตอร์เน็ตได้ ผู้เขียนขอแนะนำว่า Linux ตัวนี้น่านำมาใช้มากครับ เพราะมีขนาดเล็ก (70 MB) กินทรัพยากรน้อย การคอนฟิกก็ง่ายมากเพราะสามารถคอนฟิกผ่าน Browser ได้ การเปิดบริการ Proxy ก็ไม่ยุ่งยากเมื่อติดตั้งเสร็จแล้วสามารถใช้งาน Proxy ได้เลย โดยเฉพาะถ้าต้องการใช้งาน Transparent Proxy ก็ง่าย แค่คลิ๊กเดียว ในส่วนของ NAT ติดตั้งเสร็จก็มีการทำ NAT ไว้ให้แล้วเช่นกัน
Smoothwall ได้ออกแบบระบบโดยกำหนด Network Interface เป็นรูปแบบของโทนสีจำนวน 4 สี (4 Network Interface) ดังนี้
- RED Network Interface เครือข่ายส่วนนี้เป็น Internet หรือ Untrusted Network จุดประสงค์หลักของ Smoothwall คือเพื่อป้องกันเครือข่าย (คอมพิวเตอร์) ในส่วนที่เป็น GREEN , BLUE และ ORANGE จากทราฟฟิกที่มาจาก RED Network
- GREEN Network Interface อินเตอร์เฟสนี้เชื่อมต่อกับคอมพิวเตอร์ภายในซึ่งเป็นส่วนที่มีการป้องกันจาก Smoothwall
- BLUE Network เครือข่ายส่วนนี้เป็นออพชันให้ผู้ใช้เชื่อมต่อกับอุปกรณ์ที่เป็น Wireless ที่เป็นเครือข่ายแยก (seperate network) ซึ่งคอมพิวเตอร์ในส่วนนี้ไม่สามารถติดต่อกับเครือข่าย GREEN ได้เว้นเสียแต่ถูกควบคุมแบบ "pinhole" หรือผ่าน VPN ทราฟฟิกที่จะมายังเครือข่ายนี้ถูก route ผ่าน Ethernet NIC
- ORANGE Network เครือข่ายส่วนนี้เป็นออพชันที่อนุญาตให้ผู้ใช้วางเซิร์ฟเวอร์ที่สาธารณสามารถเข้าถึงได้เป็นแบบแยก (seperate network) คอมพิวเตอร์ในส่วนนี้ไม่สามารถติดต่อกับ GREEN หรือ BLUE ได้ เว้นเสียแต่ถูกควบคุมโดย DMZ pinholes ทราฟฟิกที่เข้ามาเครือข่ายนี้ถูก route ผ่าน Ethernet NIC
คำแนะนำสำหรับหน่วยงานขนาดเล็กที่ต้องการแค่ทำ Proxy และ NAT
แม้ว่า Smoothwall จะเน้นการใช้งานสำหรับการทำ Firewall ที่อาจจะต้องมีการ์ดแลน 3 ถึง 4 การ์ดบนเครื่องที่เป็น Server แต่สำหรับผู้ใช้ที่ไม่ต้องการฟังก์ชันมากขนาดนั้นก็สามารถประยุกต์ใช้งานได้ครับ เช่นหน่วยงานที่ต้องการทำ Proxy และ NAT ซึ่งสามารถทำได้ด้วยการติดตั้งบน Server ที่มีการ์ดแลนแค่สองการ์ด พอติดตั้งเสร็จท่านก็สามารถใช้งาน NAT ได้เลย ถ้าอยากจะใช้งาน Proxy ก็ให้ทำการ Enable Proxy ผ่าน Browser หรือถ้าจะให้เป็น Tranparent Proxy ก็เช่นกัน หรือถ้าจะใช้งานฟังก์ชันอื่น ๆ อีก ก็สามารถคอนฟิกเพิ่มเติมได้เลย เช่นการใช้งาน VPN, การทำ DHCP Server, การทำ caching DNS Proxy , Dynamic DNS เป็นต้น.
ตัวอย่างการใช้งาน
จำลองเครือข่ายขึ้นมาจำนวน 4 เครื่องข่ายดังรูป ซึ่งในการใช้งานจริงของแต่ละหน่วยงานอาจจะไม่ได้เป็นแบบนี้นะครับ เช่นอาจจะมีแค่ 2 หรือ 3 อินเตอร์เฟสก็ได้ โดยในขั้นตอนของการติดตั้ง ในส่วนของการเลือกรูปแบบ ซึ่งขึ้นอยู่กับรูปแบบการเชื่อมต่อและจำนวนการ์ดแลนของแต่ละคน สามารถเลือกรูปแบบการติดตั้งได้ดังต่อไปนี้ :
• GREEN (RED is modem/ISDN)
• GREEN + RED (RED is Ethernet)
• GREEN + ORANGE + RED (RED is Ethernet)
• GREEN + ORANGE (RED is modem/ISDN)
• GREEN + BLUE + RED (RED is Ethernet)
• GREEN + BLUE (RED is modem/ISDN)
• GREEN + BLUE + ORANGE + RED (RED is Ethernet)
• GREEN + BLUE + ORANGE (RED is modem/ISDN)
GREEN + RED (RED is Ethernet) โดยอาจจะมีขั้นตอนที่ยุ่งยากนิดในส่วนของการเซ็ต Driver ให้กับการ์ดแลน ซึ่งตรงนี้ขอแนะนำให้อ่านคำแนะนำ (user guide ของ smoothwall)ให้ดี

รูปตัวอย่างการเชื่อมต่อใช้งาน Smoothwall
ตัวอย่างการคอนฟิกเพื่อใช้งาน
- การคอนฟิกในส่วนของ GREEN เมื่อเราติดตั้งเสร็จแล้วก็ให้คอนฟิกผ่าน Browser ของเครื่องที่อยู่ในวง GREEN โดยให้เรียกที่ที่ http://Smoothwall:81 ซึ่งจะ redirect ไปยัง https://Smoothwall:441 หรืออาจจะระบุเป็น IP Address ก็ได้ นั่นคือจากรูปสามารถเรียกได้เป็น http://192.168.1.254:81 หรือ https://192.168.1.254:441
โดยการใช้งานในขั้นแรกเครื่องที่อยู่ในวง GREEN สามารถใช้งาน Internet ได้เลยเพราะมีการทำ NAT บน Smoothwall ไว้แล้ว แต่ถ้าต้องการใช้งานอินเตอร์เน็ตผ่าน Proxy ก็ใำห้ทำการ Enabled on Green โดยไปที่เมนู SERVICES --- PROXY

รูปแสดงหน้าต่างการคอนฟิก Proxy
โดยถ้าต้องการให้เครื่อง Client ในวง GREEN สามารถใช้งานผ่าน Proxy (Squid) ที่ติดตั้งอยู่บน Gateway ที่เป็น Smoothwall ได้ก็ต้องสั่งให้ Enabled on Green โดยการใช้งาน ที่ Browser ของเครื่อง Client ต้องมีการกำหนดให้ชี้ Proxy ไปที่เครื่องที่เป็น Smoothwall แต่ถ้าให้ลดความยุ่งยากโดยที่ไม่ต้องกำหนดค่าที่ Browser ก็ทำได้ด้วยการสั่งให้ Transparent on green

การคอนฟิกในส่วนของ Extenal Access
ถ้าคุณต้องการที่จะเข้ามาคอนฟิกเครื่อง Smoothwall จากระยะำำไกล (Smoothwall machine remotely) ก็ทำได้ด้วยการเปิดพอร์ต 441 ซึ่งเป็น https ของ Smoothwall ซึ่งจะทำให้สามารถทำการ Remote config ผ่าน Red Interface ได้ และถ้าต้องการให้สามารถใช้งาน ssh (ssh access) ก็ให้ทำการเปิดพอร์ต 222 ซึ่งเป็น ssh ของ Smoothwall ดังรูป โดยในส่วนของกาำรกำหนด Source IP เราสามารถระบุเป็นเฉพาะเครื่องใดๆ หรือเฉพาะ Network ได้ แต่ในที่นี้เป็นการเปิดทั้งหมด (All) และถ้าีมีการสร้าง Alias ก็สามารถกำหนด Destination IP เป็น Alias IP ได้
การติดตั้งโปรแกรม Addons สำหรับ Smoothwall
โปรแกรมเสริมต่าง ๆ สำหรับ Smoothwall เช่น Addon Server, URL Filter, Advanced Proxy, Copfilter เป็นต้น ซึ่งเราสามารถดาวน์โหลดมาติดตั้งเพิ่มเติมให้กับ Smoothwall ได้ ซึ่งในที่นี้จะขอยกตัวอย่างการติดตั้ง :
1. การติดตั้งโปรแกรม Advanced Proxy เพื่อเพิ่มความสามารถให้กับผู้ที่ต้องการสิ่งอำนวยความสะดวกในเรื่องของ Proxy Server
2. การติดตั้งโปรแกรม URLFilter เพื่อใช้ในการกลั่นกรอง URL
ขั้นตอนการติดตั้ง Advanced Proxy add-on
1. ดาวน์โหลดแพ็กเกจที่เป็น Advanced Proxy ได้จาก Web Site -->
http://www.advproxy.net (Download Advanced Proxy for SmoothWall Express 3.0 (i386))
2. ทำการถ่ายโอนไฟล์จากเครื่อง Client ที่ได้ดาวน์โหลดแพ็กเกจ Advanced Proxy ไว้ไปยังเครื่อง Smoothwall โดยใช้โปรแกรม WinSCP ซึ่งสามารถดาวน์โหลดได้จาก http://winscp.net/eng/index.php โดยการถ่ายโอนไฟล์ในที่นี้ใช้ user ที่เป็น root ดังรูป โดยให้เลือก Port number เป็น 222 และ Protocol เป็น SCP ซึ่งเมื่อทำการ Login ได้แล้วจะเป็นดังรูป 2
**** ต้องเปิด SHH ใน Smoothwall ก่อนใช้ WinSCP,PuTTY ตั้งค่าผ่าน https://192.168.0.1:441 Menu SERVICE >>REMOTE ACCESS เลือก SSH และ SAVE

รูปการ Login ของโปรแกรม WinSCP ใช้สำหรับการถ่ายโอนไฟล์จากเครื่อง Client ไปยังเครื่อง Server ที่เป็น Smoothwall

รูปโปรแกรม WinSCP เมื่อ Login เรียบร้อยแล้ว
หลังจากนั้นให้ทำการถ่ายโอนไฟล์ที่เป็นแพ็กเกจของ Advanced Proxy ไปยังเครื่อง Server (Smoothwall)
3. ทำการ Login เข้าสู่เครื่อง Smoothwall Server โดยอาจจะ Login โดยตรงที่หน้าเครื่องหรืออาจจะ Telnet เข้าไปผ่าน ssh ก็ได้ ซึ่งในที่นี้ผู้เขียนเลือกใช้เป็นแบบ Telnet ผ่าน SSH โดยใช้โปรแกรม Pu TTY ดังรูปโดยให้เลือก Port เป็น 222 และเลือกโปรโตคอลเป็น SSH และเมื่อคลิ๊กที่ปุ่ม Open แล้วจะได้ดังรูปเพื่อให้เราป้อน Username และรหัสผ่าน ซึ่งในที่นี้ใช้ Username ที่เป็น root

รูปโปรแกรม PuTTY สำหรับการ Telnet ผ่าน SSH

รูปโปรแกรม PuTTY สำหรับให้ป้อน Username และรหัสผ่าน และพร้อมที่จะให้ทำงาน
4. ทำการขยายไฟล์ที่ได้ถ่ายโอนมาโดยใช้คำสั่ง (เข้าที่ Folder นั้น ๆก่อน #cd newsfolder)
# tar –xzf swe3-32-advproxy-2.1.7.tar.gz |
แล้วจะเกิด directory ใหม่ขึ้นมาชื่อว่า Smoothwall-advproxy การติดตั้งให้ทำการติดตั้งด้วยการเรียกไฟล์ชื่อ install ที่อยู่ใน directory ดังกล่าว ซึ่งอาจจะเรียกด้วยคำสั่ง
#Smoothwall-advproxy/install |
แล้วโปรแกรมก็จะทำการติดตั้ง อีกครั้ง Restart
เมื่อมีการติดตั้งโปรแกรมเสร็จแล้ว ที่เมนูของ Smoothwall web GUI จะมีการเปลี่ยนชื่อเมนูของ Proxy เป็น Advanced Proxy ดังรูปโดยเมื่อคลิ๊กเข้าไปดูจะเห็นว่ามีการเพิ่มฟังก์ชันต่าง ๆ เข้ามาเช่น Access control list , Time restriction, การกำหนดคุณสมบัติของ Browser ของเครื่อง Client เป็นต้น ดังรูป


การติดตั้งโปรแกรม URL Filter
คุณสมบัติของ URL Filter
- สามารถทำงานโดยเข้ากันได้กับ Blacklist ของ squidGuard
- มีความยืดหยุ่น สามารถบล็อก Categories ต่าง ๆ ที่ไม่ใช่ hardcored
- สามารถตั้ง schedule ให้อัพเดต Blacklist อัตโนมัติได้
- สามารถทำ constraints สำหรับ client เป็นแบบ time หรือ category
- เป็นของฟรีแม้ว่าจะใช้งานสำหรับ commercial
เรามาเริ่มติดตั้งตามขั้นตอนต่อไปนี้
1. ดาวน์โหลด URL Filter ได้จาก
http://www.urlfilter.net
2. ถ่ายโอนไฟล์จากเครื่อง Client ที่ได้ดาวน์โหลดโปรแกรม URL Filter มาไว้ไปยังเครื่อง Smoothwall โดยผ่านโปรแกรม WinSCP (ดูตัวอย่างของการติดตั้ง Advanced Proxy add-on)
3. ทำการ Login เข้าสู่เครื่อง Smoothwall Server โดยอาจจะ Login โดยตรงที่หน้าเครื่องหรืออาจจะ Telnet เข้าไปผ่าน ssh ก็ได้ ซึ่งในที่นี้ผู้เขียนเลือกใช้เป็นแบบ Telnet ผ่าน ssh โดยใช้โปรแกรม PuTTY ของขั้นตอนการติดตั้ง Advanced Proxy add-on โดยให้เลือก Port เป็น 222 และเลือกโปรโตคอลเป็น SSH (ดูตัวอย่างของการติดตั้ง Advanced Proxy add-on)
4. เข้าไปยังตำแหน่งของโปรแกรม URL Filter ที่ได้ถ่ายโอนเข้ามา แล้วทำการแตกไฟล์โดยใช้คำสั่ง :
#tar -xzf swe3-32-urlfilter-1.5.2-beta1.tar.gz
5. เข้าไปยัง directory ที่เกิดจาำกคำสั่ง tar (Smoothwall-urlfilter) แล้วติดตั้งโปรแกรมด้วยการเรียกใช้งานไฟล์ install ซึ่งอาาจะเรียกเป็น :
#Smoothwall-urlfilter/install
6. เมื่อติดตั้งเสร็จแล้ว Restart เราสามารถใช้งานโปรแกรม Url Filter ได้จาก Browser ซึ่งจะมีเมนูชื่อว่า URL FILTER เพิ่มขึ้นมาดังรูป

รูปเมนู URL FILTER หลังจากติดตั้งโปรแกรม URL FILTER แล้ว
การติดตั้ง Smoothwall
1. download ไฟล์ Smoothwall Iso
ในขั้นตันต้องไปดาวน์โหลดไฟล์ .iso ของ Smoothwall linux จาก http://www.Smoothwalls.org ก่อน
2. เขียน smoothwall-express-3.0-i386.iso ลงแผ่นซีดี

เมื่อได้ไฟล์ .iso แล้ว จากนั้นก็เขียนลงในแผ่น CDR จากรูปด้านบนเป็นการเขียนไฟล์โดยใช้ โปรแกรม Nero Express เลือกเมนู Disc Image or Saved Project ซึ่งเป็นการบอกโปรแกรมว่าเราจะกำหนดไฟล์ที่จะเขียนเอง และเลือก Files of Type: เป็น
Image Files (*.nrg, *.iso, *.cue) คลิ๊กที่ smoothwall-express-3.0-i386.iso
ทำตามขั้นตอนต่างๆของการเขียนแผ่น จนจบ ท่านก็จะได้แผ่น image ของ Smoothwall-1.4b6 ซึ่งสามารถบู๊ทได้ และสามารถติดตั้งในขั้นตอนต่อๆไปได้ ...
ตัวอย่างหน้าจอการติดตั้ง


ทำการ boot เคริ่องเพื่อทำหารติดตั้ง Smoothwall แต่ก่อนอื่นต้องตั้งค่าให้เครื่อง boot จาก CDROM แล้วก็จะมาถึงการแสดงหน้าจอดังรูปด้านบน
กดปุ่ม Enter ให้แผ่นบู๊ท

เลือก OK เพื่อยอมรับว่าแผ่นติดตั้งโปรแกรมลงในเครื่องและหากเลือก Cancel ในหน้าจอต่อๆไป ก็จะทำการรีบู๊ทเครื่อง
Smoothwall สามารถติดตั้งได้จากหลายๆแหล่ง ในที่นี้เป็นการติดตั้งจากแผ่น CDROM
ข้อพึงระวังก็คือ ข้อมูลใน Hard Drive จะถูกลบไปทั้งหมดและตั้ง Smoothwall LINUX แทน




กำหนดชนิดของคีย์บอร์ด เป็น us และกำหนดเขตเวลาเป็น กรุงเทพฯ ตามรูป

ตั้งชื่อเครื่อง



เลือกเป็น แบบเขียว (GREEN) กับแดง (RED) โดยที่เขียวคือเครือข่ายที่จะปลอดภัยเป็นเครือข่ายภายใน ส่วนแดงจะเป็นตัวที่ติดต่อกับภายนอก (อินเทอร์เน็ต)

บางครั้งระบบจะค้นหาการ์ดที่กำหนดให้เป็นเน็ทเวิร์กแดง ตอบ OK เพื่อกำหนดให้เป็นของแดง และเลืก Quit เพื่อออกจากการตั้งค่าระบบเครือข่าย (ทำครั้งเดียวหลังการติดตั้ง หรือเมื่อต้องการเปลี่ยนแปลงระบบเครือข่าย)
ในการติดตั้ง Smoothwall linux ต้องมี Network Interface Card (NIC) อย่างน้อยสองตัวหาก ADSL โมเดมเป็นแบบ RJ45 แต่อาจจะมีตัวเดียวก็ได้หากโมเดมเป็นแบบ USB เนื่องจากผมไม่ได้ใช้แบบ USB จึงขอกล่าวถึงเฉพาะการเชื่อมต่อแบบ Ethernet เพียงเท่านั้น เข้าใจว่าคงไม่น่าจะแตกต่างกันในเรื่องของแนวทาวปฏิบัติมากนัก
เมื่อติดตั้งเสร็จแล้ว ระบบจะทำการค้นหา driver ของอุปกรณ์ NIC โดยการเลือก "Probe"
เมื่อค้นพบชนิดของ NIC และติดตั้ง driver แล้วก็จะเป็นการกำหนดหมายเลข IP ของการ์ด (ตัว Firewall)

IP : 192.168.1.254

IP : 192.168.0.1/24 (FIX วงเดียวกับ Router)

DNS : 192.168.1.254
DNS : 192.168.0.254
GATEWAY : 192.168.0.254






ทดลอง ...
การเข้าถึงตัว Smoothwall Linux Firewall สามารถเข้าถึงผ่านทางเว็ปได้โดยการพิมพ์
http://192.168.0.1:81 หรือ https://192.168.0.1:441 ตามสะดวก หรือท่านอาจจะใช้หมายเลข IP ก็ได้เหมือนกัน การเข้าถึงด้วยเว็บเพื่อการตั้งค่าการเชื่อมต่อ อินเทอเน็ต และอื่นๆ
https://192.168.0.1:441
ใส่รหัสผ่านของ admin


จบข่าว ;)