VIỆN ĐẠi học mở HÀ NỘi khoa công nghệ thông tin đỒ Án tốt nghiệP ĐẠi họC


Tình hình ứng dụng và phát triển của Việt Nam



tải về 0.74 Mb.
trang4/10
Chuyển đổi dữ liệu23.07.2016
Kích0.74 Mb.
#2197
1   2   3   4   5   6   7   8   9   10

1.3.Tình hình ứng dụng và phát triển của Việt Nam

1.3.1.Về cơ chế chính sách


Đảng và Nhà nước ta đã xác đinh thúc đẩy ứng dụng và phát triển phần mềm nguồn mở (PMNM) là một trong những nhiệm vụ trọng tâm cần thực hiện nhằm góp phần thực thi Luật sở hữu trí tuệ và giảm chi phí mua sắm phần mềm, thúc đẩy phát triển công nghiệp công nghệ thông tin nói chung và công nghiệp phần mềm Việt Nam nói riêng để thúc đẩy phát triển kinh tế xã hội. Điều này đã được khẳng định trong văn bản mà Đảng và Nhà nước đã ban hành.

Trong thời gian qua Thủ tướng Chính phủ ban hành các Quyết định như Quyết đinh số 169/QĐ-TTg và 223/QĐ-TTg; Quyết định 51/2007/QĐ-TTg , trong các Quyết đinh trên có lồng ghép các quy đinh về ưu tiên mua sắm PMNM. Ngoài ra, Bộ Thông tin và truyền thông cũng đã ban hành Thông tư 02/2007/TT-BBCVT hướng dẫn chi tiết một số nội dung của Quyết đinh số 169/2006/QĐ-TTg, Quyết định số 223/2006/QĐ-TTg; Quyết định số 08/2007/QĐ-BTTTT ban hành danh mục sản phẩm PMNM được ưu tiên mua sắm, sử dụng làm cơ sở để các cơ quan nhà nước ưu tiên mua sắm khi thực hiện mua sắm sản phẩn mềm và Chỉ thị 07/2008/CT-BTTTT về việc đẩy mạnh sử dụng phần mềm mã nguồn mở trong hoạt động của cơ quan, tổ chức nhà nước.


1.3.2.Về đào tạo và hướng dẫn sử dụng


Bộ Giáo dục và Đào tạo đã ban hành văn bản chỉ đạo điều hành các Sở và trường đại học trong việc đưa PMMN vào chương trình giảng dạy và sử dụng. Một số trường đại học đã áp dụng (Cần Thơ); Bộ Khoa học và Công nghệ tổ chức tập huấn cho tất cả các Bộ ngành và địa phương về sử dụng Open Office, Firefox, Unikey; Bộ Thông tin và truyền thông có công văn gửi Bộ Nội vụ, Bộ Lao động và Thương Binh Xã Hội đưa vào nội dung đào tạo và cấp chứng chỉ (CVC); Các Bộ Kế hoạch và Đầu tư, Công an, Quốc phòng thành phố Hà Nội, Hồ Chí Minh.. đã tổ chức các khóa đào tạo PMNM phục vụ công tác triển khai; HaNoiLug, SaigonLug .. đào tạo cho cộng đồng ngay tai các trường đại học.

1.3.3.Về tuyên truyền nâng cao nhận thức


Triển khai cung cấp thông tin, xây dưng các phóng sự, buổi tọa đàm trên truyền hình như trên VTV, VTC và một số đài truyền hình địa phương; Tạp chí chuyên ngành về CNTT, Báo Điện Tử VnExpress, báo giấy, trang thông tin điện tử, diễn đàn.. đã đưa nội dung về PMNM. Tổ chức và tham gia tổ chức các kiện để cung cấp thông tin, nâng cao nhận thức, giới thiệu và cung cấp giải pháp về PMNM (Hội thảo quốc gia, IT Week, Thi Olympic Tin học…); Xây dựng tài liệu, sách, đĩa chương trình để tuyên truyền và phổ biến.

1.3.4.Về triển khai lại một số nơi cụ thể


Hệ thống thông tin các cơ quan Đảng, gần như toàn bộ hệ thống máy chủ dùng PMNM (~2000 máy). Khoảng 14.000 PCs đã dùng OpenOffice/Windows (Tỉnh Ủy Khánh Hòa, 50% máy PCs đã dùng Ubuntu); Hệ thống thông tin trên máy chủ của nhiều tỉnh, bộ ngành sử dụng các giải pháp nguồn mở chạy trên HĐH Red Hat; Hệ thống thông tin trên máy chủ của nhiều tỉnh, bộ, ngành sử dụng các giải pháp nguồn mở chạy trên Hệ diều hành Red Hat; Khoảng 70 trường Đại học, Cao đăng đã dùng Moodle, Cổng thông tin và diễn đàn giáo dục của Bộ GDĐT được xây dựng trên nguồn mở; Hệ thống tường lửa và Hội nghị truyền hình trên nền nguồn mở đã được ứng dụng tại 55 cơ quan Công an Địa phương. Hệ thống giám sát xâm nhập trái phép, kiểm soát nội dung Internet; Tỉnh Bắc Giang, tỉnh Hải Dương, Tổng cục Du lịch, một số đơn vị thuộc Bộ Khoa học và Công Nghệ, Sở Thương Mại Hồ Chí Minh, Hà Nội (Portal), Tp HCM (Openlab)..

1.3.5.Khó khăn vướng mắc


Nhận thức chưa đúng “miễn phí là không giá trị” hoặc lại là “cứu cánh”, là “duy nhất”; Vấn đề về vi phạm bản quyền phần mềm còn phổ biến; thiếu động lực cho chuyển đổi, lợi ích của chủ thể chưa được quan tâm (cần một cơ chế theo hướng tự chủ, giảm bản quyền và tăng triển khai, dữ liệu); Sự e ngại và thói quen của người dùng; Mô hình kinh doanh? Dịch vụ chưa được coi trọng; Việc chỉ đạo chưa thống nhất; Việc triển khai thực hiện mới ở mức văn bản là chủ yếu, thiếu cơ chế giám sát, thực thi; Các sản phẩm phù hợp với đặc thù của Việt Nam chưa nhiều.

CHƯƠNG 3 – PHÂN TÍCH HỆ THỐNG MÃ NGUỒN MỞ ĐỂ TĂNG CƯỜNG BẢO MẬT CHO CỔNG THÔNG TIN ĐIỆN TỬ

1.4.Giới thiệu chung


