Firehol: iptables สำหรับมนุษย์ (Arch)

ก่อนอื่นเครดิตทั้งหมดไปที่ @yukiteruอามาโนะเนื่องจากโพสต์นี้อ้างอิงจากไฟล์ เกี่ยวกับการสอน คุณโพสต์ในฟอรัม ความแตกต่างก็คือฉันจะมุ่งเน้นไปที่ โค้งแม้ว่ามันอาจจะใช้ได้กับ Distros อื่น ๆ ที่ใช้ systemd.

Firehol คืออะไร?

ไฟร์ฮอลเป็นแอปพลิเคชั่นขนาดเล็กที่ช่วยให้เราจัดการไฟร์วอลล์ที่รวมอยู่ในเคอร์เนลและเครื่องมือ iptables. Firehol ไม่มีอินเทอร์เฟซแบบกราฟิกการกำหนดค่าทั้งหมดต้องทำผ่านไฟล์ข้อความ แต่อย่างไรก็ตามการกำหนดค่านี้ยังคงง่ายสำหรับผู้ใช้มือใหม่หรือมีประสิทธิภาพสำหรับผู้ที่มองหาตัวเลือกขั้นสูง สิ่งที่ Firehol ทำคือลดความซับซ้อนในการสร้างกฎ iptables ให้มากที่สุดและเปิดใช้งานไฟร์วอลล์ที่ดีสำหรับระบบของเรา

การติดตั้งและการกำหนดค่า

Firehol ไม่ได้อยู่ในที่เก็บ Arch อย่างเป็นทางการดังนั้นเราจะอ้างถึง AUR.

yaourt -S firehol
จากนั้นเราไปที่ไฟล์กำหนดค่า

sudo nano /etc/firehol/firehol.conf

และเราเพิ่มกฎที่นั่นคุณสามารถใช้ได้ estas.

เปิดใช้งาน Firehol ต่อไปสำหรับการเริ่มต้นแต่ละครั้ง ค่อนข้างง่ายด้วย systemd

sudo systemctl enable firehol

เราเริ่ม Firehol

sudo systemctl start firehol

ในที่สุดเราก็ตรวจสอบว่ามีการสร้างและโหลดกฎ iptables อย่างถูกต้อง

sudo iptables -L

ปิดใช้งาน IPv6

เนื่องจาก firehol ไม่สามารถจัดการได้ ip6tables และเนื่องจากการเชื่อมต่อส่วนใหญ่ของเราไม่มีการสนับสนุน IPv6คำแนะนำของฉันคือปิดการใช้งาน

En โค้ง เราเพิ่ม ipv6.disable = 1 ไปยังบรรทัดเคอร์เนลในไฟล์ / etc / default / grub


...
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="rw ipv6.disable=1"
GRUB_CMDLINE_LINUX=""
...

ตอนนี้เราสร้างไฟล์ grub.cfg:

sudo grub-mkconfig -o /boot/grub/grub.cfg

En debian เพียงพอกับ:

sudo echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เฟลิ dijo

    ฉันไม่เข้าใจ. คุณทำตามบทช่วยสอนและคุณมีไฟร์วอลล์ทำงานอยู่และบล็อกการเชื่อมต่อทั้งหมดแล้วหรือยัง? อีกอย่างการสอนสำหรับ Arch มีความซับซ้อนเช่นฉันไม่เคยใช้ sudo หรือ yaourt Firewall อย่างไรก็ตามเป็นที่เข้าใจ หรืออาจมีคนใหม่เขียน yaourt และจะได้รับข้อผิดพลาด สำหรับ Manjaro นั้นถูกต้องกว่า

    1.    ยูกิเทรุ dijo

      ตามที่คุณพูด @felipe ทำตามบทช่วยสอนและวางไฟล์ /etc/firehol/firehol.conf ไฟล์กฎที่ @cookie ให้ไว้ในการวางคุณจะมีไฟร์วอลล์อย่างง่ายเพื่อป้องกันระบบในระดับพื้นฐานอยู่แล้ว การกำหนดค่านี้ใช้งานได้กับ distro ใด ๆ ที่คุณสามารถใส่ Firehol ได้ด้วยความไม่ชอบมาพากลของแต่ละ distro จะจัดการกับบริการในรูปแบบต่างๆ (Debian ผ่าน sysvinit, Arch with systemd) และสำหรับการติดตั้งทุกคนรู้ว่ามีอะไรบ้างใน Arch คุณต้อง ใช้ที่เก็บ AUR และ yaourt ใน Debian หน่วยที่เป็นทางการก็เพียงพอแล้วและในที่อื่น ๆ อีกมากมายคุณต้องค้นหาเล็กน้อยในที่เก็บและปรับคำสั่งการติดตั้ง

  2.   ci dijo

    ขอบคุณฉันรับทราบ

  3.   การกำหนดค่า dijo

    ทั้งหมดนั้นดีมาก ... แต่สิ่งที่สำคัญที่สุดขาดหายไป คุณต้องอธิบายว่ากฎถูกสร้างขึ้นอย่างไร !! หมายความว่าอย่างไรสร้างใหม่ได้อย่างไร ... หากไม่ได้อธิบายสิ่งที่คุณใส่ก็มีประโยชน์เพียงเล็กน้อย:

    1.    ยูกิเทรุ dijo

      การสร้างกฎใหม่เป็นเรื่องง่ายเอกสาร Firehol มีความชัดเจนและแม่นยำมากในแง่ของการสร้างกฎที่กำหนดเองดังนั้นการอ่านเล็กน้อยจะทำให้คุณปรับแต่งและปรับให้เข้ากับความต้องการได้ง่าย

      ฉันคิดว่าเหตุผลเริ่มต้นสำหรับการโพสต์ @cookie เหมือนของฉันในฟอรัมคือเพื่อให้ผู้ใช้และผู้อ่านมีเครื่องมือที่ช่วยให้พวกเขาสามารถเพิ่มความปลอดภัยให้กับคอมพิวเตอร์ได้เล็กน้อยทั้งหมดอยู่ในระดับพื้นฐาน ส่วนที่เหลือปล่อยให้คุณปรับเปลี่ยนตามความต้องการ

    2.    คุกกี้ dijo

      หากคุณอ่านลิงก์ไปยังบทช่วยสอน Yukiteru คุณจะรู้ว่าเจตนาคือการเผยแพร่แอปพลิเคชันและการกำหนดค่าไฟร์วอลล์พื้นฐาน ฉันชี้แจงว่าโพสต์ของฉันเป็นเพียงสำเนาที่เน้นที่ Arch

  4.   มาคิวบ์ dijo

    และนี่คือ 'สำหรับมนุษย์'? o_O
    ลอง Gufw บน Arch: https://aur.archlinux.org/packages/gufw/ >> คลิกที่สถานะ หรือ ufw ถ้าคุณต้องการ terminal: sudo ufw enable

    คุณได้รับการป้องกันอยู่แล้วหากคุณเป็นผู้ใช้ปกติ นั่นคือ 'สำหรับมนุษย์' 🙂

    1.    Elav dijo

      Firehol เป็น Front-End สำหรับ IPTables จริงๆและถ้าเราเปรียบเทียบกับรุ่นหลังมันค่อนข้างเป็นมนุษย์😀

    2.    ยูกิเทรุ dijo

      ฉันถือว่า ufw (Gufw เป็นเพียงอินเทอร์เฟซของมัน) เป็นตัวเลือกที่ไม่ดีในแง่ของความปลอดภัย เหตุผล: สำหรับกฎความปลอดภัยเพิ่มเติมที่ฉันเขียนใน ufw ฉันไม่สามารถหลีกเลี่ยงสิ่งนั้นในการทดสอบไฟร์วอลล์ของฉันทั้งผ่านเว็บและที่ดำเนินการโดยใช้ nmap บริการเช่น avahi-daemon และ exim4 จะเปิดขึ้นและมีเพียง a การโจมตีแบบ "ซ่อนตัว" ก็เพียงพอแล้วที่จะทราบถึงลักษณะที่เล็กที่สุดของระบบเคอร์เนลและบริการของฉันที่มันทำงานสิ่งที่ไม่ได้เกิดขึ้นกับฉันโดยใช้ไฟร์ฮอลหรือไฟร์วอลล์ของ arno

      1.    กิสการ์ด dijo

        ฉันไม่รู้เกี่ยวกับคุณ แต่อย่างที่ฉันเขียนไว้ข้างต้นฉันใช้ Xubuntu และไฟร์วอลล์ของฉันใช้ GUFW และฉันผ่านการทดสอบทั้งหมดของลิงก์ที่ผู้เขียนวางไว้โดยไม่มีปัญหา ชิงทรัพย์ทั้งหมด ไม่มีอะไรเปิด ดังนั้นจากประสบการณ์ของฉัน ufw (ดังนั้น gufw) พวกเขายอดเยี่ยมสำหรับฉัน ฉันไม่สำคัญในการใช้โหมดควบคุมไฟร์วอลล์อื่น ๆ แต่ gufw ทำงานได้อย่างไม่มีที่ติและให้ผลลัพธ์ด้านความปลอดภัยที่ยอดเยี่ยม

        หากคุณมีการทดสอบใด ๆ ที่คุณคิดว่าอาจทำให้เกิดช่องโหว่ในระบบของฉันโปรดบอกฉันว่ามันคืออะไรและฉันยินดีที่จะเรียกใช้การทดสอบที่นี่และแจ้งให้คุณทราบผล

        1.    ยูกิเทรุ dijo

          ด้านล่างฉันแสดงความคิดเห็นบางอย่างเกี่ยวกับเรื่อง ufw ซึ่งฉันบอกว่าข้อผิดพลาดที่ฉันเห็นในปี 2008 โดยใช้ Ubuntu 8.04 Hardy Heron พวกเขาแก้ไขอะไรไปบ้างแล้ว? สิ่งที่เป็นไปได้มากที่สุดก็คือมันเป็นเช่นนั้นดังนั้นจึงไม่มีเหตุผลที่จะต้องกังวล แต่ถึงอย่างนั้นก็ไม่ได้หมายความว่ามีบั๊กอยู่ที่นั่นและฉันสามารถพิสูจน์ได้แม้ว่ามันจะไม่ใช่เรื่องเลวร้ายที่จะตาย แต่ฉันก็หยุดเพียงเท่านั้น ปีศาจ avahi-daemon และ exim4 และปัญหาได้รับการแก้ไขแล้ว สิ่งที่แปลกประหลาดที่สุดคือมีเพียงสองกระบวนการเท่านั้นที่มีปัญหา

          ฉันพูดถึงเรื่องนี้ว่าเป็นเรื่องเล็ก ๆ น้อย ๆ ส่วนตัวและฉันก็คิดในทางเดียวกันเมื่อฉันพูดว่า: «ฉันพิจารณา ... »

          ทักทาย🙂

    3.    กิสการ์ด dijo

      +1

  5.   กระสอบ dijo

    @ ยูคิเทรุ: คุณลองจากคอมพิวเตอร์ของคุณเองหรือเปล่า? หากคุณกำลังมองหาจากพีซีของคุณเป็นเรื่องปกติที่คุณสามารถเข้าถึงพอร์ตบริการ X ได้เนื่องจากทราฟฟิกที่ถูกบล็อกเป็นของเครือข่ายไม่ใช่ localhost:
    http://www.ubuntu-es.org/node/140650#.UgJZ3cUyYZg
    https://answers.launchpad.net/gui-ufw/+question/194272

    หากไม่เป็นเช่นนั้นโปรดรายงานข้อผิดพลาด🙂
    ทักทาย🙂

    1.    ยูกิเทรุ dijo

      จากคอมพิวเตอร์เครื่องอื่นโดยใช้เครือข่าย Lan ในกรณีของ nmap และผ่านทางเว็บโดยใช้หน้านี้ https://www.grc.com/x/ne.dll?bh0bkyd2เมื่อใช้ตัวเลือกพอร์ตที่กำหนดเองพวกเขาทั้งคู่ตกลงว่า avahi และ exim4 กำลังฟังจากเน็ตแม้ว่า ufw จะกำหนดค่าการบล็อกไว้ก็ตาม

      รายละเอียดเล็ก ๆ น้อย ๆ ของ avahi-daemon และ exim4 ฉันแก้ไขได้โดยเพียงแค่ปิดการใช้งานบริการและนั่นแหล่ะ ... ฉันไม่ได้รายงานข้อผิดพลาดในเวลานั้นและฉันคิดว่ามันไม่สมเหตุสมผลที่จะทำในตอนนี้เพราะนั่น ย้อนกลับไปในปี 2008 โดยใช้ Hardy

      1.    กิสการ์ด dijo

        2008 คือ 5 ปีที่แล้ว; จาก Hardy Heron ถึง Raring Ringtail มี 10 * buntus การทดสอบเดียวกันกับ Xubuntu ของฉันทำเมื่อวานนี้และทำซ้ำในวันนี้ (สิงหาคม 2013) ให้ความสมบูรณ์แบบในทุกสิ่ง และฉันใช้เฉพาะ UFW

        ฉันทำซ้ำ: คุณมีการทดสอบเพิ่มเติมที่ต้องทำหรือไม่? ด้วยความยินดีฉันทำและรายงานสิ่งที่ออกมาจากด้านนี้

        1.    ยูกิเทรุ dijo

          ทำการสแกน SYN และ IDLE บนพีซีของคุณโดยใช้ nmap ซึ่งจะทำให้คุณทราบว่าระบบของคุณปลอดภัยเพียงใด

          1.    กิสการ์ด dijo

            nmap man มีมากกว่า 3000 บรรทัด หากคุณให้คำสั่งกับฉันเพื่อดำเนินการด้วยความยินดีฉันจะทำและจะรายงานผล

          2.    ยูกิเทรุ dijo

            อืมฉันไม่รู้เกี่ยวกับหน้าคน 3000 สำหรับ nmap แต่ zenmap เป็นตัวช่วยในการทำสิ่งที่ฉันบอกคุณมันเป็นส่วนหน้าแบบกราฟิกสำหรับ nmap แต่ยังคงเป็นตัวเลือกสำหรับการสแกน SYN ด้วย nmap คือ -sS ในขณะที่ตัวเลือกสำหรับการสแกนที่ไม่ได้ใช้งานคือ -sI แต่คำสั่งที่แน่นอนฉัน จะ.

            ทำการสแกนจากเครื่องอื่นที่ชี้ไปที่ ip ของเครื่องของคุณด้วย ubuntu อย่าทำจากพีซีของคุณเองเพราะนั่นไม่ใช่วิธีการทำงาน

          3.    ยูกิเทรุ dijo

            ฮ่า ๆ!! ความผิดพลาดของฉันเกี่ยวกับ 3000 หน้าเมื่อเป็นบรรทัด😛

  6.   เยซู อิสราเอล เปราเลส มาร์ติเนซ dijo

    ฉันไม่รู้ แต่ฉันคิดว่า GUI สำหรับสิ่งนั้นใน GNU / Linux เพื่อจัดการไฟร์วอลล์นั้นค่อนข้างรอบคอบและไม่ปล่อยให้ทุกอย่างถูกเปิดเผยเช่นเดียวกับในอูบุนตูหรือทุกอย่างที่ครอบคลุมเช่นเดียวกับใน fedora คุณควรเป็น xD ที่ดีหรือต้องกำหนดค่าอะไรบางอย่าง ทางเลือกของฆาตกรเหี้ย xD hjahjahjaja มันมีน้อยที่ฉันต่อสู้กับพวกเขาและ jdk ที่เปิดกว้าง แต่สุดท้ายคุณก็ต้องรักษาหลักการของการจูบไว้ด้วย

  7.   มอริเชียส dijo

    ต้องขอบคุณความสะดุดทั้งหมดที่เกิดขึ้นในอดีตด้วย iptables วันนี้ฉันสามารถเข้าใจ niverl ดิบนั่นคือพูดกับเขาโดยตรงที่มาจากโรงงาน

    และไม่ใช่เรื่องที่ซับซ้อน แต่เป็นเรื่องง่ายที่จะเรียนรู้

    หากผู้เขียนโพสต์อนุญาตฉันจะโพสต์ข้อความที่ตัดตอนมาของสคริปต์ไฟร์วอลล์ที่ฉันใช้อยู่ในปัจจุบัน

    ## กฎการทำความสะอาด
    iptables-F
    iptables-X
    iptables -Z
    iptables -t แนท -F

    ## ตั้งค่านโยบายเริ่มต้น: DROP
    iptables -P อินพุตลดลง
    iptables -P เอาท์พุทดรอป
    iptables -P ไปข้างหน้า DROP

    # ใช้งานบน localhost โดยไม่มีข้อ จำกัด
    iptables -A INPUT -i lo -j ยอมรับ
    iptables -A เอาท์พุท -o lo -j ยอมรับ

    # อนุญาตให้เครื่องไปที่เว็บ
    iptables -A INPUT -p tcp -m tcp –sport 80 -m conntrack –ctstate RELATED, ESTABLISHED -j ACCEPT
    iptables -A เอาท์พุท -p tcp -m tcp –dport 80 -j ยอมรับ

    # แล้วยังรักษาความปลอดภัยเว็บไซต์
    iptables -A INPUT -p tcp -m tcp –sport 443 -m conntrack –ctstate RELATED, ESTABLISHED -j ACCEPT
    iptables -A เอาท์พุท -p tcp -m tcp –dport 443 -j ยอมรับ

    # อนุญาต ping จากภายในสู่ภายนอก
    iptables -A เอาท์พุท -p icmp –icmp-type echo-request -j ACCEPT
    iptables -A INPUT -p icmp –icmp-type echo-reply -j ยอมรับ

    # คุ้มครองสสส

    #iptables -I INPUT -p tcp –dport 22 -m conntrack –ctstate NEW -m limit –limit 30 / minute –limit-burst 5 -m comment –comment“ SSH-kick” -j ACCEPT
    #iptables -A INPUT -p tcp -m tcp –dport 22 -j LOG –log-prefix "SSH ACCESS ATTEMPT:" –log-level 4
    #iptables -A อินพุต -p tcp -m tcp –dport 22 -j DROP

    # กฎสำหรับ amule เพื่ออนุญาตการเชื่อมต่อขาออกและขาเข้าบนพอร์ต
    iptables -A INPUT -p tcp -m tcp –dport 16420 -m conntrack –ctstate NEW -m comment –comment "aMule" -j ACCEPT
    iptables -A OUTPUT -p tcp -m tcp –sport 16420 -m conntrack –ctstate RELATED, ESTABLISHED -m comment –comment "aMule" -j ACCEPT
    iptables -A INPUT -p udp –dport 9995 -m comment –comment "aMule" -j ACCEPT
    iptables -A เอาท์พุท -p udp –sport 9995 -j ยอมรับ
    iptables -A อินพุต -p udp –dport 16423 -j ACCEPT
    iptables -A เอาท์พุท -p udp –sport 16423 -j ยอมรับ

    ตอนนี้คำอธิบายเล็กน้อย อย่างที่คุณเห็นมีกฎที่มีนโยบาย DROP โดยค่าเริ่มต้นไม่มีสิ่งใดออกและเข้าสู่ทีมโดยที่คุณไม่บอก

    จากนั้นพื้นฐานจะถูกส่งต่อ localhost และการนำทางไปยังเครือข่ายของเครือข่าย

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

    เคล็ดลับคือการดูโครงสร้างของกฎและนำไปใช้กับพอร์ตหรือโปรโตคอลบางประเภทไม่ว่าจะเป็น udp หรือ tcp

    ฉันหวังว่าคุณจะเข้าใจสิ่งที่ฉันเพิ่งโพสต์ไว้ที่นี่

    1.    คุกกี้ dijo

      คุณควรตั้งกระทู้อธิบายไว้😉จะดีมาก

  8.   @Jlcmux dijo

    ผมมีคำถาม. ในกรณีที่คุณต้องการปฏิเสธการเชื่อมต่อ http และ https ที่ฉันใส่:

    เซิร์ฟเวอร์ "http https" ลดลง?

    และอื่น ๆ กับบริการใด ๆ ?

    กราเซีย