linux training in Thailand
| Home | Articles | Download | Free Linux Tips | Resources | Training | Web Link | Linux Training English|
| Courses | Schedule | Price & Promotion | Map | Customer Ref. | Instructors | Certification | FAQ | Registration Form |
สถาบันฯ ขอแจ้งปิดทำการระหว่างวันที่ 27 -31 กรกฏาคม 2558 และเปิดทำการปกติวันที่ 3 สิงหาคม 2558
We are on vacations 5 days in July 27-31, 2015 Please contract Line ID : nok_fly or e-mail : info@itdestination.com
ITDestination จะปิดปรับปรุงเว็บไซต์ ตั้งแต่วันที่ 7 - 9 มิถุนายน 2556
อาจจะทำให้ใช้งานไม่ได้ในบริการ Webboard Freetips และ E-Learning จึงขออภัยในความไม่สะดวกมา ณ ที่นี้
สถาบันฯ ขอแจ้งปิดทำการวันที่ 22-28 กุมภาพันธ์ 2560 และจะเปิดทำการปกติในวันที่ 1 มีนาคม 2560
กรณีติดต่อส่งข้อความมาที่ Facebook: LinuxITDestination หรือ e-mail: info@itdestination.com ซึ่งจะติดต่อกลับประมาณ 17.00 น.
ผู้ลงทะเบียนอบรมสามารถทำข้อสอบ online ในช่วงที่มาอบรมเพื่อทบทวนความรู้ ทำได้ไม่จำกัดจำนวนครั้ง มีข้อเฉลยที่ถูกต้องแนะนำ
สอบถามรายละเอียดโทร 089 890-5494 >>> อ่านรายละเอียด... คลิ๊ก

ร่ายมนตราแห่งไฟร์วอลล์ด้วย Arno's Firewall Script

โดย ธีรภัทร มนตรีศาสตร์ RHCE,LPIC-2
มานะ ศฤงคารรัตนะ RHCE,LPIC-2