Để áp dụng mã nguồn mở cho việc bảo mật cho hệ thống ta cần đến những phần mềm và các tiện ích sau:

  • Netfilter/Iptables

  • Webserver Apache

  • IDS và hệ thống phát hiện xâm nhập Snort

  • Tường lửa cho ứng dụng Mod_Security

Và để hiểu rõ hơn về những phần mềm trên ta sẽ từng bước tìm hiểu hiểu rõ hơn về khái niệm những như những tính năng nổi bật của chúng.

1.5.Netfilter/Iptables

1.5.1.Giới thiệu Netfilter/Iptables


Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux ...Netfilter/Iptables gồm hai phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đưa mã lệnh của người dùng vào trong Netfilter xử lý. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống.

Hình 3.1. Hình minh họa về Iptables

Iptables do Netfilter Organization viết ra để tăng tính bảo mật của hệ thống Linux. Iptable cung cấp các tính năng sau:


  • Tích hợp tốt với Kernel của Linux.

  • Có khả năng phân tích package hiệu quả.

  • Lọc packgae dựa vào MAC và một số cờ trong TCP Header.

  • Cung cấp chi tiết các tùy chọn để ghi nhận sự kiện hệ thống.

  • Cung cấp kỹ thuật NAT (xem phần b)

  • Có khả năng ngăn chặn một số cơ chế tấn công từ chối dịch vụ.

1.5.2.Giới thiệu kỹ thuật NAT


Trước khi đi vào phần chính, chúng tôi muốn giới thiệu về công nghệ đổi địa chỉ NAT động và đóng giả IP Masquerade. Hai thuật ngữ này được dùng rất nhiều trong Iptables.

Cách đổi địa chỉ IP động – dynamic NAT

NAT (Network Address Translation) động là một trong những kĩ thuật chuyển đổi IP. Các địa chỉ IP nội bộ được chuyển sang IP NAT như sau:

NAT Router đảm nhận việc chuyển dãy IP nội bộ 169.169.0.x sang dãy IP mới 203.162.2.x. Khi có gói liệu với IP nguồn là 192.168.0.200 đến router, router sẽ đổi IP nguồn thành 203.162.2.200 sau đó mới gửi ra ngoài. Quá trình này gọi là SNAT (Source-NAT, NAT nguồn). Router lưu dữ liệu trong một bảng gọi là bảng NAT động. Ngược lại, khi có một gói dữ liệu gửi từ ngoài vào với IP đích là 203.162.2.200, router sẽ căn cứ vào bảng NAT động hiện tại để đổi địa chỉ đích 203.162.2.200 thành địa chỉ đích mới là 192.168.0.200. Quá trình này gọi là DNAT (Destination-NAT, NAT đích). Liên lạc giữa 192.168.0.200 và 203.162.2.200 là hoàn toàn trong suốt (transparent) qua NAT router. NAT router tiến hành chuyển tiếp (forward) gói dữ liệu từ 192.168.0.200 đến 203.162.2.200 và ngược lại.


Hình 3.2. Bảng NAT động



Cách đóng giả địa chỉ IP (masquerade)

Đây là một kỹ thuật khác trong NAT. NAT Router chuyển dãy IP nội bộ 192.168.0.x sang một IP duy nhất là 203.162.2.4 bằng cách dùng các số hiệu cổng (port-number) khác nhau. Chẳng hạn khi có gói dữ liệu IP với nguồn 192.168.0.168:1204, đích 211.200.51.15:80 đến router, router sẽ đổi nguồn thành 203.162.2.4:26314 và lưu dữ liệu này vào một bảng gọi là bảng masquerade động. Khi có một gói dữ liệu từ ngoài vào với nguồn là 221.200.51.15:80, đích 203.162.2.4:26314 đến router, router sẽ cắn cứ vào bảng masquerade động hiện tại để đổi đích từ 203.162.2.4:26314 thành 192.168.0.164:1204. Liên lạc giữa các máy nội với máy bên ngoài qua router



Hình 3.3. Bảng NAT (Masquerade)


1.5.3.Cấu trúc của Iptables


Iptables được chia thành các bảng (tables); bảng filter dùng để lọc gói dữ liệu, bảng NAT dùng để thao tác với các gói dữ liệu được NAT nguồn và NAT đích, bảng Mangle dùng để thay đổi các thông số trong gói IP và bảng conntrack dùng để theo dõi các kết nối. Mỗi table gồm nhiều mắt xích (chain). Chain gồm nhiều luật (rule) để thác tác với các gói dữ liệu. Rule có thể là ACCEPT (chấp nhận gói dữ liệu), DROP (thả gói), REJECT (loại bỏ gói) hoặc tham chiếu (reference) đến một chain khác.

Hình 3.4. Cấu trúc của Iptables



Hình 3.5. Cấu trúc của Chain


1.5.4.Xử lý gói của iptables


Tất cả mọi gói dữ liệu đều được kiểm tra bởi iptables bằng cách dùng các bảng tuần tự xây dựng (queues):

Mangle: chịu trách nhiệm thay đổi các bit chất lượng dịch vụ trong TCP header như TOS (type of service), TTL (time to live).

Filter: chịu trách nhiệm lọc gói dữ liệu. Gồm có ba quy tắc nhỏ (chain) để giúp ta thiết lập các nguyên tắc lọc gói, gồm:

              • Forward chain: lọc gói khi đi đến các server khác.

              • Input chain: lọc gói khi đi vào trong server.

              • Output chain: lọc gói khi ra khỏi server.

NAT: gồm hai loại:

              • Pre-routing chain: thay đổi địa chỉ đến của gói dữ liệu khi cần thiết.

              • Post-routing chain: thay đổi địa chỉ nguồn của gói dữ liệu khi càn thiết.


Các loại queues và chain cùng chức năng của nó:

Loại queues

Chức năng queues

Quy tắc xử lý gói (chain)

Chức năng của Chain

Filter

Lọc gói

FORWARD

Lọc gói dữ liệu đi đến các server khác kết nối trên các NIC khác của firewall.

INPUT

Lọc gói đi đến firewall.

OUTPUT

Lọc gói đi ra khỏi firewall.a

NAT

Network Address Translation (Biên dịch địa chỉ mạng)

PREROUTING

Việc thay đổi địa chỉ diễn ra trước khi dẫn đường. Thay đổi địa chỉ đích sẽ giúp gói dữ liệu phù hợp với bảng chỉ đường của firewall. Sử dụng estination NAT or DNAT.

POSTROUTING

Việc thay đổi địa chỉ diễn ra sau khi dẫn đường .Sử dụng source NAT, or SNAT.

