1 / 29

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH. KHOA: CÔNG NGHỆ THÔNG TIN. Quản Trị Unix. TIỂU LUẬN NHÓM. ĐỀ TÀI: IPTables Firewall. Giảng viên hướng dẫn : Đặng Thanh Bình Mã lớp học phần : 210117301. Danh sách nhóm. IPTables Firewall. I. IPTABLES là gì ?

elmo-ware
Download Presentation

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH KHOA: CÔNG NGHỆ THÔNG TIN QuảnTrị Unix TIỂU LUẬN NHÓM ĐỀ TÀI: IPTables Firewall Giảngviênhướngdẫn: ĐặngThanhBình Mãlớphọcphần: 210117301

  2. Danhsáchnhóm

  3. IPTables Firewall I.IPTABLES làgì? II.ChứcnăngIptables: III.Cácbảng IPTABLES vàcácchuỗiluật - CHAINS: IV.Cơchếlọcvàxửlýgói: V.Càiđặtiptables: VI.Targetsvà Jumps: VII.Cúphápiptables: VIII.Cácthamsốdònglệnhcủaiptables:

  4. IPTABLES làgì? IPtableslàmộtchươngtrìnhchạy ở khônggianngườidùng, chophépngườiquảntrịhệthốngcóthểcấuhìnhcácbảngcủatườnglửatrongnhân Linux (đượccàiđặttrongcác Module Netfilterkhácnhau) vàlưutrữcácchuỗi, luật. Các Module nhânvàchươngtrìnhkhácnhauđượcápdụngchotừnggiaothức; iptablescho IPv4, ip6tables cho IPv6,..

  5. IPTables Firewall

  6. IPTables Firewall Làmộtbứctườnglửaứngdụnglọcgóidữliệurấtmạnh. Netfilter/Iptablesgồm 2 phần: • Netfilter ở trongnhân Linux đểđẩycácluậtcủangườidùngvàochoNetfilerxửlí • Iptablesnằmngoàinhân. chịutráchnhiệmgiaotiếpgiữacácngườidùng

  7. IPTables Firewall

  8. ChứcnăngIptables: Iptables do Netfilter organization viếtrađểtăngtínhnăngbảomậttrênhệthống Linux. Iptablescungcấpcáctínhnăngsau: • Tíchhợptốtvới kernel của Linux. • Cókhảnăngphântích package hiệuquả. • Lọc package dựavào MAC vàmộtsốcờhiệutrong TCP Header. • Cungcấp chi tiếtcáctuỳchọnđểghinhậnsựkiệnhệthống. • Cungcấpkỹthuật NAT • Cókhảnăngngănchặnmộtsốcơchếtấncôngtheokiểutừchốidịchvụ (denial of service (DoS) attacks)

  9. Cácbảng IPTABLES vàcácchuỗiluật - CHAINS: IPTABLES gồm 3 bảngchínhsau: Filter Table, NAT table,Mangle table

  10. Cácbảng IPTABLES vàcácchuỗiluật - CHAINS: 1. Filter Table: đúngnhưtêngọinódùngđểlọccácgói tin gồmcác build-in chain • Forward chain: lọcnhữnggói tin đi qua hệthống (đivàomộthệthốngkhác). • Input chain: lọcnhữnggói tin đivàohệthống. • Output chain: nhữnggói tin điratừhệthống.

  11. Cácbảng IPTABLES vàcácchuỗiluật - CHAINS: 2. NAT table: sửađịachỉgói tin gồmcác build-in chain • Pre-routing: sửađịachỉđíchcủagói tin trướckhinóđược routing bởibảng routing củahệthống (destination NAT hay DNAT). • Post-routing: ngượclạivới Pre-routing, nósửađịachỉnguồncủagói tin saukhigói tin đãđược routing bởihệthống (SNAT).

  12. Cácbảng IPTABLES vàcácchuỗiluật - CHAINS: 3. Mangle table: dùngđểchỉnhsửaQoS(qulity of service) bit trongphần TCP Header củagóitin • Mỗi rule màbạntạoraphảitươngứngvớimột chain, table nàođấy. Nếubạnkhôngxácđịnh tables nàothìiptablescoimặcđịnhlàchobảng FILTER.

  13. Cơchếlọcvàxửlýgói: • Cácgói tin từngoàiđivàosẽđượckiểmtrabởicác Pre-routing chain đầutiênxemxemnócócần DNAT không, sauđógói tin được routing. Nếugói tin cầnđitớimộthệthốngkhác ( protected network ) nósẽđượclọcbởicác FORWARD chain củabảng FILTER vànếucầnnócóthểđược SNAT bởicác Post-routing chain trướckhiđếnđượchệthốngđích. • Nếugói tin đượcđịnhhướngđivàotrongbứctườnglửacủachínhnó, nósẽđượcxửlýbởicác INPUT chain vànếukhôngbịlọcbỏnósẽđượcxửlýbởimộtdịchvụ ( System Service ) nàođóchạytrênhệthống. Khihệthốnggửitrảlời, gói tin mànógửiđiđượcxửlýbởicác OUTPUT chain vàcóthểđượcxửkýbởicác Post-routing chain củabảng FILTER vàbảng MANGLE nếunócần SNAT hay QoS

  14. Càiđặtiptables: Iptablesđượccàiđặtmặcđịnhtronghệthống Linux, package củaiptableslàiptablesversion. • Red Hat: $ rpm -ivhiptables-version.rpm • Debian: $ apt-get install i iptables • Khởiđộngiptables: service iptables start • Tắtiptables: service iptables stop • Táikhởiđộngiptables: service iptables restart • Xácđịnhtrạngtháiiptables: service iptables status

  15. Targets và Jumps: Targetslàcơchếhoạtđộngtrongiptablesdùngđểnhậndiệnvàkiểmtrapacket. Jumplàcơchếchuyểnmột packet đếnmột target nàođóđểxửlýthêmmộtsốthaotáckhác. Danhsáchcác target đượcxâydựngsẳntrongiptables: • ACCEPT:iptableschấpnhậnchuyển data đếnđích. • DROP:iptableskhóanhững packet.

  16. Targets và Jumps: • LOG:Thông tin của packet sẽgởivào syslog daemon, iptablestiếptụcxửlýluậttiếptheotrongbảngmôtảluật. Nếuluậtcuốicùngkhông match thìsẽ drop packet. Vớitùychọnthôngdụnglà--log-prefix=”string”,tứciptablessẽghinhậnlạinhững message bắtđầubằngchuỗi“string”. • REJECT:Ngănchặn packet vàgởithôngbáocho sender. Vớitùychọnthôngdụnglà-- reject-with qualifier, tức qualifier chỉđịnhloại reject message sẽđượcgởilạichongườigởi. Cácloạiqualifersau: icmp-port-unreachable (default), icmp-net-unreachable, icmp-host-unreachable, icmp-proto-unreachable, …

  17. Targets và Jumps: • DNAT:Thayđổiđịachỉđíchcủa packet (rewriting the destination IP address of the packet). Tùychọnlà--to-destination ipaddress • SNAT:Thayđổiđịachỉnguồncủa packet. Tùychọnlà--to-source[- address][:-] • MASQUERADE:Đượcsửdụngđểthựchiệnkỹthuật NAT ( giảmạođịachỉnguồnvớiđịachỉcủa firewall’s interface của firewall) . Tùychọnlà[--to-ports [-]], chỉđịnhdãy port nguồnsẽánhxạvớidãy port ban đầu • REDIRECT: chuyểnhướngcủagói tin tớimột port kháctrênmáy local.

  18. Cúphápiptables: iptables–t table –A chain [match] [target] -t: table filter (default), nat, mangle -j: Nhảyđếnmột target chain khi packet thỏaluậthiệntại -p: Môtảcác protocol baogồm: icmp, tcp, udp … -s: Chỉđịnh source IP address -d: Chỉđịnh destination IP address -i: Chỉđịnh “input” interface nhận packet -o: Chỉđịnh “output” interface

  19. Cúphápiptables: -A chain: thêmmột rule mới. -D chain: xóamột rule. -I chain number: chènmột rule vàodòng [number]. -R chain number: thaythếmột rule ở dòng [number]. -L chain: xemcác rule đãcó. -F chain: xóamọi rule hiệncó. -N chain: địnhnghĩamột chain mới. -E [old_chain] [new_chain]: đổitên chain (chỉcóthểthayđổivớinhững chain do ngườidùngtạora).

  20. Cúphápiptables: [target]: ACCEPT, DROP, LOG.. [match]: -p [!] name: chọnnhững packet dựatrên protocol. Protocol cóthểlàtênhoặc port tươngứngtrong file /etc/protocols. -s [!] address[/mask]:chọnnhững packet dựatrênđịachỉnguồn. Address cóthểlà hostname hoặcđịachỉ IP. -d [!] address[/mask]: cũnggiốngtrườnghợptrênnhưnglàđịachỉđíchcủa packet.

  21. Cúphápiptables: -i name: chọn packet đượcnhậntừ interface name (input). -o name: chọnnhững packet đượcgửitừ interface name (output). [!] –f: chọnnhữnggói tin bịphânmảnh (từmảnhvụnthứhai). --sport [!] [port][:port]: chọnnhững packet có port nguồnxácđịnhnhưtrên --dport [!] [port][:port]: chọnnhững packet có port đíchxácđịnhnhưtrên.

  22. Cúphápiptables: -p tcp --sport :xácđịnh port nguồncủagói tin TCP. Cóthểlàmộtgiátrịhoặcmộtchuỗicódạngstart-port-number:end-port-number -p tcp --dport :xácđịnh port đíchcủagói tin TCP.Cóthểlàmộtgiátrịhoặcmộtchuỗicódạngstart-port-number:end-port-number -p udp --sport :xácđịnh port nguồncủagói tin UDP.Cóthểlàmộtgiátrịhoặcmộtchuỗicódạngstart-port-number:end-port-number

  23. Cúphápiptables: -p udp --dport : xácđịnh port đíchcủagói tin UDP.Cóthểlàmộtgiátrịhoặcmộtchuỗicódạngstart-port-number:end-port-number --syn : xácđịnhgói tin cóphảilàmộtyêucầutạomộtkếtnối TCP mớikhông. --icmp-type :xácđịnhloạigóiicmp (echo-reply hay echo-request).

  24. Cúphápiptables: --mac-source [!] address: chọnnhững packet cóđịachỉ MAC nguồnlà address.Address viếtdướidạng 00:60:08:91:CC:B7 --limit rate: giớihạntầnsuấtcủa packet, đượcchỉđịnhbằng 1 con sốvàđằngsaulà /second, /minute, /hour, /day. Default là 3/hour. --limit-burst [number]:xácđịnhsốlượng packet tốiđađượcchấpnhận. Default là 5.

  25. Cúphápiptables: -m --state < state >: chọngói tin cótrạngtháilà 1 trongcáctrạngtháiđượcliệtkê ở states Mộtsốtrạngtháithôngdụng: ESTABLISHED: đãthiếtlậpkếtnối. NEW: bắtđầuthiếtlậpkếtnối. RELATED: thiếtlậpkếtnốithứ 2 (FTP data transfer, hoặc ICMP error). INVALID: Góidữliệukhôngnhậndạngđược. Nguyênnhânlà do việcthiếutàinguyênhệthốnghoặclỗi ICMP khôngtrùngvớidữliệucósẵn.

  26. Sauđâylàmộtsố rule vídụ minh hoạ: • iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT: chấpnhậnnhữnggói tin từmọiđịachỉip (-s 0/0) đivàotừ eth0, gửiđếnhệthốngcóđịachỉ 192.168.1.1 • iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP \--sport 1024:65535 --dport 80 -j ACCEPT: chophépnhữnggói tin từmọiđịachỉipđivàotừ eth0 đira eth1 đểđếnhệthốngcóđịachỉ 192.168.1.58, giátrị port nguồncủacácgói tin trongphạm vi 1024 đến 65535 vàgiátrị port đíchlà 80 ( www/http).

  27. Cácthamsốdònglệnhcủaiptables: • Gọitrợgiúp $ man iptables hay $ iptables -help • Tạo chain mới: iptables -N <tên_chain> • Xóahếtcácluậtđãtạotrong chain: iptabies -X <tên chain> • Reset bộđếm packet về 0: iptables -Z <tên_chain>

  28. Cácthamsốdònglệnhcủaiptables: • Đặtchínhsáchchocác chain 'built-in' (INPUT, OUTPUT & FORWARD): • iptables -P <tên_chain_built-in> <tên policy (DROP hoặc ACCEPT)> • vídụ: iptables -P INPUT ACCEPTđểchấpnhậncác packet vào chain INPUT • Liệtkêcácluậtcótrong chain: iptables -L <tên_chain>

  29. CÁM ƠN!!!

More Related