"ปัญหาความซับซ้อนของคำสั่ง IPTABLES ในการสร้างนโยบายให้แก่ลีนุกซ์ไฟร์วอลล์ กำลังจะถูกขจัดออกไปคงเหลือแต่ประสิทธิภาพและความง่ายดายในการใช้งาน ราวกับการร่ายมนตร์ที่แสนอัศจรรย์…"
ปัจจุบันเป็นที่ทราบกันดีอยู่แล้วว่าอินเตอร์เนตเข้ามามีบทบาทในชีวิตประจำวันมากขึ้น โดยเฉพาะในยุคอินเตอร์เนตความเร็วสูงที่กำลังเป็นที่ได้รับความนิยมมากขึ้นเรื่อยๆเนื่องจากมีราคาถูกลง ดังนั้นกลุ่มผู้ใช้อินเตอร์เนตความเร็วสูงจึงไม่ถูกจำกัดอยู่ในวงขององค์กรขนาดกลางถึงสูงอีกต่อไป ข้อดีของการใช้อินเตอร์เนตความเร็วสูงนั้นทำให้เราสามารถใช้งานได้หลากหลายมากขึ้น แต่สิ่งทีตามมาเป็นคู่ขนานกับข้อดีนั่นคือ ไวรัส หนอนหรือการโจมตีในรูปแบบต่างๆในโลกอินเตอร์เนตก็สามารถทำงานหรือแพร่กระจายได้รวดเร็วมากขึ้น ทำไมไวรัสหรือหนอนบางตัวยังไม่หมดไป ทำไมหนอนอย่าง W32.Blaster.Worm หรือ W32.Sasser.Worm จึงยังไม่หมดไปและยังวนเวียนอยู่ระบบอินเตอร์เนต ด้วยความเข้าใจที่ผิดของผู้ใช้คือ คิดว่าตนได้ทำการปรับปรุงข้อมูลเกี่ยวกับไวรัสล่าสุดแล้วหนอนเหล่านี้จะไม่สามารถทำอันตรายได้ แต่หนอนเหล่านี้ใช้การโจมตีจุดอ่อนของระบบปฏิบัติการวินโดวส์เมื่อเข้ายึดครองเครื่องเป้าหมายได้แล้วจะทำการแพร่กระจายต่อ หนอน Blaster จะโจมตีที่พอร์ต 135 และหนอน Sasser จะโจมตีที่พอร์ต 445 ดังนั้นการป้องกันคือ เราต้องปรับปรุงวินโดว์สให้ทันสมัยอยู่เสมอหรือทำการปิดพอร์ตที่หนอนเหล่านี้จะทำการโจมตีด้วยไฟร์วอลล์ ต้องตระหนักถึงความน่ากลัวในโลกอินเตอร์เนต คนดีมาก คนนิสัยไม่ดีก็มีไม่น้อยเช่นกัน ผู้บริหารระบบคอมพิวเตอร์บางท่านต้องการให้คนในองค์กรสามารถใช้อินเตอร์เนตได้พร้อมๆ กัน เพียงคลิกไม่กี่ครั้งที่เซิร์ฟเวอร์ก็สามารถทำให้คนในองค์กรสามารถใช้อินเตอร์เนตได้แล้ว แต่หารู้ไม่ว่าการทำแบบนี้โดยไม่ตระหนักถึงเรื่องความปลอดภัยแล้ว เมื่อใช้งานไปสักระยะเจ้าหนอน Blaster หรือ Sasser พร้อมจะกลับมาเยือนท่านได้ บางท่านเข้าใจว่า " ผมใช้ลีนุกส์คงไม่เป็นไร(มั้ง)" ถึงแม้ลีนุกซ์อาจจะไม่มีผลกระทบกับหนอนที่ได้กล่าวไปแล้วข้างต้นแต่การโจมตีทางอินเตอร์เนตยังมีอีกหลายรูปแบบ ดังนั้นการมีไฟร์วอลล์จึงเป็นเรื่องจำเป็นสำหรับองค์กรไปจนถึงระดับผู้ใช้ตามบ้าน ไฟร์วอลล์แพงๆ ทั้งนั้น ปัจจุบันทั้งในระดับองค์กรขนาดเล็กหรือตามบ้านนั้นการมีเราเตอร์คงเป็นเรื่องปกติไปแล้ว ซึ่งโดยส่วนใหญ่มีไว้เพื่อการแชร์อินเตอร์เนตภายในเครือข่ายของตน เราเตอร์บางตัวมีไฟร์วอลล์มาให้ซึ่งอาจจะช่วยป้องกันการแพร่ไวรัสที่โจมตีผ่านพอร์ต อย่าง Blaster หรือ Sasser ได้ กล่าวได้ว่าไฟร์วอลล์กลายเป็นเรื่องจำเป็นสำหรับยุคปัจจุบันไปแล้ว ผู้เขียนเคยลองหาไฟร์วอลล์ที่จะมาใช้ภายในองค์กรปรากฏว่าไฟร์วอลล์ที่มีรูปแบบเป็นอุปกรณ์สำเร็จรูปมีราคาหลายระดับ เริ่มตั้งแต่หลักหมื่นไปจนถึงหลักล้าน แต่สำหรับท่านที่ใช้ลีนุกส์เป็นเกตเวย์ท่านสามารถที่จะเปลี่ยนลีนุกซ์ให้เป็นไฟร์วอลล์แบบ stateful firewall ได้ด้วยโปรแกรม Netfilter/Iptables หรือที่เรียกกันสั้นๆ ว่า iptables ซึ่งคุณสมบัติ stateful นี้มีใช้กันในไฟร์วอลล์ราคาแพงๆ เช่นกัน ( คำว่า stateful firewall หรือ stateful inspection เป็นลักษณะของการตรวจสอบสถานะของการสื่อสารระหว่างโฮสต์ในระบบเครือช่าย เช่น ตรวจสอบสถานะว่าเป็นแบบการเชื่อมต่อแบบใหม่หรือเป็นการเชื่อมต่อเดิม ท่านสามารถอ่านรายละเอียดเพิ่มเติมได้จาก thaicert.nectec.or.th ) ใช้ iptables ต้องเขียนกฏของไฟร์วอลล์เองเลยหรือ การติดตั้งไฟร์วอลล์ในลีนุกส์คือการนำคำสั่งของ iptables มาเรียงลำดับให้เป็นไปตามกฏที่ต้องการ แต่การที่จะเข้าใจถึงกฏการเขียน iptables เพื่อให้ได้มาซึ่งไฟร์วอลล์นั้นเป็นเรื่องที่ต้องศึกษาและใช้เวลาพอสมควร บางท่านลองศึกษาไปสักระยะอาจจะถึงกับเกิดอาการท้อแท้ หมดไฟ พาลไม่ติดตั้งไฟร์วอลล์ไปเลยก็มี ในสภาวะที่ต้องการใช้งาน iptables โดยเร็ว แต่ความพร้อมยังไม่เต็มร้อย น่าจะมี "ตัวช่วย" บ้างก็คงจะดี อย่างน้อยก็ให้สามารถเริ่มต้นระบบได้ก่อน เมื่อมีความพร้อมมากยิ่งขึ้นจึงค่อยต่อเติมระบบกันในขั้นต่อไป ( แต่ทั้งนี้และทั้งนั้นท่านก็ควรศึกษา iptables ไว้เพื่อใช้ในการกำหนดให้ไฟร์วอลล์มีความยืดหยุ่นมากขึ้น ) "ตัวช่วย" ที่ว่านี้ ในโลกของโอเพ่นซอร์สมีผู้เขียนสคริปต์ไฟร์วอลล์สำเร็จรูปที่ใช้กับ iptables ไว้มากมาย เพียงแต่เราเปลี่ยนแปลงคอนฟิกเกอเรชันให้ตรงกับระบบเครือข่ายของเราเพียงเล็กน้อย จากนั้นเราก็สามารถที่จะใช้เครื่องคอมพิวเตอร์ที่เราใช้ในการแชร์อินเตอร์เนตเป็นไฟร์วอลล์ภายในตัวได้ทันที ในที่นี้อยากแนะนำโปรแกรมสคริปต์ไฟร์วอลล์ที่ใช้งานง่ายให้รู้จัก 2 ตัว คือ Arno's firewall และ Shorewall ซึ่งถ้าเทียบกันระหว่าง Arno's firewall กับ Shorewall แล้ว ผู้เขียนคิดว่า Arno's firewall จะใช้งานได้ง่ายกว่า เรียกว่าแทบจะไม่ต้องรู้เรื่องเกี่ยวกับ iptables เลยก็สามารถสร้างลีนุกซ์ไฟร์วอลล์ได้แล้ว และไฟล์คอนฟิกเกอเรชันของ Arno's firewall ยังมีคำอธิบายไว้โดยละเอียด ดังนั้นผู้เขียนจึงขอแนะนำ Arno's IPTABLES Firewall Script มาใช้ในการทำไฟร์วอลครั้งนี้ ต้องเตรียมเครื่องสำหรับ Arno's firewall อย่างไร คงมีคำถามอยู่ในใจใช่ไหมครับว่าเราต้องติดตั้งลีนุกซ์อย่างไรให้เป็นไฟร์วอลล์ ทั้งนี้ขึ้นอยู่กับท่านจะมีงบมากหรือน้อย ถ้าท่านมีเซิร์ฟเวอร์เพียงเครื่องเดียวใช้งานทุกอย่างภายในองค์กรและไม่ต้องการลงทุนเพิ่มก็สามารถติดตั้งไฟร์วอลล์ในเครื่องเดียวกันก็ได้ แต่ถ้าจะให้ดีควรแยกเกตเวย์มาจากเซิร์ฟเวอร์ที่ท่านใช้งานภายในองค์กรของท่านเพื่อความรวมเร็วในการทำงานของไฟร์วอลล์ โดยการแยกเครื่องนี้อาจจะทำหน้าที่เป็น เกตเวย์ พร็อกซี่และไฟร์วอลล์ สำหรับแบบจำลองที่จะยกตัวอย่างนี้จะสมมุติการตั้งไฟร์วอลล์สำหรับองค์กรขนาดเล็กที่ใช้การเชื่อมต่อกับอินเตอร์เนตตามลักษณะการใช้งานอยู่ 2 แบบ คือ
  1. ใช้งานผ่านโมเดม
  2. ใช้งานผ่าน ADSL Router
