Firewall IPTABLES.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การติดตั้งการทำงานบนระบบ Network และการใช้งานขั้นสูง
Advertisements

ระบบอินเทอร์เน็ตในโรงเรียน
ระบบอินเทอร์เนต สำหรับ User ไม่เกิน 1000 คน โดย นางสาวสายสุณี สังข์ทอง คณะศึกษาศาสตร์ สาขาวิชา ฟิสิกส์ รหัสนิสิต
IT Central Library KMITL
วิธีการตั้งค่าเครื่องคอมพิวเตอร์เพื่อใช้ในระบบเครือข่าย
(Telephone Billing System)
FORM อ.กันทิมา อ่อนละออ
Script Programming& Internet Programming
Load balancing by pfSense
บทที่ 13 Device Security จัดทำโดย
การแก้ปัญหาด้วยคอมพิวเตอร์
บทที่ 12 การจดทะเบียนชื่อโดเมน (Domain Name Registration)
TCP/IP Protocols IP Addressing
การพัฒนาการใช้งานในระบบเว็บ
ข้อมูลระบบอินเตอร์เน็ตในโรงเรียนสำหรับผู้ใช้จำนวนไม่เกิน 1000 คน
ระบบอินเทอร์เน็ตสำหรับ user ตั้งแต่ 1000 ขึ้นไป
ระบบอินเทอร์เนตสำหรับผู้ใช้ไม่เกิน 1000 คน
Internet For School การทำงาน 1.Rounter เชื่อมต่ออินเทอร์เนต์ไปยัง ISP 2.ISP หรือผู้ให้บริการอินเทอร์เนตจะตรวจ check ว่าโรงเรียนท่านเป็นสมาชิกหรือไม่ถ้าเป็นก็ทำการเชื่อมต่ออินเทอร์เนต.
ระบบอินเทอร์เนตในโรงเรียนที่ผู้ใช้ไม่เกิน 1000 คน
อินเตอร์เน็ตสำหรับโรงเรียน
ระบบอินเทอร์เนตสำหรับ User ไม่เกิน 1,000 คน
ระบบอินเทอร์เนตสำหรับผู้ใช้ ไม่เกิน 1000 คน ออกแบบโดย นางสาวภัคคินี ศรีนวล รหัสประจำตัวนิสิต คณะศึกษาศาสตร์ สาขาวิชา คณิตศาสตร์
Internet For School จำนวนผู้ใช้ไม่เกิน 1,000 คน
ศุภโชค จันทรประทิน ผู้ช่วยนักวิจัย ห้องปฎิบัติการเครือข่ายคอมพิวเตอร์
ARP (Address Resolution Protocol)
:-> ติดตั้ง Dial-up Networking
สรุปประเด็นการทำ Firewall
IP TABLES เรียนรู้และทำความเข้าใจการทำงานของ iptables และสามารถนำไปประยุกต์ใช้กับ Firewall ได้
Transport Layer.
File Transfer (FTP), WWW, HTTP, DHCP.
Network Layer Protocal:
Network programming Asst. Prof. Dr. Choopan Rattanapoka
Network programming Asst. Prof. Dr. Choopan Rattanapoka
การเขียนโปรแกรมบนเว็บ (WEB PROGRAMMING) บทที่ 1 ความรู้เบื้งต้นเกี่ยวกับอินเทอร์เน็ตเวิลด์ไวด์เว็บ และโปรโตคอลที่เกี่ยวข้อง โดย อ.ปริญญา น้อยดอนไพร.
โดย อ.ปริญญา น้อยดอนไพร V
เนื้อหา วัตถุประสงค์ของการใช้ระบบเครือข่าย
RADIUS & TACACS.
การติดตั้งอุปกรณ์ปลายทาง
สิ่งที่ควรรู้ WAN = Wide Area Network ระบบเครือข่ายระดับกว้างไกล
Week 5: Chapter 23: Support Protocols
โดย อาจารย์นัณฑ์ศิตา ชูรัตน์
ภาพรวมระบบเครือข่าย
การแก้ไขปัญหาการเชื่อมต่อระบบเครือข่าย เบื้องต้น
Network Address Translation (NAT)
Internet.
CH 9 หมายเลขไอพี และการจัดสรร
Chapter 4 หมายเลขไอพี และการจัดสรร
Protocol ทำเราท์เตอร์เป็นเซิร์ฟเวอร์แจกไอพี Dynamic Host Configuration
Translation Network Address แปลงไอพีบนเฮดเดอร์ด้วย 13 05/04/60
Data transfer rate(bandwidth) protocol file server web server.
Introduction to PHP, MySQL – Special Problem (Database)
อินเทอร์เน็ต โดย.. ครูสาคร หนูอิน.
ระบบฐานข้อมูลการดำเนินงานกิจกรรมสาธารณสุข
HTTP (Hyper Text Transfer Protocol )
อินเตอร์เน็ตเบื้องต้น
การสร้างฟอร์ม(Form) ด้วยภาษา HTML
ISP ในประเทศไทย
NETWORK SERVICE NTP + SQUID
Firewall Presented by Suthee Sirisutthidecha Instructor, IT Faculty 13 July 2013suthee sirisutthidecha1.
Network Security.
การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์
คำศัพท์ระบบอินเตอร์เน็ต
Application Layer.
Mr. Winai Purikasem. Introduction  Hypertext model  Use of hypertext in World Wide Web (WWW)  WWW client-server model  Use of TCP/IP protocols in.
1 LAN Implementation Sanchai Yeewiyom School of Information & Communication Technology Naresuan University, Phayao Campus.
Proxy/Cache Server 24/12/2554.
Security in Computer Systems and Networks
บทที่ 8 เครือข่ายการสื่อสารทางไกลระหว่างประเทศ
Firewall อาจารย์ ธนัญชัย ตรีภาค ภาควิชาวิศวกรรมคอมพิวเตอร์
เครือข่ายคอมพิวเตอร์
ใบสำเนางานนำเสนอ:

Firewall IPTABLES

iptables iptables -L  (List the rules in all chain) จะได้ผลลัพธ์เป็น Chain INPUT (policy ACCEPT) target     prot opt source               destination Chain FORWARD (policy ACCEPT) target     prot opt source               destination Chain OUTPUT (policy ACCEPT) target     prot opt source               destination

ประกอบด้วย Chain จำนวน 3 Chain INPUT คือ Packet ที่วิ่งเข้ามายังเครื่อง Server ทั้งทางขา LAN และขา WAN FORWARD คือ Packet ที่วิ่งผ่าน Server จากทาง LAN --> WAN และ จาก WAN --> LAN OUTPUT คือ Packet ที่วิ่งออกจากเครื่อง Server ทั้งทางขา LAN และขา WAN

และ policy จะเป็น ACCEPT INPUT คือ อนุญาติให้ทุก Packet วิ่งเข้ามายัง Server FORWARD คือ อนุญาติให้ทุก Packet วิ่งผ่าน Server OUTPUT คือ อนุญาติให้ทุก Packet วิ่งออกจาก Server ในการใช้งานนั้น Chain INPUT/OUTPUT จะใช้ในกรณีที่เครื่องเราทำหน้าที่เป็น Server และ Chain FORWARD นั้น จะใช้ในกรณีที่เครื่องเราทำหน้าที่เป็น Gateway

การเดินทางของ Packet ผ่าน Server จะแบ่งได้เป็น 3 กรณี คือ 1. ข้อมูลวิ่งมายังเครื่อง Server กรณีนี้คือ เครื่อง Server เป็นผู้ให้บริการ เช่น ftp, web, mail, dns หรือ proxy เป็นต้น แล้วเครื่องลูกข่าย หรือเครื่องจากภายนอก วิ่งเข้ามายังเครื่อง Server การเดินทางของ Packet จะเป็นดังนี้ คือ จาก Interface ของ Server เช่น eth0, ppp0 หรืออื่น ๆ ที่ข้อมูลวิ่งเข้ามา จะวิ่งเข้ามายัง Chain PREROUTING  --> Conntrack , mangle , nat ตามลำดับ  จากนั้นก็จะวิ่งไปยัง Routing Process Chain INPUT --> Filter , Conntrack , mangle ตามลำดับ จากนั้นก็จะวิ่งไปยัง Local Process สรุปคือ  Interface -> PREROUTING --> Routing Process --> INPUT --> Local Process