OUTPUT

NAT sử dụng cho các gói dữ liệu xuất phát từ firewall. Hiếm khi dùng trong môi trường SOHO (small office - home office).

Mangle

Chỉnh sửa TCP header

PREROUTING
POSTROUTING
OUTPUT
INPUT
FORWARD

Điều chỉnh các bit quy địch chất lượng dịch vụ trước khi dẫn đường. Hiếm khi dùng trong môi trường SOHO (small office-home office).

Hình 3.6. Các loại queues và chain cùng chức năng của nó

Để làm rõ hơn việc lọc và xử lý gói trong iptables , ta cùng xem (hình 3.7) về ví dụ mô tả đường đi của gói dữ liệu.

Hình 3.7. Sơ đồ mô tả đường đi của gói dữ liệu



Đầu tiên, gói dữ liệu đến mạng A, tiếp đó nó được kiểm tra bởi mangle table PREROUTING chain (nếu cần). Tiếp theo là kiểm tra gói dữ liệu bởi NAT table PREROUTING chain để kiểm tra xem gói dữ liệu có cần DNAT hay không? DNAT sẽ thay đổi địa chỉ dích của gói dữ liệu. Rồi gói dữ liệu được dẫn đi.

  • Nếu gói dữ liệu đi vào một mạng được bảo vệ, thì nó sẽ được lọc bởi FORWARD chain của filter table, và nếu cần gói dữ liệu sẽ được SNAT trong POSTROUTING chain để thay đổi IP nguồn trước khi vào mạng B.

  • Nếu gói dữ liệu được định hướng đi vào bên trong Firewall, nó sẽ được kiểm tra bởi INPUT chain trong Mangle Table. Và nếu gói dữ liệu qua được các kiểm tra của INPUT chain trong Filter Table thì nó sẽ vào trong các chương trình của Server bên trong Firewall.

Khi Firewall cần gửi dữ liệu ra ngoài, gói dữ liệu sẽ được dẫn và đi qua sự kiểm tra của OUTPUT chain trong Mangle Table (nếu cần), tiếp đó là kiểm tra trong OUTPUT chain của NAT Table để xem DNAT (DNAT sẽ thay đổi địa chỉ đến) có cần hay không và OUTPUT chain của Filter Table sẽ kiểm tra gói dữ liệu nhằm phát hiện các gói dữ liệu không được phép gửi đi. Cuối cùng trước khi gói dữ liệu được đưa ra lại Internet, SNAT và Qos sẽ được kiểm tra trong POSTROUTING chain.

1.5.5.Target


Targets là hành động sẽ diễn ra khi một gói dữ liệu được kiểm tra và phù hợp với một yêu cầu nào đó. Khi một target đã được nhận dạng, gói dữ liệu cần nhảy (jump) để thực hiện các xử lý tiếp theo. Bảng sau liệt kê các targets mà Iptables sử dụng.

Miêu tả các target mà iptables thường dùng nhất

Targets

Ý nghĩa

Tùy chọn

ACCEPT

iptables ngừng xử lý gói dữ liệu đó và chuyển tiếp nó vào một ứng dụng cuối hoặc hệ điều hành để xử lý .




DROP

iptables ngừng xử lý gói dữ liệu đó và gói dữ liệu bị chặn, loại bỏ.




LOG

Thông tin của gói sẽ được đưa vào syslog để kiểm tra. Iptables tiếp tục xử lý gói với quy luật kế tiếp .

--log-prefix "string" iptables sẽ thêm vào log
message một chuỗi do người dùng định sẵn Thông thường là để thông báo lý do vì sao gói bị bỏ

REJECT

Tương tự như DROP ,
nhưng nó sẽ gởi trả lại cho
phía người gởi một thông
báo lỗi rằng gói đã bị chặn
và loại bỏ .

--reject-with qualifier
Tham số qualifier sẽ cho biết loại thông báo gởi trả lại phía gởi. Qualifier gồm các loại sau: icmp-port-unreachable (default); icmp-net-unreachable; icmp-host-unreachable; icmp-proto-unreachable; icmp-net-prohibited icmp-host-prohibited tcp-reset
echo-reply

DNAT

Dùng để thực hiện Destination network address translation, địa
chỉ đích của gói dữ liệu sẽ được viết lại.

--to-destination ipaddress
Iptables sẽ viết lại địa chỉ ipaddress vào địa chỉ đích của gói dữ liệu .

SNAT

Dùng để thực hiện Source network address
translation, viết lại địa chỉ nguồn của gói dữ liệu.

--to-source
[-
][:
-

]
Miêu tả IP và port sẽ được viết lại bởi iptables .



MASQUERADE

Dùng để thực hiện Source Networkaddress Translation. Mặc định thì địa chỉ IP nguồn sẽ giống như IP nguồn của firewall .

[--to-ports
[-

]]
Ghi rõ tầm các port nguồn mà port nguồn gốc có thể ánh xạ được.



Hình 3.8. Bảng miêu tả các target mà iptables thường dùng nhất.

1.5.6.Các tham số chuyển mạch quan trọng iptables:


Các tham số chuyển mạch quan trọng của Iptables (Hình 3.9)

Lệnh switching quan trọng

Ý nghĩa

-t

Nếu không chỉ định rõ là tables nào, thì filter table sẽ được áp dụng. Có ba loại table là filter, nat, mangle.

-j

Nhảy đến một chuỗi target nào đó khi gói dữ liệu phù hợp quy luật hiện tại .

-A

Nối thêm một quy luât nào đó vào cuối chuỗi (chain ).

-F

Xóa hết tất cả mọi quy luật trong bảng đã chọn .

-p


Phù hợp với giao thức (protocols ), thông thường là icmp, tcp, udp, và all .

-s

Phù hợp IP nguồn

-d

Phù hợp IP đích

-i

Phù hợp điều kiện INPUT khi gói dữ liệu đi vào firewall

-o

Phù hợp điều kiện OUTPUT khi gói dữ liệu đi ra khỏi firewall .

Hình 3.9. Các tham số chuyển mạch (switching) quan trọng của Iptables

Để hiểu rõ hơn về các lệnh ta cùng xem một ví dụ sau:

Code:

Iptables –A INPUT –s 0/0 eth0 –d 192,168.1.1 –p TCP –j ACCEPT



Iptables được cấu hình cho phép “filewall” chấp nhận các gói dữ liệu có giao tiếp (protocols) là TCP, đến từ giao tiếp card mạng eth0, có địa chỉ IP nguồn là bất kỳ đi đến địa chỉ 192.168.1.1, là địa chỉ IP của firewall. 0/0 nghĩa là bất kì địa chỉ IP nào.