แบบที่ 1 การติดตั้ง Arno's Firewall กับโมเด็ม ถ้าองค์กรขนาดเล็กๆ อาจจะมีเซิร์ฟเวอร์อยู่เพียงตัวเดียว ทำงานตั้งแต่เป็น ไฟล์เซิร์ฟเวอร์ พริ้นต์เซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์ และเมล์เซิร์ฟเวอร์ โดยมีการเชื่อมต่อกับอินเตอร์เนตโดยใช้ dialup modem แบบ 56 Kbps ในกรณีนี้จะต้องเปลี่ยนแปลงคอนฟิกเกอเรชัน 2 จุด คือ ตัวแปร EXT_IF ( External Interface ) จะต้องเป็น PPP+ ( โมเด็มชนิด Dialup ทำงานด้วยโปรโตคอล PPP ) และเปิดให้ใช้งานแอพพลิเคชันบนเครื่องที่ติดตั้งไฟร์วอลล์ ( ที่เรามักเรียกว่า "การเปิดพอร์ต" ) สมมุติว่ามีเมล์เซิร์ฟเวอร์ และเว็บเซิร์ฟเวอร์ เป็นตัวเดียวกับไฟร์วอลล์ ดังรูปที่ 1


รูปที่ 1 ภาพการเชื่อมต่ออินเตอร์ผ่านโมเด็ม