2. ข้อมูลวิ่งออกจากเครื่อง Server กรณีนี้คือ เมื่อเครื่อง Server ได้รับการติดต่อมาจากภายนอก แล้วทำการตอบกลับ ก็จะมีการส่งข้อมูลออก เช่น การ ping มายัง Server , การส่งข้อมูลไปยังเครื่องลูกข่าย การเดินทางของ Packet จะเป็นดังนี้ Local Process Chain OUTPUT --> Contrack , mangle , nat , filter ตามลำดับ จากนั้นจะวิ่งไปยัง Routing Process Chain POSTROUTING --> mangle , nat , Contrack ตามลำดับ จากนั้นก็จะวิ่งไปยัง สู่ Interface ของ Server เช่น ppp0, eth0 เพื่อส่งข้อมูลออกไป สรุป ง่าย ๆ คือ Local Process --> OUTPUT --> Routing Process --> POSTROUTING --> Interface

3. ข้อมูลวิ่งผ่านเครื่อง Server ในกรณีที่เครื่องของเราทำหน้าที่เป็น Gateway ก็จะมีข้อมูลวิ่งจาก Interface นึงไปยังอีก Interface หนึ่งไม่ว่าจะเป็นจาก WAN --> LAN  หรือ จาก LAN --> WAN ก็จะมีลักษณะเหมือนกัน ซึ่งจะแทนด้วย Interface A ไปยัง Interface B การเดินทางของ Packet จะเป็นดังนี้ เริ่มต้นจากเข้ามาสู่ Interface A Chain PREROUTING --> Conntrack , mangle , nat ตามลำดับ จากนั้นจะวิ่งไปยัง Routing Process Chain FORWARD --> mangle , filter ตามลำดับ จากนั้นจะวิ่งไปยัง Chain POSTROUTING --> mangle , nat , Conntrack ตามลำดับ จากนั้นจะวิ่งไปยัง วิ่งออกทาง Interface B สรุป ง่าย ๆ คือ Interface A --> PREROUTING --> Routing Process --> FORWARD --> POSTROUTING --> Interface B

การทำ Firewall การทำ Firewall นั้น ก็คือการสร้างกฎเพื่อกำหนดการเข้าและออกของข้อมูล กรณีที่มี 1 Interface หรือเป็นแค่เพียง Server ให้บริการธรรมดา ก็จะต้องกำหนดกฎ 2 รูปแบบ 1. กำหนดข้อมูลที่วิ่งเข้ามายัง Server 2. กำหนดข้อมูลที่วิ่งออกจาก Server

กรณีที่มี 2 Interface และทำหน้าที่เป็น Gateway และให้บริการด้วย จะต้องกำหนดกฎ 4 รูปแบบ 1. กำหนดข้อมูลที่วิ่งเข้ามายัง Server ทางขา WAN และ ขา LAN 2. กำหนดข้อมูลที่วิ่งออกจาก Server ทางขา WAN และ ขา LAN 3. ข้อมูลที่วิ่งจาก Localnet ออกไปยัง InterNet 4. ข้อมูลที่วิ่งจาก InterNet เข้ามายัง LocalNet

กรณีที่มี 3 Interface ทำหน้าที่เป็น Gateway และมี Interface DMZ เพิ่มขึ้นมา เพื่อรักษาความปลอดภัยให้ Server ภายใน 1. กำหนดข้อมูลที่วิ่งเข้ามายัง Server ทางขา WAN ,ขา LAN และขา DMZ 2. กำหนดข้อมูลที่วิ่งออกจาก Server ทางขา WAN ,ขา LAN และขา DMZ 3. ข้อมูลที่วิ่งจาก Localnet ออกไปยัง InterNet 4. ข้อมูลที่วิ่งจาก Localnet ออกไปยัง DMZ 5. ข้อมูลที่วิ่งจาก DMZ ออกไปยัง Internet 6. ข้อมูลที่วิ่งจาก DMZ ออกไปยัง LocalNet 7. ข้อมูลที่วิ่งจาก Internet เข้ามายัง LocalNet 8. ข้อมูลที่วิ่งจาก Internet เข้ามายัง DMZ

