ติดต่อ

  ติดต่อ

วิธีทำให้ Server ปลอดภัยด้วย ipfilter

การใช้งาน ipfilter มีรายละเอียดดังนี้

วิธีการติดตั้ง ipfilter
 ipfilter หรือ ipf เป็น firewall ที่ติดตั้งมาพร้อมกับ NetBSD เรียบร้อยแล้วดังนั้นการเรียกใช้จึงไม่มีขั้นตอนอะไรมากเพียงแค่แก้ไขไฟล์ /etc/rc.conf โดยเพิ่มคำว่า ipfilter=YES ซึ่งจะเป็นการกำหนดให้ ipfilter เริ่มทำงานตอนบูตเครื่อง ส่วนกฎการทำงานนั้นระบบจะทำการอ่านจากไฟล์ /etc/ipf.conf  รายละเอียดจะกล่าวในหัวข้อถัดไป เมื่อทุกอย่างพร้อมแล้ว เมื่อบูตเครื่องใหม่ ipfilter จะเริ่มทำงานทั้นที

กฎการทำงานของ ipfilter
1. ipfilter จะอ่านกฎทีละกฎโดยเริ่มจากบรรทัดบนสุดแล้วค่อย ๆ อ่านทีละบรรทัดไล่ลงมา
2. กฎที่อยู่บนจะมีความสำคัญน้อยกว่ากฎที่อยู่รองลงมา

วิธีการเขียนกฎ ipfilter 

1. การกำหนดให้ข้อมูลผ่านจะใช้คำว่า pass และกำหนดไม่ให้ข้อมูลผ่านจะใช้คำว่า block

2. การกำหนดทิศทางของข้อมูลของกฎจะใช้คำว่า in และ out โดยจะยึดหลักในการพิจารณาจากตัวเครื่องเป็นหลักเช่น in จะหมายถึงข้อมูลที่ส่งมาจากเครื่องใด ๆ ก็ตามมายังเครื่องที่เราติดตั้ง ipf และ out จะหมายถึงข้อมูลที่ส่งออกจากเครื่องที่ติดตั้ง ipf ไปยังเครื่องอื่น ๆ

3. ใช้คำว่า all เพื่อแทนทุกๆ interface ทุกๆ ip และ ทุกๆ โพรโทคอล เช่น

block in all
pass in all

จากตัวอย่างนี้ในบรรทัดแรกจะห้ามไม่ให้ข้อมูลใดๆ ก็ตามผ่านเข้ามา และในบรรทัดทีสองจะอนุญาติให้ข้อมูลใดๆ ก็ตามสามารถผ่านเข้ามาได้ เมื่อเราพิจารณาจากกฎที่ได้กล่าวไปแล้วที่ว่ากฎที่อยู่บรรทัดบนจะมีความสำคัญน้อยกว่า ดังนั้นจากตัวอย่างนี้จะเป็นการอนุญาติให้ข้อมูลจากแหล่งใดๆ ก็ตามสามารถผ่านเข้ามายัง interface ใด ๆ ก็ได้โดยไม่จำกัดโพรโทคอลที่เข้ามา

4. หากต้องการให้กฎนั้นมีผลทั้นทีโดยไม่ต้องทำการตรวจสอบกฎที่เหลือให้ใช้ keyword "quick" เช่น

block in quick all
pass in all

จากตัวอย่างนี้เมื่อเริ่มต้น ipf จะอ่านกฎ block in quick all ซึ่งจะห้ามไม่ให้รับข้อมูลและกำหนดให้มีผลทันที (จาก keyword quick) จึงทำให้กฎที่เหลือไม่มีผล

5. การกำหนดโดยระบุ interface จะทำได้โดยใช้คำว่า on <interfaces> เช่น

block in on rtk0 all

ตัวอย่างนี้มีความหมายว่า ห้ามไม่ให้ข้อมูลจากทุกๆ แหล่งเข้ามายัง interface rtk0

6. การกำหนดแหล่งข้อมูลโดยใช้หมายเลข network id จะใช้คำว่า from <network id> เพื่อแทนแหล่งข้อมูลต้นทาง และคำว่า to <network id> แทนแหล่งข้อมูลปลายทาง นอกจากนั้นสามารถคำว่า any แทน network id เมื่อไม่ต้องการระบุแหล่งข้อมูล เช่น

block in from any to 192.168.132.0/24

จากตัวอย่างนี้มีความหมายว่า ไม่อนุญาตให้ข้อมูลขาเข้าจาก แหล่งใดๆ ก็ตามไปยัง 192.168.132.0/24

หากต้องการใช้งานร่วมกับ interface ก็สามารถทำได้ เช่น

pass out on rtk0 from 192.168.131.0/24 to 192.168.132.0/24

จากตัวอย่างนี้จะมีความหมายว่า อนุญาตข้อมูลบน interface rtk0 ที่มีแหล่งข้อมูลจาก 192.168.131.0/24 ส่งออกไปยัง 192.168.132.0/24