แบบที่ 2 การติดตั้ง Arno's Firewall แยกต่างหาก การติดตั้งลักษณะนี้ เป็นการติดตั้งไฟร์วอลล์แยกต่างหากอีกเครื่องหนึ่ง ถ้ามีงบประมาณพอที่ซื้อเครื่องคอมพิวเตอร์ได้ ก็ควรทำในลักษณะเช่นนี้ เซิร์ฟเวอร์ทั้งหลายจะทำงานอยู่หลังไฟร์วอลล์ทำให้เครื่องที่ทำหน้าที่ไฟร์วอลล์ทำงานเร็วขึ้น และดูแลรักษาได้ง่ายกว่า ซึ่งปกติแล้วเราไม่ควรติดตั้งแอพพลิเคชันทั้งหมดไว้ในเซิร์ฟเวอร์ตัวเดียว กรณีเกิดปัญหาขึ้นกว่าจะทำให้เซิร์ฟเวอร์กลับมาทำงานได้ครบทุกแอพพลิเคชันคงใช้เวลาแก้ไขพอสมควรทีเดียว กรณีที่เราเลือกที่จะติดตั้ง Arno's Firewall ไว้ต่างหากเช่นนี้ ที่ตัวไฟร์วอลล์จึงไม่จำเป็นต้องเปิดพอร์ตใดๆ เพียงแต่ถ้ามีผู้ร้องขอบริการต่างๆ ไม่ว่าจะเป็นเมล์หรือเว็บเซิร์ฟเวอร์เราจะทำการฟอร์เวิร์ดพอร์ตไปยังเซิร์ฟเวอร์ที่อยู่หลังไฟร์วอลล์ เช่น มีผู้ร้องของการใช้บริการของเว็ปซึ่งใช้พอร์ต 80 เราจะต้องฟอร์เวิร์ดพอร์ต 80 ไปยังไอพีแอดเดรสของเครื่องเซิร์ฟเวอร์ที่เปิดให้บริการเว็ปดังรูปที่ 2