Các điều kiện TCP và UDP thông dụng (Hình 3.10)



Lệnh switching

Miêu tả

-p tcp --sport


Điều kiện TCP port nguồn (source port ). Có thể là một giá trị hoặc một chuỗi có dạng: start-port-number:end-port-number

-p tcp --dport


Điều kiện TCP port đích (destination port). Có thể là một giá trị hoặc một chuỗi có dạng: starting-port:ending-port

-p tcp -syn

Dùng để nhận dạng một yêu cầu kết nối TCP mới.
! --syn , nghĩa là không có yêu cần kết nối mới.

-p udp --sport


Điều kiện UDP port nguồn (source port ). Có thể là một giá trị hoặc một chuỗi có dạng: start-port-number:end-port-number

-p udp --dport


Điều kiện TCP port đích (destination port). Có thể là một giá trị hoặc một chuỗi có dạng: starting-port:ending-port

Hình 3.10. Bảng các điều kiện TCP và UDP thông dụng

Ta cùng xem một ví dụ sau:

Code:

Iptables –A FORWARD –s 0/0 –I eth0 –d 192,168,1,58 –o eth1 –p TCP –sport 1024:65535 –dport 80 –j ACCEPT


Iptables được cấu hình cho phép firewall chấp nhận các gói dữ liệu có giao tiếp (protocols) là TCP, đến từ card mạng eth0, có bất kỳ địa chỉ IP nguồn là bất kỳ, đi đến địa chỉ 192.168.1.58 qua card mạng eth1. Số port nguồn từ 1024 đến 65535 và port đích là 80 (www/http).

Lệnh

Miêu tả

--icmp-type

Thường dùng nhất là echo-reply và echo-request

Hình 3.11. Bảng điều kiện ICMP

Ta cùng xem một ví dụ sau về ICMP

Code:

iptables –A OUTPUT –p icmp –icmp-type echo-request –j ACCEPT



iptables –A INPUT –p icmp –icmp-type echo-reply –j ACCEPT

Iptables được cấu hình cho phép firewall chấp nhận gởi ICMP echo-requests (pings) và gởi trả các ICMP echo-replies.

Ta cùng xem ví dụ khác như sau:

Code:


iptables –A INPUT –p icmp –icmp-type echo-request –m limit –limit 1/s –I etho0 –j ACCEPT

Iptables cho phép giới hạn giá trị lớn nhất số lượng các gói phù hợp trong một giây. Có chỉ định thời gian theo định dạng /second, /minute, /hour hặc /day. Hoặc sử dụng dạng viết tắt 3/s thay vì 3/second. Trong ví dụ này ICMP echo requests bị giới hạn không nhiều hơn một yêu cầu trong một giây. Đặc điểm này của iptables giúp ta lọc bớt các lưu lượng lớn, dây chính là đặc tính của tấn công từ chối dịch vụ (DOS) và sâu Internet.

Code:

iptables -A INPUT -p tcp --syn -m limit --limit 5/s -i eth0 -j ACCEPT



Có thế mở rộng khả năng giới hạn của iptables để giảm thiểu khả năng bị tấn công bởi các loại tấn công từ chối dịch vụ. Đây là cách phòng vệ chống lại kiểu tấn công SYN flood bằng cách hạn chế sự chấp nhận các phân đoạn TCP có bit SYS không nhiều hơn 5 phân đoạn trong 1 giây.

Các điều kiện mở rộng thông dụng:



Lệnh

Ý nghĩa

-m multiport --sport


Nhiều port nguồn khác nhau của TCP/UDP được phân cách bởi dấu phẩy (,). Đây là liệt kê của các port chứ không phải là một chuỗi các port.

-m multiport --dport


Nhiều port đích khác nhau của TCP/UDP được phân cách bởi dấu phẩy (,). Đây là liệt kê của các port chứ không phải là một chuỗi các port.

-m multiport --ports


Nhiều port khác nhau của TCP/UDP được phân cách bởi dấu phẩy (,). Đây là liệt kê của các port chứ không phải là một chuỗi các port. Không phân biệt port đích hay port nguồn.

-m --state

Các trạng thái thông dụng nhất được dùng là:
ESTABLISHED:Gói dữ liệu là một phần
của kết nối đã được thiết lập bởi cả hai
hướng.

NEW:Gói dữ liệu là bắt đầu của một kết nối mới.

RELATED: Gói dữ liệu bắt đầu một kết nối phụ.Thông thường đây là đặt điểm của các giao thức như FTP hoặc lỗi ICMP.

INVALID: Gói dữ liệu không thể nhận dạng được. Điều này có thể do việc thiếu tài nguyên hệ thống hoặc lỗi ICMP không trùng với một luồng dữ liệu đã có sẵn



Hình 3.12. Bảng các điều kiện mở rộng thông dụng

Đây là phần mở rộng tiếp theo của ví dụ trước:

Code:

iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP --sport 1024:65535 -m multiport --dport 80,443 -j ACCEPT



iptables -A FORWARD -d 0/0 -o eth0 -s 192.168.1.58 -i eth1 -p TCP -m state --state ESTABLISHED -j ACCEPT

Iptables được cấu hình cho phép firewall chấp nhận cá gói dữ liệu có giao tiếp (protocol) là TCP, đến từ card mạng eth0, có bất kỳ địa chỉ IP nguồn là bất kỳ, đi đến địa chỉ 192,168.1.58 qua mạng eth1. Số port nguồn là từ 1024 đến 65535 và port đích là 80 (www/http) và 443 (https). Đến khi các gói dữ liệu nhận trở lại từ 192.168.1.58, thay vi mở các port nguồn và đích, ta chỉ việc cho phép dùng kết nối cũ đã thiếp lập bằng cách dùng tham số -m state và –state ESTABLISHED.


1.5.7.Sử dụng user defined chains


Chuỗi User Defined Chains nằm trong bảng iptables. Nó giúp cho quá trinh xử lý gói tốt hơn. Ví dụ: Thay vì sử dụng gói đơn được xây dưng trong chain cho tất cả giao thức, ta có thể sử dụng chain này để quyết đinh loại giao thức cho gói và sau đó kiểm soát việc xử lý user-defined, protocol-specific chain trong bảng filter table. Mặt khác, ta có thể thay thế một chuỗi “long chain” với chuỗi chính “stubby main chain” bới nhiều chuỗi “subby chain”, bằng cách chia ngắn đó tổng chiều dài của tất cả chain gói phải thông qua.