ในการทำ Firewall นั้น เราจะต้องทราบข้อมูลเข้าและข้อมูลออกทั้งหมดของ Server โดยจะต้องระบุ IP ต้นทาง, IP ปลายทาง, Port และ Protocol เป็นอย่างน้อย ยกตัวอย่างกรณีแรก เครื่อง Server ทำหน้าที่เป็น Web Server และ Proxy Server มี 1 Interface คือ eth0 โดยมี IP เป็น 172.16.6.11 ดังนั้น กฎที่เราต้องสร้างขึ้นจะมี 2 รูปแบบ ก็กำหนดได้โดย 1. กำหนดข้อมูลที่วิ่งเข้ามายัง Server - สามารถเชื่อมต่อมายัง Server ต้นทาง IP 172.16.6.0/24 ด้วย Protocol TCP Port 80 (Web Server) - สามารถเชื่อมต่อมายัง Server ต้นทาง IP 172.16.6.0/24 ด้วย Protocol TCP Port 8080 (Proxy Server) - สามารถเชื่อมต่อมายัง Server ได้เฉพาะกลุ่ม IP 172.16.6.200-254 ด้วย Protocol TCP Port 22 (SSH Server) - สามารถเชื่อมต่อมายัง Server ได้เฉพาะกลุ่ม IP 172.16.6.200-254 ด้วย Protocol TCP Port 10000 (Webmin) - สามารถปิงเข้ามายัง Server ได้ ต้นทาง IP 172.16.6.0/24 - นอกเหนือจากกฎเหล่านี้ให้ DROP 2. กำหนดข้อมูลที่วิ่งออกจาก Server - สามารถออกได้หมดทุก ip/port/protocol

เริ่มต้นในการ set firewall นั้น จะเริ่มทำการปิด หรือ DROP policy ของทุก Chain ก่อน iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #1. กำหนดข้อมูลที่วิ่งเข้ามายัง Server #สามารถเชื่อมต่อมายัง Server ต้นทาง IP 172.16.6.0/24 ด้วย Protocol TCP Port 80 (Web Server) iptables -A INPUT -i eth0 -s 172.16.6.0/24 -d 172.16.6.11 -p tcp --dport 80 -j ACCEPT #สามารถเชื่อมต่อมายัง Server ต้นทาง IP 172.16.6.0/24 ด้วย Protocol TCP Port 8080 (Proxy Server) iptables -A INPUT -i eth0 -s 172.16.6.0/24 -d 172.16.6.11 -p tcp --dport 8080 -j ACCEPT #สามารถเชื่อมต่อมายัง Server ได้เฉพาะกลุ่ม IP 172.16.6.200-254 ด้วย Protocol TCP Port 22 (SSH Server) iptables -A INPUT -i eth0 -m iprange --src-range 172.16.6.200-172.16.6.254 -d 172.16.6.11 -p tcp --dport 22 -j ACCEPT

#สามารถเชื่อมต่อมายัง Server ได้เฉพาะกลุ่ม IP 172. 16. 6 #สามารถเชื่อมต่อมายัง Server ได้เฉพาะกลุ่ม IP 172.16.6.200-254 ด้วย Protocol TCP Port 10000 (Webmin) iptables -A INPUT -i eth0 -m iprange --src-range 172.16.6.200-172.16.6.254 -d 172.16.6.11 -p tcp --dport 10000 -j ACCEPT #สามารถปิงเข้ามายัง Server ได้ ต้นทาง IP 172.16.6.0/24 iptables -A INPUT -i eth0 -s 172.16.6.0/24 -d 172.16.6.11 -p icmp -j ACCEPT #2. กำหนดข้อมูลที่วิ่งออกจาก Server iptables -A OUTPUT -o eth0 -j ACCEPT เป็นอันเรียบร้อย สำหรับตัวอย่างแรก ลองใช้คำสั่ง iptables -nvL เพื่อดู rule ที่เพิ่มเข้าไป

Simple NAT iptables –t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward Iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,INVALID -j DROP iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,INVALID -j DROP 202.28.49.14

SNAT iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.63.201 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.10.1

DNAT Iptables – A PREROUTING -p tcp -d 202.28.49.5 –j DNAT –to-destination 192.168.10.5

Example Server intranet ip 192.168.3.80/27 WAN IP 192.168.63.201 Server บริการ www,FTP,DHCP,SAMBA Web configure for home user (public_html) to run PHP code FTP configure for anonymous user and Show Banner Your Group SAMBA make share Folder in name [PUBLIC] and user can write file DHCP assign range of IP for 20 station Server intranet ip 192.168.3.80/27 WAN IP 192.168.63.201 Name of client 1 is com1 and client 2 is com2 (com1 and com2 receive ip from DHCP SERVER) Name of Server is www Domain group(x).net Configure NAT for can used all service by MASQUERADE policy