รูปที่ 2 ภาพการเชื่อมต่ออินเตอร์เนตผ่าน Router

ทำความรู้จักกับ Arno's Firewall เริ่มจากคุณ Arno van Amersfoort ( a r n o v a AT x s 4 a l l DOT n l ) มีความต้องการที่จะปกป้องเครือข่ายที่ทำงานให้ปลอดภัยสำหรับการใช้งานเครื่องคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการลีนุกส์ แต่หาโปรแกรมที่ถูกใจไม่ได้ และไปพบกลุ่มคนที่เรียกตัวเองว่า "Seven" ซึ่งเขียนสคริปต์ไฟร์วอลล์สำหรับ iptables จึงเข้าร่วมพัฒนากับกลุ่ม Seven ซึ่งต่อมากลายมาเป็น Arno รับผิดชอบพัฒนาเป็นหลักและทำให้เกิด Arno's firewall ขึ้นมา แนวคิดของ Arno's Firewall เพื่อให้การใช้งาน Arno's firewall ง่ายต่อการบำรุงรักษา Arno จึงตั้งสมมุติฐานของไฟร์วอลล์ของเขาด้วยการเปิดการใช้งานทั้งหมดภายในเครือข่ายในสู่เครือข่ายภายนอกหรืออินเตอร์เนตโดยอิสระ และป้องกันการเข้าถึงจากด้านนอกทั้งหมดเข้าสู่เครือข่ายภายใน ท่านสามารถดาวน์โหลดสคริปต์ Arno's firewall ได้ที่ http://rocky.molphys.leidenuniv.nl/ ในเวบนี้จะมีแนวทางการติดตั้งเบื้องต้นและคำถามที่ถูกถามบ่อยอยู่ในนั้น หลังจากนั้นเราจะไปที่เมนู Download ให้ท่านผู้อ่านเลือกเวอร์ชันที่จะดาวน์โหลดเป็น Stable release มาใช้งาน ( ขณะที่เขียนบทความนี้เป็นเวอร์ชัน 1.8.2a-STABLE ) เมื่อดาวน์โหลดไฟล์ arno-iptables-firewall-1.8.2a-stable.tgz ให้ทำการแตกไฟล์ภายใต้ไดเรกทอรี /arno/182 เมื่อแตกไฟล์เรียบร้อยจะได้ไฟล์ทั้งหมด 10 ไฟล์ ไฟล์ที่ใช้ในการทำงานหลักคือ ไฟล์ rc.iptables และ ไฟล์ iptables-firewall.conf ขั้นตอนการติดตั้ง Arno's Firewall
  1. เปลี่ยนสิทธิ์ความเป็นเจ้าของไฟล์ให้เป็น root
  2. เปลี่ยนสิทธิ์การเข้าถึงไฟล์เป็น 700 สำหรับไฟล์ rc.iptables และไฟล์ iptables-firewall.conf เป็น 600
  3. แก้ไขข้อมูลภายในไฟล์ iptables-firewall.conf ดังนี้
    ไฟล์ iptables-firewall.conf EXT_IF="eth0" # กรณีเชื่อมต่อกับอินเตอร์เนตด้วยเร้าท์เตอร์
    #EXT_IF="ppp+" # กรณีเชื่อมต่อกับอินเตอร์เนตด้วยโมเด็ม
    #EXT_IF_DHCP_IP=1 # กรณีเชื่อมต่อกับ ISP ด้วยโมเด็มและต้องใช้ DHCP จาก ISP
    # ต้องใช้คู่กับ EXT_IF="ppp+"
    INT_IF="eth1" # การ์ดแลนที่ติดต่อกับเน็ตเวิร์กภายใน
    INTERNAL_NET="192.168.1.0/24" #วงเน็ตเวิร์กภายใน
    NAT=1 # ทำการ NAT ออกไปด้วย EXT_IF
  4. หลังจากนั้นให้ทำการแก้ไขไฟล์ rc.iptables ดังนี้
    ไฟล์ rc.iptables
    CONFIG_FILE=/arno/182/iptables-firewall.conf
  5. สั่งให้ Arno's Firewall ทำงานด้วยคำสั่ง /arno/182/rc.iptables start จากนั้นเครื่องในวง 192.168.1.0/24 จะสามารถออกอินเตอร์เนตได้พร้อมกับมีไฟร์วอลล์ป้องกัน