Sáu lệnh sau giúp việc cải tến tốc độ xử lý:

Code:

iptables -A INPUT -i eth0 -d 206.229.110.2 -j fast-input-queue



iptables -A OUTPUT -o eth0 -s 206.229.110.2 -j fast-output-queue

iptables -A fast-input-queue -p icmp -j icmp-queue-in

iptables -A fast-output-queue -p icmp -j icmp-queue-out

iptables -A icmp-queue-out -p icmp --icmp-type echo-request -m state --state NEW -j ACCEPT

iptables -A icmp-queue-in -p icmp --icmp-type echo-reply -j ACCEPT

DANH SÁCH CÁC LỆNH (QUEUE) (Hình 3.13)


Chain

Description

INPUT

Được xây dựng trong INPUT chain trong bảng iptables

OUTPUT

Được xây dựng trong ONPUT chain trong bảng iptables

Fast-input-queue

Input chain tách riêng biệt để hỗ trợ cho những giao thức đặc biệt và chuyển các
gói đến những protocol specific chains.

fast-output-queue

Output chain tách riêng biệt để hỗ trợ cho những giao thức đặc biệt và chuyển các
gói đến những protocol specific chains.

icmp-queue-out

lệnh output tách riêng cho giao thức ICMP

icmp-queue-in

Lệnh input tách riêng cho giao thức ICMP

Hình 3.13. Danh sách các lệnh (Queue)

1.5.8.Lưu lại những đoạn mã iptables


Đoạn mã iptables được lưu tạm thời ở file “/etc/sysconfig/iptables”

Định dạng mẫu trong file iptables cho phép giao thức ICMP, IPSec (những gói ESP và AH), thiết lập liên kết, và quay lại SSH.

Code:

[root@mpicachesrv ~]# cat /etc/sysconfig/iptables



# Firewall configuration written by system-config-securitylevel

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]



:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:INVALID_IP - [0:0]

:PORT_SCAN_LOG - [0:0]

:PORT_SCAN - [0:0]

:TCP_IN - [0:0]

#:DETECT_NMAP - [0:0]

# Block outgoing NetBios

-I OUTPUT -p tcp -o eth0 --sport 137:139 -j DROP

-I OUTPUT -p udp -o eth0 --sport 137:139 -j DROP

# Allow local loopback

-I INPUT -i lo -j ACCEPT

# Allow three ssh connections

-I INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#-I INPUT -p tcp -s 0/0 --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -m recent --name sshlish --set -j ACCEPT

#-I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 10 -j DROP#-A OUTPUT -p tcp -s 127.0.0.1 -d 0/0 --sport 22 --dport 513:65535 -m state --state ESTABLISHED -j ACCEPT

### Deny all

COMMIT


[root@mpicachesrv ~]#

1.5.9.Những Module Kernel cần thiết


Modun Kernel cần thiết để hoạt động một vài chương trình của ứng dụng iptables Một số modun: iptables_nat module, ip_conntrack_ftp module,

  • iptables_nat module cần cho một số loại NAT.

  • ip_conntrack_ftp module cần cho việc thêm vào giao thức FTP.

  • ip_conntrack module giữ trạng thái liên kết với giao thức TCP.

  • ip_nat_ftp module cần được tải cho những máy chủ FTP sau một firewall

NAT

Chú ý: file /etc/sysconfig/iptables không cập nhật những mô dun tải về, vì vậy chúng ta phải thêm vào những trạng thái đó vào file /etc/rc.local và chạy nó tại cuối mỗi lần boot lại.

Những mẫu đoạn mã trong phần này bao gồm những trạng thái được lưu trong file /etc/rc.local:

Code :

# File: /etc/rc.local



# Module to track the state of connections modprobe ip_conntrack

# Load the iptables active FTP module, requires ip_conntrack modprobe # ip_conntrack_ftp

# Load iptables NAT module when required modprobe iptable_nat

# Module required for active an FTP server using NAT modprobe ip_nat_ftp


1.5.10. Những đoạn Iptables mẫu


        1. Cơ bản về hoạt động của hệ thống bảo vệ

Hệ Điều Hành Linux có cơ chế bảo vệ là các thông số kernel hệ thống trong file hệ thống /proc qua file /etc/sysctl.conf. Dùng file /etc/systl.conf cho các thông số kernel hỗ trợ.

Đây là một cấu hình mẫu:

Code:

# File: /etc/sysctl.conf



#--------------------------------------------------------

# Disable routing triangulation. Respond to queries out

# the same interface, not another. Helps to maintain state

# Also protects against IP spoofing

#--------------------------------------------------------

net/ipv4/conf/all/rp_filter = 1

#---------------------------------------------------------

# Enable logging of packets with malformed IP addresses

#---------------------------------------------------------

net/ipv4/conf/all/log_martians = 1

# Disable redirects

#---------------------------------------------------------

net/ipv4/conf/all/send_redirects = 0

#---------------------------------------------------------

# Disable source routed packets

#---------------------------------------------------------

net/ipv4/conf/all/accept_source_route = 0

#---------------------------------------------------------

# Disable acceptance of ICMP redirects

#---------------------------------------------------------

net/ipv4/conf/all/accept_redirects = 0

#---------------------------------------------------------

# Turn on protection from Denial of Service (DOS) attacks

#---------------------------------------------------------

net/ipv4/tcp_syncookies = 1

#---------------------------------------------------------

# Disable responding to ping broadcasts

#---------------------------------------------------------

net/ipv4/icmp_echo_ignore_broadcasts = 1

#---------------------------------------------------------

# Enable IP routing. Required if your firewall is #

protecting

# network, NAT included

#---------------------------------------------------------

net/ipv4/ip_forward = 1


        1. Ưu điểm của sự khởi tạo Iptables

Ta có thể thêm vào nhiểu cái ứng dụng khởi tạo cho đoạn mã, bao gồm việc kiểm tra đường truyền internet từ những địa chỉ riêng RFC1918. Nhiều hơn nhứng khởi tạo phức tạp bao gồm kiểm tra lỗi bởi sự tấn công sử dụng cờ TCP không có giá trị. Đoạn mã cũng sử dụng nhiều “user-defined chain” để tạo đoạn mã ngắn hơn và nhanh hơn như những chain có thể bị truy cập lặp lại. Điều này loại bỏ việc cần thiết lặp lại những trạng thái tương tự.

Đoạn mã firewall hoàn tất:

Code:


#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=

#

# Define networks: NOTE!! You may want to put these # "EXTERNAL"



