รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

Linux Server (CentOS) : แก้ไขคอนฟิก firewall ด้วย system-config-firewall

      บนลีนุกซ์มีคุณสมบัติ firewall ติดตั้งมาให้สามารถเลือกอนุญาต หรือปฏิเสธการ รับ/ส่ง packet เข้า/ออกเครื่องได้ จุดมุ่งหมายหลักๆ ของ firewall ก็เพื่อเพิ่มความปลอดภัยให้กับเครื่องเซิร์ฟเวอร์ หลายคนมักจะปิดคุณสมบัตินี้ไป ด้วยเหตุผลบอกว่ายากต่อการทำความเข้าใจ และแก้ไข

     

    สำหรับผู้เริ่มต้นหัดใช้ แนะนำให้ใช้โปรแกรม system-config-firewall เพื่อช่วยแก้ไข rule ของ firewall บนลีนุกซ์

      

    โปรแกรม system-config-firewall มีสองเวอร์ชั่น ทำงานได้เหมือนกัน

      - system-config-firewall รันเป็น GUI บน X Window เช่น GNOME

      - system-config-firewall-tui รันบนหน้าจอคอนโซล จะเป็นแบบเมนูให้เลือก

     

    ในที่นี้จะแสดงวิธีการใช้แบบรันบนหน้าจอคอนโซล

    เพื่อเปรียบเทียบสิ่งที่โปรแกรม system-config-firewall จะแก้ไข ก่อนรันคำสั่ง ใช้คำสั่ง iptables -L เพื่อแสดงคอนฟิก firewall ที่ทำงานอยู่

    [root@cent6 ~]# iptables -L -v -n --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num   pkts bytes target     prot opt in     out     source               destination          1     2414  180K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0        state RELATED,ESTABLISHED 2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0            4        1    64 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 5        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited   Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num   pkts bytes target     prot opt in     out     source             destination          1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0        reject-with icmp-host-prohibited   Chain OUTPUT (policy ACCEPT 1379 packets, 505K bytes) num   pkts bytes target     prot opt in     out     source               destination  

    พิมพ์คำสั่ง system-config-firewall-tui

    [root@cent6 ~]# system-config-firewall-tui

    หมายเหตุ หากรันคำสั่งแล้วขึ้น “command not found” ให้ติดตั้งไฟล์ rpm ชื่อ system-config-firewall-tui-1.2.27-5.el6.noarch.rpm

    หน้าจอ Firewall Configuration สามารถเลือกที่จะเปิด ปิด firewall ได้

    [*] Enabled เปิดใช้งาน firewall [ ] Enabled ปิดการใช้ firewall (ไม่แนะนำ)  

     

     

    กดปุ่ม [Tab] เพื่อเลื่อนแถบสีไปยัง [Customize] แล้วกดปุ่ม [Enter]

    หน้าจอแสดง Services ต่างๆ ที่โปรแกรมเตรียมไว้ให้สามารถเลือกคอนฟิกได้

    กดปุ่มลูกศร (cursor) ขึ้นลง เพื่อเลื่อนไปยังเซอร์วิสต่างๆ ได้

    โดยดีฟอลต์จากการติดตั้ง ถ้าไม่ได้แก้ไข จะอนุญาตให้เครื่องอื่นเข้ามาใช้ SSH ได้อย่างเดียว

    เครื่องหมายดอกจัน ในวงเล็บสี่เหลี่ยม [*] หน้าเซอร์วิส หมายถึงการอนุญาตเซอร์วิสนั้น

     

     

     

    กดปุ่มลูกศรลง เพื่อไปยังชื่อเซอร์วิสที่ต้องการอนุญาตให้เครื่องอื่นสามารถเข้ามาใช้บนเครื่องลีนุกซ์นี้ได้

    เช่นต้องการให้เครื่องอื่น สามารถใช้เว็บเซิร์ฟเวอร์พอร์ต 80 WWW (HTTP) บนเครื่องเราได้

     

     

    กดปุ่ม [Spacebar] เพื่อเปลี่ยนค่าในวงเล็บสี่เหลี่ยม ต้องเปลี่ยนให้เป็นเครื่องหมายดอกจัน

     

     

    หลังจากเปลี่ยนเป็นเครื่องหมายดอกจันเรียบร้อยแล้ว กดปุ่ม [Tab] เพื่อเลื่อนแถบสีมาที่ [Close] แล้วกดปุ่ม [Enter]

    จะกลับมาหน้าจอหลัก กดปุ่ม [Tab] เลื่อนไปยัง [OK] แล้วกดปุ่ม [Enter]
    หน้าจอเตือน Warning ว่าจะมีการสร้างคอนฟิกไฟล์ของ firewall ใหม่ เลื่อนแถบสีอยู่ที่ [Yes] แล้วกดปุ่ม [Enter]

     

     

    ลองใช้คำสั่ง iptables -L เพื่อดูคอนฟิก firewall ที่เปลี่ยนไป จะเห็น num 5 เพิ่มขึ้นมา เพื่ออนุญาต tcp dpt:80 หรือพอร์ตเว็บ WWW (HTTP) นั่นเอง

    [root@cent6 ~]# iptables -L -v -n --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num   pkts bytes target     prot opt in     out     source               destination          1       13   916 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            3        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0            4        1   100 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 6        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited   Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num   pkts bytes target     prot opt in     out     source               destination          1        0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited   Chain OUTPUT (policy ACCEPT 8 packets, 960 bytes) num   pkts bytes target     prot opt in     out     source               destination  

    หากต้องการยกเลิก หรือไม่ต้องการให้เครื่องอื่นเข้าใช้งานพอร์ตเว็บบนเครื่องนี้อีกต่อไปแล้ว ก็ใช้คำสั่ง system-config-firewall-tui เข้าไปเอาเครื่องหมายดอกจันหน้าเซอร์วิส WWW (HTTP) ออกไป ทำตามขั้นตอนอื่นๆ เหมือนเดิม

     

    การใช้คำสั่ง system-config-firewall ไม่ว่าจะแบบ GUI หรือคอนโซล เมื่อแก้ไขเสร็จแล้วกดยืนยันเพื่อให้คอนฟิกใหม่มีผล นอกจากจะทำให้คอนฟิกใหม่มีผลทันทีแล้ว คำสั่งนี้จะเข้าไปแก้ไขไฟล์คอนฟิกของ iptables เพื่อให้มีผลต่อการบู๊ตเครื่องครั้งต่อไปด้วย

    ไฟล์คอนฟิกของ iptables ของ CentOS คือไฟล์ /etc/sysconfig/iptables

    ตัวอย่างของไฟล์หลังจากเพิ่ม การอนุญาตพอร์ต 80

    [root@cent6 ~]# cat /etc/sysconfig/iptables  # Firewall configuration written by system-config-firewall  # Manual customization of this file is not recommended.  *filter  :INPUT ACCEPT [0:0]  :FORWARD ACCEPT [0:0]  :OUTPUT ACCEPT [0:0]  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  -A INPUT -p icmp -j ACCEPT  -A INPUT -i lo -j ACCEPT  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  -A INPUT -j REJECT --reject-with icmp-host-prohibited  -A FORWARD -j REJECT --reject-with icmp-host-prohibited  COMMIT

    ชื่อเซอร์วิสที่มาอ่านไฟล์นี้ก็คือ iptables โดยดีฟอลต์จะถูกรันเมื่อเข้าสู่ runlevel 2,3,4,5 หรือการบู๊ตเครื่องใหม่

    [root@cent6 ~]# chkconfig --list iptables iptables        0:off 1:off 2:on 3:on 4:on 5:on 6:off
บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com