รู้จัก iptables-firewall.conf ให้มากขึ้น
  • การกำหนดคอนฟิกเกอเรชันของไฟล์ iptables-firewall.conf นั้นค่อนข้างจะง่าย เนื่องจากมีคำอธิบายในแต่ละตัวแปรอยู่ในไฟล์ จากภาพสมมุติการเชื่อมต่อกับอินเตอร์เนตด้วยโมเดม ( ภาพที่ 1 ) เรามีแอพพลิเคชั่นในการให้บริการอยู่ตัวเดียวกับเครื่องที่ติดตั้งไฟร์วอลล์เราจะต้องเปิดพอร์ตเพื่อให้ผู้ใช้จากอินเตอร์เนตสามารถใช้งานแอพพลิเคชั่นได้ ในที่นี้สมมุติว่ามีแอพพลิเคชันที่ให้บริการคือ เว็บและเมล์ ดังนั้นเราจะต้องเปิดพอร์ต 80 ( http ), 25 ( smtp ),110 ( pop3 ) โดยไปแก้ไขที่ไฟล์ iptables-firewall.conf ดังนี้
    OPEN_TCP="80 25 110"
    หลังจากนั้นสั่งให้ Arno's Firewall อ่านค่าคอนฟิกเกอเรชันใหม่ด้วยคำสั่ง /arno/182/rc.iptables restart
  • ในกรณีติดตั้งแอพพลิเคชันอยู่คนละตัวกับไฟล์วอลล์เราจะใช้เทคนิคที่เรียกว่า "การฟอร์เวิร์ดพอร์ต" ซึ่งเราไม่จำเป็นต้องรู้เกี่ยวกับคำสั่งของ iptables เพียงแต่ต้องรู้ว่าเราจะต้องฟอร์ดเวิร์ดพอร์ตอะไร และเครื่องที่ทำหน้าที่ให้บริการอยู่หลังไฟร์วอลล์มีเบอร์ไอพีใด เมื่อกำหนดเรียบร้อยเครื่องที่ให้บริการเว็บและเมล์ก็จะสามารถให้บริการกับผู้ใช้ที่มาจากอินเตอร์เนตได้ โดยการแก้ไขไฟล์ iptables-firewall.conf ดังนี้
    NAT_TCP_FORWARD=80 > 192.168.1.253 25,110 > 192.168.1.254 จากข้อความข้างต้นหมายถึงเมื่อมีผู้ใช้จากอินเตอร์เนตร้องขอการบริการที่พอร์ต 80 ซึ่งเป็นพอร์ตของการให้บริการเวบให้ส่งข้อมูลต่อไปยังเครื่องเซิร์ฟเวอร์ที่มีไอพีแอดเดรส 192.168.1.253 และทำนองเดียวกันถ้ามีผู้ร้องขอบริการมายังพอร์ต 25 หรือ พอร์ต 110 ให้ส่งข้อมูลไปยังเครื่องเซิร์ฟเวอร์ที่มีไอพีแอดเดรส 192.168.1.254
  • Arno's Firewall สามารถจำกัดพอร์ตเพื่อไม่ให้เน็ตเวิร์กภายในสามารถต่อออกสู่เน็ตเวิร์กภายนอกได้โดยการกำหนดที่ iptables-firewall.conf ดังนี้ LAN_DENY_TCP=
    LAN_DENY_UDP=
    LAN_DENY_IP=
  • Arno's Firewall สามารถกำหนดเป็นไอพีแอดเดรสไม่ให้ติดต่อกับเน็ตเวิร์กภายนอกได้ โดยสามารถระบุเป็น
    ไอพีแอดเดรสที่ไฟล์ iptables-firewall.conf หรือกำหนดให้อ่านจากไฟล์รายชื่อไอพีก็ได้ BLOCK_HOSTS="w.x.y.z a.b.c.d"
    BLOCK_HOSTS_FILE=/arno/182/iptables-blocked-hosts
  • Arno's Firewall สามารถกำหนดให้ไปใช้ Transparent Proxy โดยกำหนดที่ไฟล์ iptables-firewall.conf
    ดังนี้ PROXY_PORT=3128
  • Arno's Firewall สามารถนำสคริปต์ไปใช้ร่วมกับ iptables ได้โดยไปกำหนดที่ไฟล์ iptables-firewall.conf
    ดังนี้ CUSTOM_RULES=/arno/182/iptables-custom-rules หลังจากนั้นท่านสามารถนำกลุ่มคำสั่งของ iptables ที่ท่านเขียนขึ้นเอง เข้ามาใช้ร่วมกับ Arno's Firewall ได้โดยสคริปต์ที่ท่านเขียนผ่านไฟล์ที่ชื่อว่า iptables-custom-rules ซึ่งสคริปต์ที่ท่านเขียนจะถูกโหลดขึ้นมาก่อนสคริปต์ของ Arno's Firewall ดังนั้นควรศึกษาให้ดีก่อนเขียนกฏเองซึ่ง Arno ย้ำไว้ว่าอาจจะทำให้ระบบความปลอดภัยเกิดช่องโหว่ได้ หมายเหตุ กรณีมีการเปลี่ยนแปลงไฟล์ iptables-firewall.conf ต้องใช้คำสั่ง rc.iptables restart ทุกครั้งเพื่อการรับรู้คอนฟิกเกอเรชันใหม่ ให้ Arno's Firewall เริ่มต้นทำงานอัตโนมัติ Arno's Firewall เป็นสคริปต์ของ iptables ถ้าเรานำไปใส่ไว้ต่อท้ายของไฟล์ /etc/rc.d/rc.local ทุกครั้งที่เปิดเครื่อง Arno's Firewall จะถูกเรียกทุกครั้ง และ rc.iptables ของ Arno's Firewall ยังเขียนไว้สามารถใช้งานกับ chkconfig ซึ่งสามารถจะเรียกให้ทำงานเหมือนกับเซอร์วิสทั่วไปของลีนุกซ์ได้ โดยการกำหนดดังนี้
  • ทำสำเนา rc.iptables ไปยังไดเรกทอรี /etc/rc.d/init.d
  • เรียกคำสั่ง chkconfig -add rc.iptables
    จากนี้ท่านสามารถเรียก Arno Firewall สคริปต์ด้วยคำสั่ง service rc.iptables start/stop/restart ได้เหมือนกับเซอร์วิสทั่วไปที่ติดตั้งในลีนุกส์แล้ว
  • Log ของ Arno's Firewall เมื่อติดตั้ง Arno's Firewall ให้ทำงานได้เรียบร้อยแล้ว ลำดับงานต่อไปคือ การเฝ้าดูเหตุการณ์ต่างๆ ที่เกิดขึ้นผ่านทางล็อกไฟล์ของ Arno's Firewall โดยปกติถ้าไม่มีการเปลี่ยนค่าการเก็บล็อกไฟล์ Arno Firewall จะเก็บล็อกไฟล์ไว้ที่ไดเรกทอรี /var/log/message ซึ่งจะปะปนอยู่กับเหตุการณ์ทั่วไปของระบบ ล็อกของ Arno's Firewal จะบันทึกข้อมูลที่ไม่เป็นไปตามเงื่อนไขที่อนุญาตไว้ เช่น ถ้าเราไม่อนุญาตให้ใช้งานพอร์ต 80 แต่มีความพยายามที่จะร้องขอใช้งานพอร์ต 80 ก็จะถูกเก็บลงในล็อกไฟล์ แต่ถ้าเราต้องดูปะปนกับล็อกตัวอื่นคงทำให้ตรวจสอบได้ยาก ดังนั้น Arno's Firewall จึงให้โปรแกรมยูทิลิตี้ที่ชื่อ fwfilter มาเพื่อใช้ในการคัดแยกเหตุการณ์เฉพาะที่เกี่ยวข้องกับ Firewall ทำให้อ่านผลลัพธ์ง่ายขึ้น วิธีใช้งานคือ ให้ทำการไปป์ข้อมูลจากล๊อกไฟล์ผ่านไปยังโปรแกรม fwfilter ตัวอย่างเช่น # tail -f /var/log/message | /arno/182/fwfilter


    รูปที่ 3 แสดงล็อกไฟล์ผ่านโปรแกรม fwfilter
    จากรูปที่ 3 แสดงถึงมีผู้ที่พยายามเข้ามาใช้บริการพอร์ต 80 และ พอร์ต 138 โดยการบรอร์ดคาส ซึ่งไฟร์วอลล์ที่เราตั้งกฏไว้ไม่อนุญาตให้ผ่านไฟร์วอลล์ ไฟร์วอลล์ไม่ใช่คำตอบสุดท้าย ปัจจุบันไฟร์วอลล์เป็นสิ่งที่ทุกคนต้องมีและไม่จำกัดอยู่ในระดับองค์กรอีกต่อไปแล้ว แม้กระทั่งผู้ใช้งานตามบ้านยังจำเป็นต้องติดตั้งไฟร์วอลล์ ดังนั้นสำหรับองค์กรขนาดเล็กที่มีงบประมาณจำกัดควรนำ Arno's Firewall หรือนำ iptables มาประยุกต์ใช้เพื่อความปลอดภัยของเน็ตเวิร์กของท่าน อนึ่งการที่มีไฟร์วอลล์ไม่ได้ทำให้องค์กรของท่านปลอดภัยโดยสมบูรณ์ เนื่องจากเป็นที่ทราบกันดีว่าทุกองค์กรส่วนใหญ่จะมีไฟร์วอลล์ ดังนั้นการโจมตีวิธีแบบเดิมๆจะทำความเสียหายได้ยากหรือถ้าได้ก็มีผลกระทบในวงแคบ ปัจจุบันผู้ที่ต้องการโจมตีจะใช้วิธีการโจมตีพอร์ตที่องค์กรของท่านเปิดให้บริการอยู่ เช่น พอร์ต 80 หรือที่เราเรียกกันว่า "เว็บ" ดังนั้นความปลอดภัยของพอร์ตที่ท่านเปิดใช้อยู่นั้นไฟร์วอลล์ไม่สามารถปกป้องได้ การที่จะทำให้พอร์ตที่ท่านเปิดใช้งานอยู่มีความปลอดภัยประกอบไปด้วยหลายปัจจัย เช่น การติดตั้งระบบปฏิบัติการให้ปลอดภัย การติดตั้งแอพลิเคชันเซิร์ฟเวอร์ให้ปลอดภัย การเขียนแอพพลิเคชันให้ปลอดภัย การเฝ้าระวังเน็ตเวิร์กหรือโฮสต์ของท่านด้วยระบบตรวจจับการบุกรุกไม่ว่าจะเป็นระบบ Intrusion Detection System (IDS) หรือ Intrustion Prevention System (IPS) ถึงแม้การมีไฟร์วอลล์จะไม่ใช่คำตอบสุดท้ายของระบบความปลอดภัยแต่อย่างน้อยการมีไฟร์วอลล์ก็ถือว่า "เป็นจุดเริ่มต้นที่ดี"

    แหล่งข้องมูลอ้างอิง
    http://rocky.eld.leidenuniv.nl/ - Arno's Projects Homepage
    Open Source Security Tools - Tony Howlett ,Bruce Perens' Open Source Series,Prentice Hall