# definitions at the top of your script.

#

#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=



EXTERNAL_INT="eth0" # External Internet interface

EXTERNAL_IP="97.158.253.25" # Internet Interface IP address

#---------------------------------------------------------

# Initialize our user-defined chains

#---------------------------------------------------------

iptables -N valid-src iptables -N valid-dst

#---------------------------------------------------------

# Verify valid source and destination addresses for all packets

#---------------------------------------------------------

iptables -A INPUT -i $EXTERNAL_INT -j valid-src

iptables -A FORWARD -i $EXTERNAL_INT -j valid-src

iptables -A OUTPUT -o $EXTERNAL_INT -j valid-dst

iptables -A FORWARD -o $EXTERNAL_INT -j valid-dst

#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=

#

# Source and Destination Address Sanity Checks



# Drop packets from networks covered in RFC 1918 # (private nets)

# Drop packets from external interface IP

#

#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=



iptables -A valid-src -s $10.0.0.0/8 -j DROP

iptables -A valid-src -s $172.16.0.0/12 -j DROP

iptables -A valid-src -s $192.168.0.0/16 -j DROP

iptables -A valid-src -s $224.0.0.0/4 -j DROP

iptables -A valid-src -s $240.0.0.0/5 -j DROP

iptables -A valid-src -s $127.0.0.0/8 -j DROP

iptables -A valid-src -s 0.0.0.0/8 -j DROP

iptables -A valid-src -d 255.255.255.255 -j DROP

iptables -A valid-src -s 169.254.0.0/16 -j DROP

iptables -A valid-src -s $EXTERNAL_IP -j DROP

iptables -A valid-dst -d $224.0.0.0/4 -j DROP


        1. Sự cho phép của máy chủ DNS truy cập đến Firewall

Firewall không thể tạo yêu cầu DNS queries đến Internet bởi vì Internet được yêu cầu cho hàm cơ bản của firewall, nhưng bởi vì Fedora Linux’s yum RPM sẽ giúp giữ máy chủ cập nhật với trạng thái bảo vệ mới nhất. Những trạng thái theo sau sẽ cập nhật không chỉ cho firewall hoạt động như nhưng DNS client nhưng cũng cho những firewall làm việc trong một bộ đệm hoặc có vai trò như DNS server.

Code:


iptables -A OUTPUT -p udp -o eth0 --dport 53 -sport 1024:65535 -j ACCEPT

iptables -A INPUT -p udp -i eth0 --sport 53 -dport 1024:65535 -j ACCEPT



        1. Cho phép WWW và SSH truy cập vào Firewall

Đoạn mã ngắn này là cho một firewall và gấp đôi như một web server được quản lý bởi người quản trị hệ thống web server “web server system adminitrator” qua những lớp vỏ bảo mật (SSH_secure shell). Những gói quay lại đã được dự định trước cho port 80 (WWW) và 22 (SSH) được phép. Vì vậy tạo những bước đầu tiên để thiết lập liên kết.. Ngược lại, những port trên (80 và 22) sẽ không được thiết lập chế độ bảo mật tại ngõ ra cho những gói chỉ được chuyển đi không quay về cho tất cả liên kết thiết lập được phép.

Code:


#---------------------------------------------------------

# Allow previously established connections

# - Interface eth0 is the internet interface

#---------------------------------------------------------

iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#---------------------------------------------------------

# Allow port 80 (www) and 22 (SSH) connections to the firewall

#---------------------------------------------------------

iptables -A INPUT -p tcp -i eth0 --dport 22 -sport 1024:65535 -m state --state NEW -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 80 --sport 1024:65535 -m state --state NEW -j ACCEPT



        1. Cho phép Firewall truy cập Internet:

Đoạn mã iptables này có thể cho phép một user tren firewall sử dụng Web browser đến giao tiếp Internet. Đường truyền giao thức HTTP sử dụng TCP port 80, HTTPs (HTTP secure) port 443

Code:


#---------------------------------------------------------

# Allow port 80 (www) and 443 (https) connections from the firewall

#---------------------------------------------------------

iptables -A OUTPUT -j ACCEPT -m state -state NEW,ESTABLISHED,RELATED -o eth0 -p tcp -m multiport --dport 80,443 -m multiport --sport 1024:65535

#---------------------------------------------------------

# Allow previously established connections Interface eth0 is the internet interface

#---------------------------------------------------------

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -i eth0 -p tcp

Nếu muốn tất cả đường truyền từ firewall được chầp nhận, sau đó xoá:

Code:


-m multiport --dport 80,443 -m multiport --sport 1024:65535

        1. Cho phép mạng nội bộ truy cập vào Firewall

Ví dụ: eth1 được liên kết với mạng ở nhà dùng địa chỉ IP từ mạng 192.168.1.0. Tất cả đường truyền này và firewall được giả sử là liên kết được: Những rule được cần cho liên kết giao tiếp đến Internet để cho phép chỉ những cổng đặc trưng, những loại liên kết và có thể điều chỉnh những server có truy cập đến firewall và mạng ở nhà.

Code:


#---------------------------------------------------------

# Allow all bidirectional traffic from your firewall to the protected network

# Interface eth1 is the private network interface

#---------------------------------------------------------

iptables -A INPUT -j ACCEPT -p all -s 192.168.1.0/24 -i eth1 iptables -A OUTPUT -j ACCEPT -p all -d 192.168.1.0/24 -o eth1


        1. Mặt nạ (Masquerade_many to one NAT)

Đường truyển từ tất cả thiết bị trên một hoặc nhiều mạng được bảo vệ sẽ xuất hiện như là nó bắt đầu từ địa chỉ IP đơn trên vị trí Internet của Firewall. Địa chỉ IP mặt nạ (masquerade) luôn luôn mặc đinh đến địa chỉ IP của giao tiếp chính của firewall. Ưu điểm của địa chỉ IP mặt nạ (masquerade) là ta không phải chỉ rõ địa chỉ IP NAT. Điều này tạo cho việc cấu hình bảng iptables NAT với giao thức DHCP,

Ta có thể cấu hình nhiều đến một NAT cho một IP bằng cách sử dụng POSTROUTING và không dùng trạng thái MASQUERADE. Việc che đậy (Masquerading) phụ thuộc vào hệ điều hành Linux được cấu hình để cập nhật định tuyến giữa Internet và giao tiếp mạng riêng của Firewall. Điều này được thực hiện bởi IP enabling bằng cách cho file /proc/sys/net/ipv4/ip_forward giá trị 1 như là đối với giá trị mặc định 0.