7. หากต้องการบันทึกเหตุการณ์ที่เกิดขึ้นลง log ไฟล์ให้เพิ่มคำว่า log ลงในกฎ เช่น

block in log on rtk0 from 192.168.131.0/24 to 192.168.132.0/24

8. การควบคุมโดยระบุโพรโทคอลที่ต้องการทำโดยใช้คำว่า proto พร้อมกับชื่อโพรโทคอลที่ต้องการซึ่งจะมีรายละเอียดดังนี้

 - โพรโทคอล icmp ให้ใช้คำว่า proto icmp ซึ่งอาจจะระบุชนิดของ icmp เพิ่มเติมได้ ตัวอย่างเช่น

pass in quick on rtk0 proto icmp from any to 192.168.131.0/24 icmp-type 0

จากตัวอย่างจะมีความหมายว่าโพรโทคอล icmp type 0 ที่มีต้นทางจากแหล่งใดก็ตามสามารถผ่านไปยัง network 192.168.131.0/24 บน interface rtk0 

- โพรโทคอล tcp หรือ upd ให้ใช้คำว่า proto tcp เพื่อควบคุมโพรโทคอล tcp ใช้คำว่า proto udp เพื่อควบคุมโพรโทคอล udp และใช้คำว่า proto tcp/udp เพื่อควบคุมโพรโทคอลทั้ง tcp และ udp หากต้องการระบุ port ที่ต้องการควบคุมสามารถใช้ร่วมกับคำว่า port ดังตัวอย่างต่อไปนี้

pass in quick on rtk0 proto tcp from any to 192.168.131.0/24 port = 80

จากตัวอย่างนี้มีความหมายว่า โพรโทคอล tcp port 80 บน interface rtk0 ที่มีต้นทางจากที่ใดก็ตามสามารถ ผ่านไปยัง network 192.168.131.0/24

นอกจากนี่เรายังสามารถกำหนดช่วงของ port ที่ต้องการโดยใช้เครื่องหมาย "<", ">", "><" เช่น

pass out on rtk0 proto udp from any to any port 33434><33690

จากตัวอย่างนี้มีความหมายว่า โพรโทคอล udp port ระหว่าง 33434 กับ 33690 จากต้นทางใดๆ ไปยัง network ใดๆ ผ่าน interface rtk0

<<==== ยังมีอีกครับ ค่อยกลับมาเขียนใหม่ ======> 

Ref: http://www.obfuscation.org/ipf/ipf-howto.html

บันทึกนี้เขียนที่ GotoKnow โดย 

หมายเลขบันทึก: 69355, เขียน: , แก้ไข, , สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ, ความเห็น: 5, อ่าน: คลิก

  คำสำคัญ (keywords): unixfirewallnetbsdipfilteripf

ความเห็น (5)

โบ
IP: xxx.123.106.101
เขียนเมื่อ 
microsoft sever เครื่อง shut down เองทำอย่างไรให้หายละคะ
John
IP: xxx.12.74.8
เขียนเมื่อ 

อาจจะมาจากหลายสาเหตุนะครับ  เครื่องติดไวรัส หรือ ระบบ windows อาจจะมีปัญหาเช่น ไฟล์บางตัวอาจจะเสียหาย หรือแม้กระทั้งปัญหาจากตัว Hardware เช่น Mainboard มีปัญหาก็สามารถทำให้เครื่อง shutdown เองได้

วิธีการแก้ปัญหา คือต้องหาต้นตอของสาเหตุให้ได้ก่อนนะครับ โดยทั่วไปแล้วผมจะมองว่าเกิดจาก virus ก่อนเลยครับ ทดสอบด้วยโปรแกรม ประเภท anitvirus ก่อนถ้าไม่เจอ ก็เข้าขั้นตอนต่อไปคือ ลองลง windows ใหม่ครับ ถ้ายังไม่หายอีก ก็คงต้องยกเครื่องไปหาช่างแล้วละครับ

 

screen server ที่ลงผ่าน Policy ของ MS SERVER2003
IP: xxx.57.177.245
เขียนเมื่อ 
screen server ที่ลงผ่าน Policy ของ MS SERVER2003 ไม่สามารถนำมา run กับ เครื่อง client ที่ใช้ OS WINDOW 2000 ได้ ช่วยให้คำแนะนำหน่อยฮะ
John
IP: xxx.27.128.211
เขียนเมื่อ 

ปัญหาการติดตั้ง screen server ผมไม่ทราบครับ อันที่จริงผมจะใช้ server UNIX ตระกูล NetBSD นะครับ ส่วนระบบ windows ในระดับองค์กรผมไม่ได้เล่นนะครับ แต่ประมาณว่ามีปัญหาอะไรที่ตอบได้ก็จะตอบให้ครับ :)

กอนกวยสเร็น
IP: xxx.29.30.250
เขียนเมื่อ 

กอนกวยสเร็น