0Pricing
Cyber Security Academy · บทเรียน

กฎไฟร์วอลล์ iptables และ UFW

เขียนกฎไฟร์วอลล์เพื่ออนุญาต ปฏิเสธ และบันทึกการรับส่งข้อมูลด้วย iptables และอินเทอร์เฟซ UFW ที่ใช้งานง่ายกว่า

กฎไฟร์วอลล์ iptables และ UFW เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

ภาพรวมไฟร์วอลล์ Linux

Linux กรองการรับส่งข้อมูลเครือข่ายผ่านเฟรมเวิร์กเคอร์เนล netfilter โดย iptables เป็นเครื่องมือแบบพื้นที่ผู้ใช้ดั้งเดิม ส่วน nftables เป็นเครื่องมือรุ่นใหม่ที่มาแทนที่ UFW (Uncomplicated Firewall) เป็นส่วนหน้าที่ทำให้ iptables ใช้งานง่ายขึ้น เหมาะสำหรับเซิร์ฟเวอร์ Ubuntu/Debian

เชนของ iptables

iptables ใช้เชนเพื่อประมวลผลแพ็กเก็ต:

  • INPUT — แพ็กเก็ตที่ส่งมายังเครื่องภายในเครื่องนั้น
  • OUTPUT — แพ็กเก็ตที่มีต้นทางจากเครื่องนั้น
  • FORWARD — แพ็กเก็ตที่ถูกกำหนดเส้นทางผ่านเครื่องนั้น

กฎในแต่ละเชนจะถูกประเมินจากบนลงล่าง โดยใช้กฎแรกที่ตรงเงื่อนไข

นโยบาย iptables เริ่มต้น

นโยบายเริ่มต้นจะมีผลเมื่อไม่มีกฎใดตรงเงื่อนไข ค่าตั้งต้นที่ปลอดภัยคือ:

# Default deny all, allow established connections
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

กฎ iptables ที่ใช้บ่อย

กฎอนุญาตที่จำเป็น:

# Allow SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Allow HTTP/HTTPS
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
# Allow from specific IP
iptables -A INPUT -s 10.0.0.5 -j ACCEPT
# List rules
iptables -L -n -v --line-numbers

การบันทึกและคงอยู่ของกฎ iptables

โดยค่าเริ่มต้น กฎ iptables จะไม่คงอยู่ถาวรและจะถูกรีเซ็ตเมื่อเริ่มระบบใหม่:

# Debian/Ubuntu:
aptitude install iptables-persistent
netfilter-persistent save
# RHEL/CentOS:
service iptables save

พื้นฐาน UFW

UFW ช่วยให้การจัดการไฟร์วอลล์บน Ubuntu ง่ายขึ้น ขั้นตอนการใช้งานทั่วไป:

ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

โปรไฟล์แอปพลิเคชันของ UFW

UFW รองรับโปรไฟล์ที่มีชื่อ ซึ่งจะเปิดพอร์ตที่จำเป็นสำหรับแอปพลิเคชัน:

ufw app list
ufw allow "Nginx Full"     # opens 80 and 443
ufw allow "OpenSSH"
ufw app info "Nginx Full"

การจำกัดอัตราของ UFW

UFW สามารถจำกัดอัตราการเชื่อมต่อเพื่อป้องกันการโจมตีด้วยการเดารหัสผ่าน:

# Allow SSH but rate-limit (max 6 connections per 30 seconds per IP)
ufw limit ssh
# This triggers after 6 connection attempts in 30 seconds

การบันทึกเหตุการณ์ไฟร์วอลล์

เปิดใช้การบันทึกเพื่อ ตรวจสอบการรับส่งข้อมูลที่ถูกบล็อก:

ufw logging on
ufw logging medium
# Logs appear in /var/log/ufw.log
tail -f /var/log/ufw.log | grep BLOCK

nftables: ทางเลือกสมัยใหม่

nftables เข้ามาแทนที่ iptables ในดิสทริบิวชัน Linux รุ่นใหม่ ใช้ไวยากรณ์ที่สะอาดกว่าและมีประสิทธิภาพดีกว่าสำหรับชุดกฎที่ซับซ้อน:

nft list ruleset
nft add rule inet filter input tcp dport 22 accept
nft add rule inet filter input drop

ไฟร์วอลล์แบบติดตามสถานะเทียบกับแบบไร้สถานะ

ไฟร์วอลล์แบบ ติดตามสถานะ จะติดตามสถานะการเชื่อมต่อ (NEW, ESTABLISHED, RELATED) และอนุญาตการตอบกลับของการเชื่อมต่อขาออกโดยอัตโนมัติ ส่วนกฎแบบ ไร้สถานะ จะจับคู่แพ็กเก็ตแต่ละรายการอย่างเป็นอิสระ จึงต้องมีกฎอย่างชัดเจนสำหรับทั้งสองทิศทาง netfilter ของ Linux เป็นแบบติดตามสถานะผ่านโมดูล conntrack

ตรวจสอบความเข้าใจ: กฎไฟร์วอลล์

คำสั่ง UFW ใดกำหนด นโยบายเริ่มต้น ให้บล็อกการเชื่อมต่อขาเข้าทั้งหมด เว้นแต่จะอนุญาตไว้อย่างชัดเจน

ทบทวนบทเรียน

iptables (และ nftables รุ่นใหม่) ควบคุมการกรองแพ็กเก็ตของ Linux ผ่านเชน INPUT/OUTPUT/FORWARD UFW ช่วยให้การทำงานนี้ง่ายขึ้นด้วยโปรไฟล์ที่มีชื่อ การจำกัดอัตรา และการบันทึก นโยบายเริ่มต้นควรเป็น deny incoming ควรอนุญาตการเชื่อมต่อที่สร้างแล้วและการเชื่อมต่อแบบวนกลับเสมอ และควรบันทึกกฎให้คงอยู่หลังการเริ่มระบบใหม่

คำถามที่พบบ่อย

บทเรียน “กฎไฟร์วอลล์ iptables และ UFW” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “กฎไฟร์วอลล์ iptables และ UFW” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “กฎไฟร์วอลล์ iptables และ UFW”

เขียนกฎไฟร์วอลล์เพื่ออนุญาต ปฏิเสธ และบันทึกการรับส่งข้อมูลด้วย iptables และอินเทอร์เฟซ UFW ที่ใช้งานง่ายกว่า คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “กฎไฟร์วอลล์ iptables และ UFW” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. สิทธิ์และความเป็นเจ้าของไฟล์
  2. การจัดการผู้ใช้และกลุ่ม
  3. การเสริมความปลอดภัย SSH และการยืนยันตัวตนด้วยคีย์
  4. กฎไฟร์วอลล์ iptables และ UFW
← กลับไปที่ Cyber Security Academy