Một masquerading đươc thiết lập sử dụng POSTROUTING chain của bảng NAT Table, ta sẽ phải định dạng Iptables để cho phép nhiều gói đi qua giữa hai bề mặt. Dể làm được điều này, sử dụng FORWARD chain của filter table. Nhiều hơn, nhiều gói liên quan những liên kết NEW và ESTABLISHED sẽ được cho phép outbound đến Internet, nhưng chỉ những gói liên quan đến liên kết ESTABLISHED mới được phép inbound. Điều này sẽ giúp bảo vệ mạng nội bộ từ bất cứ mọt người nào cố gắng kết nối với mạng từ Internet.

Code:


#---------------------------------------------------------

# Load the NAT module

# Note: It is best to use the /etc/rc.local example in

# this chapter. This value will not be retained in the

#/etc/sysconfig/iptables file. Included only as a reminder.

#---------------------------------------------------------

modprobe iptable_nat

#---------------------------------------------------------

# Enable routing by modifying the ip_forward /proc filesystem file

# Note: It is best to use the /etc/sysctl.conf example in # this

#chapter. This value will not be retained in the /etc/sysconfig/iptables file.

# Included only as a reminder.

#---------------------------------------------------------

echo 1 > /proc/sys/net/ipv4/ip_forward

#---------------------------------------------------------

# Allow masquerading Interface eth0 is the internet interface

# Interface eth1 is the private network interface

#---------------------------------------------------------

Iptables –A POSTROUTING -t nat -o eth0 -s 192.168.1.0/24 -d 0/0 -j MASQUERADE

#---------------------------------------------------------

# Prior to masquerading, the packets are routed via the # filter

# table's FORWARD chain. Allowed outbound: New, established and related

# connections

# Allowed inbound : Established and related connections

#---------------------------------------------------------

Iptables -A FORWARD -t filter -o eth0 -m state -state NEW, ESTABLISHED, RELATED -j ACCEPT

iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED, RELATED -j ACCEPT


        1. Port forwarding theo loại NAT (Giao thức DHCP DSL)

Một số trường hợp, nhiều home user có thể nhận địa chỉ IP công cộng DHCP đơn từ những nhà cung cấp dịch vụ ISP. Nếu một Linux firewall cũng là giao tiếp với Internet và ta muốn dẫn một trang Web trên một trong những Home server được bảo vệ NAT, sau đó ta phải sử dụng port forwarding. Ở đây việc kết hợp địa chỉ IP đơn của Firewall, địa chỉ IP của server, và port nguồn/ đích của đường truyền có thể được sử dụng bổ sung đường truyền.

Port forwarding được điều chỉnh bởi PREROUTING chain của bảng NAT table. Giống như Masquerading, module iptables_nat phải được tải và định tuyến phải được hiển thị cho port forwarding để làm việc. Đinh tuyết cũng phải được phép trong bảng iptables với FORWARD chain, điều này bao gồm tất cả liên kết NEW inbound từ Internet làm phù hợp port forwarding và tất cả gói liên kết với kết nối ESTABLISHED trong những điều khiển:

Code:

#---------------------------------------------------------



# Load the NAT module Note: It is best to use the /etc/rc.local example in

# this chapter. This value will not be retained in the

# /etc/sysconfig/iptables file. Included only as a reminder.

#---------------------------------------------------------

modprobe iptable_nat

#---------------------------------------------------------

# Get the IP address of the Internet interface eth0 (linux only)

# You'll have to use a different expression to get the IP address

# for other operating systems which have a different ifconfig output

# or enter the IP address manually in the PREROUTING Statement

# This is best when your firewall gets its IP address using DHCP.

# The external IP address could just be hard coded ("typed in normally")

#---------------------------------------------------------

external_int="eth0"

external_ip=""ifconfig $external_int | grep 'inet addr'| awk '{print $2}' | sed -e 's/. *://'""

#---------------------------------------------------------

# Enable routing by modifying the ip_forward /procfilesystem File

# Note: It is best to use the /etc/sysctl.conf example in

#this chapter. This value will not be retained in the

#/etc/sysconfig/iptables file. Included only as a reminder.

#---------------------------------------------------------

echo 1 > /proc/sys/net/ipv4/ip_forward

#---------------------------------------------------------

# Allow port forwarding for traffic destined to port 80 of the

# firewall's IP address to be forwarded to port 8080 on server 192.168.1.200

#Interface eth0 is the internet interface

# Interface eth1 is the private network interface

#---------------------------------------------------------

iptables -t nat -A PREROUTING -p tcp -i eth0 -d $external_ip --dport 80 --sport 1024:65535 -j DNAT -to 192.168.1.200:8080

#---------------------------------------------------------

# After DNAT, the packets are routed via the filter # table's

# FORWARD chain.

# Connections on port 80 to the target machine on the # private

# network must be allowed.

#---------------------------------------------------------

iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.1.200 --dport 8080 --sport 1024:65535 -m state --state NEW -j ACCEPT

iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT



        1. NAT tĩnh (SNAT)

Ví dụ: tất cả đường truyền đến một địa chỉ IP công cộng riêng biệt, được chuyển đổi đến một server đơn trên Subnet được bảo vệ. Bởi vì firewall có nhiều hơn một địa chỉ IP, ta không thể thực hiện MASQUERADE; nó sẽ bắt buộc khởi tạo như địa chỉ IP của giao tiếp chính và không như bất cứ địa chỉ IP trùng lập mà Firewall có thể có. Vì vậy, sử dụng SNAT để chỉ rõ địa chỉ IP bị trùng lặp được sử dụng cho việc liên kết ban đầu bởi những server khác trong mạng được bảo vệ,

Ghi chú: Mặc dù những NAT của bảng NAT Table, tất cả đường truyền đến server đích (192.168.1.100 đến 102), chỉ liên kết với port 80, 443 và 22 là được phép thông qua bởi FORWARD chain. Ta phải chỉ rõ lựa chọn riệng biệt –m multiport khi ta cần làm cho thích hợp những cổng không tuần tự (multiple non-squential) cho cả nguồn và đích.



  • Trong ví dụ này, firewall có:

  • Sử dụng one to one NAT tạo server 192.168.1.100 trên home network xuất hiện trên Internet như những địa chỉ IP (97.158.253.26).

  • Tạo một many to one NAT cho địa chỉ IP 192.168.1.100 ở home network, tát cả những server như những địa chỉ IP (97.158.253.26)

Điều này khác từ khởi tạo. Ta tạo những địa chỉ IP trùng lặp cho mỗi nhóm IP Internet cho one to one NAT

Code:


#---------------------------------------------------------

# Load the NAT module

# Note: It is best to use the /etc/rc.local example in this chapter. This value will

# not be retained in the /etc/sysconfig/iptables file. Included only as a reminder.

#---------------------------------------------------------

modprobe iptable_nat

#---------------------------------------------------------

# Enable routing by modifying the ip_forward /proc filesystem file

# Note: It is best to use the /etc/sysctl.conf example in this chapter.

# This value will

# not be retained in the /etc/sysconfig/iptables file. Included only as a reminder.

#---------------------------------------------------------

echo 1 > /proc/sys/net/ipv4/ip_forward

# NAT ALL traffic:

# REMEMBER to create aliases for all the internet IP addresses below

# TO: FROM: MAP TO SERVER:

# 97.158.253.26 Anywhere 192.168.1.100(1:1 NAT-Inbound)

# Anywhere 2.168.1.100 97.158.253.26(1:1 NAT-Outbound)

# Anywhere 192.168.1.0/24 97.158.253.29(FW IP)

#

# SNAT is used to NAT all other outbound connections initiated # from the protected network to appear to come from



# IP address 97.158.253.29

# POSTROUTING:

# NATs source IP addresses. Frequently used to NAT connections # from your home network to the Internet

# PREROUTING:

# NATs destination IP addresses. Frequently used to NAT

# connections from the Internet to your home network

# - Interface eth0 is the internet interface

# - Interface eth1 is the private network interface

#---------------------------------------------------------

# PREROUTING statements for 1:1 NAT

# (Connections originating from the Internet)

#---------------------------------------------------------

iptables -t nat -A PREROUTING -d 97.158.253.26 -i eth0 -j DNAT --to-destination 192.168.1.100

#---------------------------------------------------------

# POSTROUTING statements for 1:1 NAT

# (Connections originating from the home network servers)

#---------------------------------------------------------

iptables -t nat -A POSTROUTING -s 192.168.1.100 -o eth0 -j SNAT --to-source 97.158.253.26

#---------------------------------------------------------

# POSTROUTING statements for Many:1 NAT

#(Connections originating from the entire home network)

#---------------------------------------------------------

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT -o eth0 --to-source 97.158.253.29

#---------------------------------------------------------

# Allow forwarding to each of the servers configured for 1:1 NAT

# (For connections originating from the Internet. Notice how you use the real

#IP addresses here)

#---------------------------------------------------------

iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.1.100 -m multiport --dport 80,443,22 -m state --state NEW -j ACCEPT

#---------------------------------------------------------

# Allow forwarding for all New and Established SNAT connections originating

# on the home network AND already established DNAT connections

#---------------------------------------------------------

iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#---------------------------------------------------------

# Allow forwarding for all 1:1 NAT connections originating on the Internet that have

# already passed through the NEW forwarding statements above

#---------------------------------------------------------

iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#---------------------------------------------------------

# Allow forwarding to each of the servers configured for 1:1 NAT

# (For connections originating from the Internet. Notice how you use the real IP addresses here)

#---------------------------------------------------------

iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.1.100 -m multiport --dport 80,443,22 -m state --state NEW -j ACCEPT

#---------------------------------------------------------

# Allow forwarding for all New and Established SNAT connections originating on the

# home network AND already established DNAT connections

#---------------------------------------------------------

iptables -A FORWARD -t filter -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#---------------------------------------------------------

# Allow forwarding for all 1:1 NAT connections originating on the Internet that have

# already passed through the NEW forwarding statements above

#---------------------------------------------------------

iptables -A FORWARD -t filter -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT


1.5.11. Sửa lỗi bảng iptables


Một số công cụ cho phép sửa lỗi đoạn mã firewall iptables. Một trong những phương pháp tốt nhất là loại bỏ tất cả những gói bị khoá.

Kiểm tra the firewall log:

Ta theo dõi những gói đi qua firewall có trong danh sách bảng iptables của những rule sử dụng LOG target. LOG target sẽ:



  • Tạm dừng tất cả đường truyền để chỉnh sửa rule trong iptables trong nơi nó được chứa.

  • Tự động viết vào file /var/log/messages và sau đó thực thi rule kế tiếp

Để tạm dừng đường truyền không mong muốn, ta phải thêm vào rule phù hợp với một DROP target sau LOG rule. Tạm dừng một nhóm gói bị lỗi vào file /var/log/messages.

Code:


#------------------------------------------------------

# Log and drop all other packets to file /var/log/messages

# Without this we could be crawling around in the dark

#------------------------------------------------------

iptables -A OUTPUT -j LOG

iptables -A INPUT -j LOG

iptables -A FORWARD -j LOG

iptables -A OUTPUT -j DROP

iptables -A INPUT -j DROP

iptables -A FORWARD -j DROP



Каталог: books -> luan-van-de-tai -> luan-van-de-tai-cd-dh
luan-van-de-tai-cd-dh -> Thế kỷ 21, cùng với sự phát triển nh­ vũ bão của khoa học kỹ thuật, của công nghệ thông tin. Sự phát triển kinh tế tác động đến tất cả mọi mặt đời sống kinh tế xã hội
luan-van-de-tai-cd-dh -> Phần một : Tình hình thu hút vốn đầu tư trên thị trường vốn việt nam hiện nay
luan-van-de-tai-cd-dh -> TRƯỜng đẠi học cần thơ khoa công nghệ BỘ MÔN ĐIỆn tử viễn thôNG
luan-van-de-tai-cd-dh -> Em xin chân thành cảm ơn! Vị Xuyên, ngày 19 tháng 5 năm 2012 sinh viêN
luan-van-de-tai-cd-dh -> PHẦn I mở ĐẦu tầm quan trọng và SỰ ra đỜi của giấY
luan-van-de-tai-cd-dh -> Đề tài: Tìm hiểu về vấn đề sử dụng hợp đồng mẫu trong đàm phán ký kết hợp đồng mua bán ngoại thương và thực tiễn ở Việt Nam
luan-van-de-tai-cd-dh -> Đề tài phân tích thực trạng kinh doanh xuất khẩu cà phê nhân của các doanh nghiệP
luan-van-de-tai-cd-dh -> Giao tiếp máy tính và thu nhận dữ liệU ĐỀ TÀI: TÌm hiểu công nghệ 4g lte
luan-van-de-tai-cd-dh -> TRƯỜng đẠi học văn hóa hà NỘi khóa luận tốt nghiệP

tải về 0.74 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   10




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương