SlideShare a Scribd company logo
1 of 63
Download to read offline
ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
TÌM HIỂU VÀ CẤU HÌNH IPTABLES TRÊN HỆ ĐIỀU
HÀNH LINUX
SINH VIÊN : LÃ XUÂN TÂM (11TLT)
TRẦN CANH NGỌ
ĐƠN VỊ : VDC Training
CBHD : Th.s NGUYỄN SONG TÙNG
ĐÀ NẴNG, 01/2013
LỜI CẢM ƠN
Trong đợt thực tập vừa qua, chúng em đã nhận đƣợc sự huớng dẫn, giúp đỡ và
động viên tận tình từ nhiều phía. Tất cả những điều đó đã trở thành một động lực rất
lớn giúp chúng em có thể hoàn thành tốt mọi công việc đƣợc giao. Với tất cả sự cảm
kích và trân trọng, chúng em xin đƣợc gửi lời cảm ơn đến tất cả mọi ngƣời.
Trƣớc tiên cho chúng em đƣợc gửi lời cảm ơn đến Ban lãnh đạo Trung tâm đào
tạo VDC Training Đà Nẵng đã tạo điều kiện cho chúng em đƣợc tham gia thực tập tại
công ty cũng nhƣ cung cấp tất cả các cơ sở vật chất và trang thiết bị có thể cho chúng
em trong thời gian vừa qua. Xin cảm ơn thầy Th.s Nguyễn Song Tùng và các anh chị
trong công ty đã tận tình hƣớng dẫn giúp đỡ chúng em trong suốt thời gian em tham
gia thực tập.
Em cũng xin đƣợc gửi lời cảm ơn đến lãnh đạo trƣờng Đại học Bách Khoa Đà
Nẵng, lãnh đạo khoa Công nghệ thông tin đã tổ chức các buổi giao lƣu giửa các doanh
nghiệp và sinh viên thật sự bổ ích, giúp chúng em có cơ hội tìm đƣợc một đơn vị thực
tập tốt.
Xin đƣợc cảm ơn tất cả các sinh viên tham gia thực tập tại VDC Training Đà
Nẵng trong đợt thực tập vừa qua, những ngƣời đã luôn sát cánh cùng chúng mình, chia
sẻ, ủng hộ và giúp đỡ mình trong thời gian thực tập vừa qua.
Xin trân trọng cảm ơn!
LỜI CAM ĐOAN
Tôi xin cam đoan :
1. Những nội dung trong báo cáo này là do tôi thực hiện dƣới sự hƣớng dẫn trực
tiếp của thầy Th.s Nguyễn Song Tùng.
2. Mọi tham khảo dùng trong báo cáo này đều đƣợc trích dẫn rõ ràng tên tác giả,
tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ,vi phạm quy chế đào tạo,hay gian trá,tôi xin chịu
hoàn toàn trách nhiệm.
Sinh viên,
Lã Xuân Tâm
Trần Canh Ngọ
NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
MỤC LỤC
MỞ ĐẦU........................................................................................................................ 1
GIỚI THIỆU CHUNG ................................................................................................... 1
I. Giới thiệu về đơn vị thực tập................................................................................... 1
II. Bối cảnh đề tài........................................................................................................ 4
III.Mục đích và ý nghĩa của đề tài.............................................................................. 5
IV.Nội dung của đề tài gồm 4 phần chính.................................................................. 6
CHƢƠNG 1.................................................................................................................... 7
CÁC NHIỆM VỤ ĐƢỢC GIAO ................................................................................... 7
I.Tìm hiểu về đơn vị thực tập ..................................................................................... 7
II. Đề tài nghiên cứu ................................................................................................... 7
CHƢƠNG 2.................................................................................................................... 9
CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU ...................................................................... 9
I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX......................................................... 9
I.1 Giới thiệu về hệ điều hành Linux ...................................................................... 9
I.2 Kiến trúc hệ điều hành Linux .......................................................................... 10
I.2.1 Hạt Nhân (kernel) ..................................................................................... 10
I.2.2 Shell .......................................................................................................... 11
I.2.3 Các tiện ích ............................................................................................... 12
I.2.4 Chƣơng trình ứng dụng............................................................................. 12
I.3 Các đặc tính cơ bản của Linux ........................................................................ 12
I.3.1 Đa tiến trình .............................................................................................. 12
I.3.2 Tốc độ cao................................................................................................. 13
I.3.3 Bộ nhớ ảo.................................................................................................. 13
I.3.4 Sử dụng chung thƣ viện ............................................................................ 13
I.3.5 Sử dụng các chƣơng trình xử lý văn bản .................................................. 13
I.3.6 Sử dụng giao diện cửa sổ.......................................................................... 13
I.3.7 Network Information Service (NIS) ........................................................ 14
I.3.8 Lập lịch hoạt động chƣơng trình, ứng dụng.............................................. 14
I.3.9 Các tiện ích sao lƣu dữ liệu....................................................................... 14
I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình.............................................................. 14
I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux ............................................... 15
I.5 Quản lý tài khoản và phân quyền trên Linux .................................................. 15
I.5.1 Quản lý tài khoản trong Linux.................................................................. 15
I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin........................................... 16
I.6 Ƣu và nhƣợc điểm của hệ điều hành Linux..................................................... 20
I.7 Một số bản phân phối(Distro) Linux phổ biến ................................................ 21
II. TỔNG QUAN VỀ FIREWALL ......................................................................... 27
II.1 Khái niệm tƣờng lửa(firewall) ....................................................................... 27
II.2. Chức năng của tƣờng lửa .............................................................................. 27
II.3. Phân loại tƣờng lửa ....................................................................................... 28
II.3.1 Packet Filtering ( tƣờng lửa lọc gói tin) .................................................. 28
II.3.2 Application firewall ( Tƣờng lửa ứng dụng ) .......................................... 29
II.3.3 Statefull Firewall (Tƣờng lửa trạng thái)................................................. 31
CHƢƠNG 3.................................................................................................................. 32
TÌM HIỂU VỀ IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX.................................... 32
I.Giới thiệu về Iptables ............................................................................................. 32
I.1 Khái niệm Iptables........................................................................................... 32
I.2 Cài đặt Iptables ................................................................................................ 33
I.3 Cú pháp Iptables .............................................................................................. 33
I.4 Cấu trúc của Iptables ....................................................................................... 34
I.5 Quá trình chuyển dữ liệu qua Netfilter............................................................ 36
I.6 Target và Jumps trong iptables........................................................................ 39
I.7 Các tham số dòng lệnh thƣờng dùng trong iptables ........................................ 41
I.8 Sử dụng các chuỗi tự định nghĩa ..................................................................... 44
I.9 NAT trong iptables .......................................................................................... 45
I.10 Ví dụ về một số rule trên Iptables ................................................................. 47
II.Triển khái iptables trên Redhat............................................................................. 48
II.1 Mô hình triển khai.......................................................................................... 48
II.2 Thiết lập iptables trên redhat.......................................................................... 48
II.2.1 Cấm ssh đến firewall................................................................................... 48
II.2.2 Cấm Ping đến Firewall................................................................................ 50
KẾT LUẬN .................................................................................................................. 53
TÀI LIỆU THAM KHẢO............................................................................................ 54
DANH MỤC HÌNH ẢNH , BẢNG BIỂU
Hình 2. 1 Kiến trúc hệ điều hành linux ........................................................................ 10
Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux.......................................................... 15
Hình 2. 3 Quyền trên tập tin......................................................................................... 17
Hình 2. 4 Quyền đƣợc biểu diễn dƣới dạng số............................................................. 18
Hình 2. 5 Red Hat......................................................................................................... 22
Hình 2. 6 Debian .......................................................................................................... 23
Hình 2. 7 Ubuntu.......................................................................................................... 23
Hình 2. 8 Gentoo .......................................................................................................... 24
Hình 2. 9 Knoppix........................................................................................................ 24
Hình 2. 10 Slackware ................................................................................................... 25
Hình 2. 11 Mô hình tƣởng lửa cơ bản .......................................................................... 27
Hình 2. 12 Packet Filtering .......................................................................................... 29
Hình 2. 13 Application firewall.................................................................................... 30
Hình 2. 14 Statefull Firewall........................................................................................ 31
Hình 3. 1 Vị trí của Iptables ......................................................................................... 33
Hình 3. 2 Quá trình xử lý gói tin bảng filter ................................................................ 35
Hình 3. 3 Quá trình xử lý gói tin trong bảng NAT....................................................... 35
Hình 3. 4 Quá trình xử lý gói tin trong bảng Mangle................................................... 35
Hình 3. 5 Mô hình hoạt động của Iptables ................................................................... 36
Hình 3. 6 Trình tự xử lý gói tin trên Iptables ............................................................... 38
Hình 3. 7 Sơ đồ mạng công ty A.................................................................................. 48
Bảng 1. Miêu tả các target mà Iptables thường dùng nhất.......................................... 39
Bảng 2. Các tham số chuyển mạch quan trọng của iptables ....................................... 41
Bảng 3. Các điều kiện TCP và UDP thông dụng......................................................... 41
Bảng 4. Điều kiện ICMP ............................................................................................. 42
Bảng 5. Các điều kiện mở rộng thông dụng................................................................. 43
Bảng 6. Danh sách các lệnh (Queues) ......................................................................... 45
Bảng 7 NAT trong iptables........................................................................................... 45
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 1
MỞ ĐẦU
GIỚI THIỆU CHUNG
I. Giới thiệu về đơn vị thực tập
 Tên đơn vị thực tập
Trung tâm Đào tạo VDC Training Đà Nẵng
 Địa chỉ,điện thoại trung tâm VDC
Tầng 2,3 tòa nhà số 59 Trần Phú – Thành Phố Đà Nẵng
Điện thoại : 0511.3840.842 – Email: training@vdc.com.vn
 Hoạt động của trung tâm
Trung tâm Đào tạo VDC Training là đơn vị thuộc VDC - công ty thành viên
tập đoàn VNPT. VDC là doanh nghiệp hàng đầu trong lĩnh vực cung cấp dịch vụ
Internet, có nhiều kinh nghiệm trong lĩnh vực tƣ vấn, thiết kế, triển khai các hệ thống
hạ tầng công nghệ thông tin và chuyển giao công nghệ.
VDC Training đã có hơn 7 năm kinh nghiệm trong lĩnh vực đào tạo CNTT
đẳng cấp cao. Khởi đầu từ hoạt động đào tạo triển khai lắp đặt, hỗ trợ các dịch vụ
Internet, Truyền số liệu, Tin học của VNPT/VDC cho các khách hàng, đại lý, đối tác
và các viễn thông tỉnh/thành phố, VDC Training đã thành công trong việc phát triển
thành một trung tâm đào tạo CNTT có uy tín hàng đầu ở khu vực miền Trung và Tây
Nguyên nói riêng và cả nƣớc nói chung, không ngừng khẳng định là một đơn vị đào
tạo đẳng cấp chuyên nghiệp, mang đến các chƣơng trình đào tạo theo chuẩn mực quốc
tế cũng nhƣ đáp ứng tốt các chƣơng trình đào tạo theo yêu cầu của các tổ chức lớn,
cung cấp nhiều khoá học khác nhau nhằm giúp học viên nâng cao kỹ năng làm việc
cũng nhƣ mang lại lợi ích đáng kể cho các tổ chức của họ. Tính đến thời điểm hiện
nay, VDC Training là đối tác đào tạo ủy quyền chính thức của Cisco, CompTIA,
Pearson VUE, Prometric tại Việt Nam và cũng là thành viên mạng lƣới đối tác
Microsoft.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 2
Tiếp nối thành công ở mảng đào tạo các chƣơng trình IT quốc tế và đặc biệt là
để đáp ứng nhu cầu của khách hàng, từ năm 2011 VDC Training triển khai đào tạo các
chƣơng trình về quản trị, kỹ năng mềm và ISO 27001, ISO 20000.
VDC Training tự hào có đội ngũ giảng viên là các chuyên gia có trình độ
chuyên môn cao, hiểu và nắm rõ phƣơng pháp sƣ phạm, nhiệt tình trong công tác đào
tạo; đã đƣợc cấp các chứng chỉ Quốc tế của các tổ chức hàng đầu nhƣ Cisco,
Microsoft, Oracle, Sun, CompTIA, SCP, EC Council ... tuy nhiên sự khác biệt cũng là
tài sản quý nhất của VDC Training chính là kinh nghiệm làm việc thực tế của giảng
viên trong môi trƣờng của một đơn vị cung cấp dịch vụ IP/Internet/Tin học hàng đầu.
Đội ngũ giảng viên của VDC Training với nhiều năm kinh nghiệm làm việc trong môi
trƣờng thực tế không những cung cấp cho học viên đầy đủ kiến thức lý thuyết mà còn
tƣ vấn, hỗ trợ học viên vận dụng và giải quyết các tình huống thực tế. Sau khi tốt
nghiệp, học viên có khả năng đáp ứng ngay các yêu cầu công việc thực tiễn. Chất
lƣợng đào tạo thể hiện rõ qua kết quả thi của học viên: sau khi hoàn thành các chƣơng
trình đào tạo, trên 90% học viên thi đạt điểm cao các chứng chỉ quốc tế ở ngay lần thi
đầu tiên.
Hiện nay, đội ngũ giảng viên của VDC Training đã đạt các chứng chỉ: CCSI,
CCNA, CCNP, CCSP, CCAI, CCDP, CCIE Writtten, CWNA, SCSA, MCSE,
MCITP, MCTS, MCT, CCSE, CompTIA Linux+, CompTIA Security+, SCNS,
SCNP, SCNA, SCPI, CEH, CEI, Oracle DBA 10g, 11g v.v... Không dừng lại và
không thỏa mãn với những gì đạt đƣợc, các giảng viên VDC Training vẫn thƣờng
xuyên học tập, tham dự các khóa đào tạo nâng cao, các hội thảo công nghệ chuyên sâu
trong và ngoài nƣớc để cập nhật kiến thức mới và trau dồi kỹ năng mềm, nghiệp vụ sƣ
phạm.
Đội ngũ giảng viên giỏi chuyên môn nghiệp vụ, nhiều kinh nghiệm, cơ sở vật
chất đạt tiêu chuẩn quốc tế cùng với nội dung đào tạo bổ ích đã giúp cho VDC
Training trở thành đối tác đào tạo nguồn nhân lực cho nhiều đơn vị hoạt động trong
các lĩnh vực khác nhau nhƣ
 Tập đoàn Bƣu chính Viễn thông Việt Nam – VNPT
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 3
 Trung tâm Thông tin Di động khu vực III - VMS3
 Trung tâm Viễn thông Quốc tế khu vực III - VTI3
 Các Viễn thông tỉnh/thành phố
 Cụm cảng hàng không miền Trung
 Cục Hải quan Thành phố Đà Nẵng
 Viện Tin học Doanh nghiệp - CN miền Trung
 Trung tâm Viễn thông Điện lực miền Trung
 Công ty Cổ phần Phần mềm FPT
 Tập đoàn Dƣợc phẩm Viễn Đông
 Thành ủy Đà Nẵng
 Sở Giáo dục và Đào tạo Thành phố Đà Nẵng
 Cục thuế Đà Nẵng
 Ban Quản lý Dự án Phát triển CNTT& TT - Sở Thông tin và Truyền
thông thành phố Đà Nẵng
 Công ty TNHH MTV Lọc hóa dầu Bình Sơn
 Ban quản lý dự án CNTT-TT thuộc Sở Thông tin và Truyền thông Đà
Nẵng
 Sở Thông tin và Truyền thông Khánh Hòa
 Sở Thông tin và Truyền thông tỉnh Thừa Thiên Huế
 Sở Thông tin và Truyền thông Bình Định
 Sở Thông tin và Truyền thông tỉnh Kon Tum
 Trung tâm tích hợp dữ liệu tỉnh Phú Yên
 Các tổ chức ngân hàng, khác v.v...
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 4
 Sứ mệnh
- Truyền đạt, hƣớng dẫn học viên/khách hàng các kiến thức, kỹ năng
CNTT chuyên sâu ở đẳng cấp quốc tế về chƣơng trình và chất lƣợng đào
tạo. Góp phần phát triển nguồn nhân lực CNTT Việt Nam đạt tiêu chuẩn
quốc tế.
- Xây dựng một môi trƣờng học tập thân thiện, cởi mở với cơ sở vật chất
hiện đại, đủ sức hấp dẫn để quy tụ đƣợc nhân lực CNTT trong và ngoài
nƣớc về cộng tác nghiên cứu, thử nghiệm, trao đổi học thuật, kinh nghiệm
với nhau.
- Tạo điều kiện cho mọi thành viên của VDC Training phát triển tối đa
năng lực cá nhân, có cuộc sống sung túc về vật chất, hạnh phúc về tinh thần.
 Tầm nhìn
VDC Training trở thành:
Một tổ chức hàng đầu ở Việt Nam nói riêng và ở khu vực Đông Nam Á
nói chung trong lĩnh vực tƣ vấn và đào tạo CNTT theo các chƣơng trình quốc
tế.
Một trong những môi trƣờng làm việc tốt nhất cho nhân lực CNTT Việt
Nam.
II. Bối cảnh đề tài
Nhƣ chúng ta đã biết, Internet cho phép chúng ta truy cập tới các nơi
trên thế giới thông qua một số dịch vụ. Khi máy tính kết nối với Internet từ môi
trƣờng mạng cục bộ, khi đó tất cả các giao tiếp của mạng nội bộ với thế giới
bên ngoài coi nhƣ là bỏ ngỏ, mọi thông tin dữ liệu trên máy tính của mạng nội
bộ không có sự bảo vệ. Điều này đƣợc ví nhƣ nhà không có khóa cửa, khi đó
mọi đồ đạc trong nhà dĩ nhiên không an toàn.. Do vậy việc bảo vệ hệ thống là
một vấn đề chúng ta đáng phải quan tâm.Khi nói đến vấn đề bảo mật, hầu hết
các chuyên gia bảo mật đều chú trọng đến sự an toàn của hệ thống mạng và hệ
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 5
điều hành. Để hạn chế tình trạng này và cũng là để góp phần làm tăng khả năng
bảo mật thì việc xây dựng hệ thống tƣờng lửa là điều kiện không thể thiếu.
Tƣờng lửa có thể đƣợc tích hợp với phần cứng hoặc phần mềm giúp bạn
tránh đƣợc sự tấn công của các hacker, kiểm soát truy cập... Khi truy cập vào
mạng Internet. Nếu bạn sử dụng máy tính cá nhân tại nhà hoặc bạn là một
doanh nghiệp nhỏ, sử dụng tƣờng lửa là cách quan trọng và hiệu quả nhất để
bảo vệ máy tính của bạn.
III.Mục đích và ý nghĩa của đề tài
Có rất nhiều loại tƣờng lửa khác nhau nhƣng chúng em đã quyết định
chọn đề tài về tìm hiểu và cấu hình Iptables trên hệ điều hành linux. Bởi vì hệ
điều hành Linux ngày càng trở lên phổ biến,đƣợc sử dụng nhiều trên các hệ
thống máy chủ.Mặt khác 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..Nó 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 gói tin hiệu quả.
 Lọc gói tin dựa vào địa chỉ MAC (Media Access Control) và một số cờ
hiệu 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 (Network Address Translation)
 Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 6
IV.Nội dung của đề tài gồm 4 phần chính
 Tìm hiểu tổng quan về hệ điều hành linux
 Tổng quan về hệ thống tƣờng lửa
 Tìm hiểu và cấu hình Iptables trên hệ điều hành linux
 Kết luận
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 7
CHƢƠNG 1
CÁC NHIỆM VỤ ĐƢỢC GIAO
I.Tìm hiểu về đơn vị thực tập
Trong ngày thực tập đầu tiên, chúng em đƣợc làm quen với các thầy,
anh chị tham gia hƣớng dẫn chúng em trong quá trình thực tập. Chúng em đƣợc
đi tham quan các phòng ban,phòng học,thực hành và các trang thiết bị máy
móc ở trung tâm. Trong buổi gặp gỡ, ngoài việc đƣợc giới thiệu về VDC
Training/VDC - đơn vị thuộc VDC - công ty thành viên tập đoàn VNPT cũng
nhƣ phổ biến một số nội quy, quy định của VDC Training - nơi chúng em sẽ
thực tập tại đây. Chúng em còn đƣợc giới thiệu về một số định hƣớng nghiên
cứu, trải nghiệm trong thời gian thực tập tại VDC Training.
Chúng em rất hào hứng với những xu hƣớng nghiên cứu khoa học mà
giảng viên VDC Training giới thiệu, bởi đây là những xu hƣớng mới và đang
đƣợc quan tâm nghiên cứu nhiều trên thế giới.
Cũng trong buổi gặp gỡ, chúng em đã thoải mái trao đổi, bày tỏ mong
muốn tham gia nghiên cứu những đề tài đầy mới mẻ này cũng nhƣ cơ hội tiếp
cận môi trƣờng thực tế, năng động trong lĩnh vực công nghệ thông tin - viễn
thông trong thời gian các bạn thực tập tại VDC Training.
II. Đề tài nghiên cứu
Sau khi đƣợc thầy Th.S Nguyễn Song Tùng giới thiệu về một số định
hƣớng nghiên cứu đang đƣợc quan tâm hiện nay. Chúng em đã chọn cho mình
hƣớng nghiên cứu về tìm hiểu hệ điều hành linux mà cụ thể là tìm hiểu và cấu
hình iptables trên hệ điều hành linux.
Iptables là một phần mềm tƣờng lửa phổ biến và cơ bản nhất trong HĐH
Linux. Iptables là một tƣờng lửa ứng dụng lọc gói dữ liệu rất mạnh gồm 2 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 để đẩy các luật của ngƣời dùng
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 8
vào cho Netfiler 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.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 9
CHƢƠNG 2
CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU
Trong quá trình thực tập tại VDC Training Đà Nẵng, sau tuần đầu tiên
đƣợc tham quan và tìm hiểu về trung tâm. Sang tuần thứ hai, chúng em đƣợc
giao nhiệm vụ học tập và nghiên cứu công nghệ. Chúng em đƣợc phân vào các
nhóm khác nhau tùy theo công nghệ đã lựa chọn. Nhóm em có 2 thành viên
nghiên cứu về iptables trên hệ điều hành linux.
I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX
I.1 Giới thiệu về hệ điều hành Linux
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt
nhân của hệ điều hành.
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông
còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách
hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm
1994. Bộ phận chủ yếu này đƣợc phát triển và tung ra trên thị trƣờng dƣới bản
quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem
mã nguồn của Linux.
Một cách chính xác, thuật ngữ ―Linux‖ đƣợc sử dụng để chỉ Nhân Linux,
nhƣng tên này đƣợc sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều
hành giống Unix (còn đƣợc biết đến dƣới tên GNU/Linux) đƣợc tạo ra bởi việc
đóng gói nhân Linux cùng với các thƣ viện và công cụ GNU, cũng nhƣ là các
bản phân phối Linux. Thực tế thì đó là tập hợp một số lƣợng lớn các phần mềm
nhƣ máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các
môi trƣờng làm việc desktop nhƣ GNOME và KDE, và các ứng dụng thích hợp
cho công việc văn phòng nhƣ OpenOffice hay LibreOffice.
Khởi đầu, Linux đƣợc phát triển cho dòng vi xử lý i386 Intel, hiện tại hệ
điều hành này hỗ trợ một số lƣợng lớn các kiến trúc vi xử lý, và đƣợc sử dụng
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 10
trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính
và các thiết bị nhúng nhƣ là các máy điện thoại di động.
Ban đầu, Linux đƣợc phát triển và sử dụng bởi những ngƣời say mê. Tuy
nhiên, hiện nay Linux đã có đƣợc sự hỗ trợ bởi các công ty lớn nhƣ IBM và
Hewlett-Packard, đồng thời nó cũng bắt kịp đƣợc các phiên bản Unix độc
quyền và thậm chí là một thách thức đối với sự thống trị của
Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux đạt đƣợc những thành
công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống
khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix
độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows)
cũng nhƣ là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung
cấp. Một đặc tính nổi trội của nó là đƣợc phát triển bởi một mô hình phát triển
phần mềm nguồn mở hiệu quả.
Tuy nhiên, hiện tại số lƣợng phần cứng đƣợc hỗ trợ bởi Linux vẫn còn rất
khiêm tốn so với Windows vì các trình điều khiển thiết bị tƣơng thích với
Windows nhiều hơn là Linux. Nhƣng trong tƣơng lai số lƣợng phần cứng đƣợc
hỗ trợ cho Linux sẽ tăng lên.
I.2 Kiến trúc hệ điều hành Linux
Hình 2. 1 Kiến trúc hệ điều hành linux
I.2.1 Hạt Nhân (kernel)
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 11
Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều
khiển hoạt động của toàn bộ hệ thống. Hạt nhân đƣợc phát triển không ngừng,
thƣờng có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản
ổn định mới nhất. Kernel đƣợc thiết kế theo dạng module, do vậy kích thƣớc
thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ,
các bộ phận khác sẽ đƣợc tải nếu có yêu cầu sử dụng. Nhờ vậy so với các hệ
điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ
lên mà không cần quan tâm nó có sử dụng không.
Kernel đƣợc xem là trái tim của hệ điều hành Linux, ban đầu nhân đƣợc
phát triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng
quản lý bộ nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần
cứng của máy. Yêu cầu của các chƣơng trình cần rất nhiều bộ nhớ, trong khi hệ
thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi (swap space)
để lƣu trữ các dữ liệu xử lý của chƣơng trình. Swap space cho phép ghi các
trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó nhƣ phần mở
rộng của vùng nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các
đặc tính sau:
- Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến
trình làm tắt toàn bộ hệ thống.
- Chỉ tải các chƣơng trình khi có yêu cầu.
I.2.2 Shell
Cung cấp các tập lệnh cho ngƣời dùng thao tác với kernel để thực hiện
công việc. Shell đọc các lệnh từ ngƣời dùng và xử lý. Ngoài ra shell còn cung
cấp một số đặc tính khác nhƣ : chuyển hƣớng xuất nhập, ngôn ngữ lệnh để tạo
các tập tin tƣơng tự nhƣ bat trong DOS.
Có nhiều Shell đƣợc sử dụng trong Linux. Có nhiều loại shell đƣợc dùng
trong Linux. Điểm quan trọng để phân biệt các shell khác nhay là bộ lệnh của
mỗi shell. Ví dụ , C shell thì sử dụng các lệnh tƣơng tự ngôn ngữ C, Bourne thì
dùng ngôn ngữ lệnh khác…
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 12
Shell sử dụng chính trong Linux là GNU Bourne Again Shell ( bash ).
Shell này là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ
thông Unix, với nhiều tính năng mới nhƣ : điều khiển các tiến trình, các lệnh
history, tên tập tin dài….
I.2.3 Các tiện ích
Các tiện ích đƣợc ngƣời dùng thƣờng xuyên sử dụng. Nó dùng cho nhiều
thứ nhƣ thao tác tập tin, đĩa, nén, sao lƣu tập tin, … Tiện ích trong Linux có thể
là các lệnh thao tác hay các chƣơng trình giao diện đồ họa. Hầu hết các tiện ích
dùng trong Linux là sản phẩm của chƣơng trình GNU. Linux có sẵn rất nhiều
tiện ích nhƣ trình biên dịch, trình gỡ lỗi, soạn văn bản,… Tiện ích có thể đƣợc
sử dụng bởi ngƣời dùng hoặc hệ thống. Một số tiện ích đƣợc xem là chuẩn
trong hệ thống Linux nhƣ passwd, ls, pa, vi …
I.2.4 Chƣơng trình ứng dụng
Khác với các tiện ích, các ứng dụng nhƣ chƣơng trình word, hệ quản trị cơ
sở dữ liệu,… là các chƣơng trình có độ phức tạp lớn và đƣợc các nhà sản xuất
viết ra.
I.3 Các đặc tính cơ bản của Linux
Linux hỗ trợ các tính năng cơ bản thƣờng thấy trong các hệ điều hành
Unix và nhiều tính năng khác mà không hệ điều hành nào có đƣợc. Linux cung
cấp môi trƣờng phát triển một cách đầy đủ bao gồm các thƣ viện chuẩn, các
công cụ lập trình, trình biên dịch, debug,… nhƣ bạn mong đợi ở các hệ điều
hành Unix khác. Hệ thống Linux trội hơn các hệ thống khác trên nhiều mặt mà
ngƣời dùng quan tâm nhƣ sự phát triển tốc độ, dễ sử dụng và đặc biệt là sự phát
triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm:
I.3.1 Đa tiến trình
Là đặc tính cho phép ngƣời dùng thực hiện nhiều tiến trình đồng thời. Ví
dụ bạn vừa in, vừa soạn văn bản, vừa nghe nhạc,… cùng một lúc. Máy tính sử
dụng chỉ một CPU nhƣng xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 13
là tại một thời điểm CPU chỉ xử lý đƣợc một mệnh lệnh, việc thực hiện cùng
lúc nhiều công việc là giả tạo bằng cách làm việc xen kẽ và chuyển đổi trong
thời gian nhanh. Do đó ngƣời dùng cứ ngỡ là thực hiện đồng thời.
I.3.2 Tốc độ cao
Hệ điều hành Linux đƣợc biết đến nhƣ một hệ điều hành có tốc độ xử lý
cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên nhƣ: bộ nhớ, đĩa,…
I.3.3 Bộ nhớ ảo
Khi hệ thống sử dụng quá nhiều chƣơng trình lớn dẫn đến không đủ bộ
nhớ chính (RAM) để hoạt động. Trong trƣờng hợp đó, Linux dung bộ nhớ từ
đĩa vào partition swap. Hệ thống sẽ đƣa các chƣơng trình hoặc dữ liệu nào
chƣa có yêu cầu truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống
chuyển lên lại bộ nhớ chính.
I.3.4 Sử dụng chung thư viện
Hệ thống Linux có rất nhiều thƣ viện dùng chung cho nhiều ứng dụng.
Điều này sẽ giúp hệ thống tiết kiệm đƣợc tài nguyên cũng nhƣ thời gian xử lý.
I.3.5 Sử dụng các chương trình xử lý văn bản
Chƣơng trình xử lý văn bản là một trong những chƣơng trình rất cần thiết
đối với ngƣời sử dụng. Linux cung cấp nhiều chƣơng trình cho phép ngƣời
dùng thao tác với văn bản nhƣ vi, emacs, nroff.
I.3.6 Sử dụng giao diện cửa sổ
Giao diện cửa sổ dùng hệ thống X Window, có giao diện nhƣ hệ điều hành
Windows. Với hệ thống này ngƣời dùng rất thuận tiện khi làm việc trên hệ
thống. X Window System hay còn gọi tắt là X đƣợc phát triển tại viện
Massachusetts Institute of Technology. Nó đƣợc phát triển để tạo ra môi trƣờng
làm việc không phụ thuộc phần cứng. X chạy dƣới dạng client – server. Hệ
thống X Window hoạt động qua hai bộ phận:
- Phần server còn gọi là X server.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 14
- Phần client đƣợc gọi là X Window manager hay desktop environment.
- X Server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86.
Client sử dụng thƣờng là KDE (K Desktop Environment) và GNOME (GNU
Network Object Model Environment).
Dịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows. Tên Samba
xuất phát từ giao thức Server Message Block (SMB) mà Window sử dụng để
chia sẻ tập tin và máy in. Samba là chƣơng trình sử dụng giao thức SMB chạy
trên Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy
Windows
I.3.7 Network Information Service (NIS)
Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng.
NIS là một hệ thống cơ sở dữ liệu dạng client – server, chứa các thông tin của
ngƣời dùng và dùng để chứng thực ngƣời dùng. NIS xuất phát từ hãng Sun
Microsystem với tên là Yellow Pages.
I.3.8 Lập lịch hoạt động chương trình, ứng dụng
Chƣơng trình lập lịch trong Linux xác định các ứng dụng, script thực thi
theo một sự sắp xếp của ngƣời dùng nhƣ: at, cron, batch.
I.3.9 Các tiện ích sao lưu dữ liệu
Linux cung cấp các tiện ích nhƣ tar, cpio và dd để sao lƣu và backup dữ
liệu. Red Hat Linux còn cung cấp tiện ích Backup and Restore System Unix
(BRU) cho phép tự động backup dữ liệu theo lịch.
I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình
Linux cung cấp một môi trƣờng lập trình Unix đầy đủ bao gồm các thƣ
viện chuẩn, các công cụ lập trình, trình biên dịch, chƣơng trình debug mà bạn
có thể tìm thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng
trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và
C++ là gcc, chƣơng trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 15
C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác
nhƣ Pascal, Fortan, Java, …
I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux
Trong Linux không có khái niệm ổ đĩa. Sau quá trình khởi động, toàn bộ
các thƣ mục và tập tin đƣợc kết gắn và tạo thành một hệ thống tập tin thống
nhất, bắt đầu từ gốc ―/‖.
Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux
I.5 Quản lý tài khoản và phân quyền trên Linux
I.5.1 Quản lý tài khoản trong Linux
a) Tài khoản ngƣời dùng
Cũng giống nhƣ Windows,Linux cũng có các loại tài khoản khác nhau,
thƣờng đƣợc chia làm 2 loại chính : tài khoản ngƣời dùng bình thƣờng và tài
khoản quản trị (root ).
Root là tài khoản quản trị có ảnh hƣởng rất lớn đối với an toàn của hệ
thống, tài khoản root có các các quyền nhƣ: tạo tài khoản ngƣời dùng, cài đặt
phần mềm, thêm, xóa, sửa đổi các tài khoản…
Mỗi ngƣời sử dụng trên hệ thống đƣợc mô tả qua các thông tin sau:
- username : tên ngƣời sử dụng
- password : mật khẩu (nếu có)
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 16
- uid : số nhận dạng (user identify number )
- gid : số của nhóm(group identify number )
- comment : chú thích
- Thƣ mục chủ của tài khoản (home directory )
- Shell đăng nhập (chƣơng trình chạy lúc bắt đầu phiên làmviệc)
Các thông tin trên đƣợc chứa trong tập tin /etc/passwd
b) Tài khoản nhóm ngƣời dùng
Một nhóm ngƣời sử dụng đƣợc mô tả bằng các thông tin sau:
- groupname : tên của nhóm
- gid : số của nhóm (gid: group identify number)
- danh sách các tài khoản thuộc nhóm
Các thông tin trên đƣợc chứa trong tập tin /etc/group
I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin
Một trong những thành phần chính của họ *nix là hệ thống quyền hạn
truy cập (Permission) cho mọi đối tƣợng (file (-), thƣ mục (d), link (l)). Hệ
thống này đóng 1 vai trò quan trọng trong việc cung cấp mức an ninh cao và
tính ổn định cho HDH Linux.
Mỗi 1 đối tƣợng gắn với 3 loại quyền: read (đọc), write (ghi) và execute
(thực thi). Và mỗi 1 quyền này lại đƣợc chỉ định cho 3 loại user:
+ owner: chủ sở hữu của đối tƣợng – mặc định ban đầu là user tạo ra đối tƣợng
đó
+ group: 1 nhóm các user chia sẻ chung quyền hạn truy cập - mặc định ban đầu
là group mà owner ở trên thuộc về.
+ other: tất cả các user không thuộc 2 nhóm trên.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 17
Hình 2. 3 Quyền trên tập tin
User root có đủ cả 3 quyền đối với mọi đối tƣợng trên hệ thống. Ngoài
ra, root có thể thay đổi (cấp hoặc tƣớc) quyền hạn truy cập đối tƣợng cho bất
kỳ user nào và còn có thể chuyển quyền sở hữu đối tƣợng qua lại giữa các user.
Ý nghĩa của 3 loại quyền này là:
+ đối với thư mục:
- Read: chỉ cho phép xem tên và các thuộc tính của các đối tƣợng mà nó
chứa
- Write: cho phép tạo và xóa các đối tƣợng trong thƣ mục
- Execute: chỉ cho phép truy cập vào thƣ mục sử dụng lệnh cd
+ đối với file:
- Read: chỉ cho phép xem nội dung của file
- Write: cho phép chỉnh sửa nội dung, xóa file
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 18
- Execute: chỉ cho phép chạy file này, thƣờng đƣợc gán các file nhị phân
thực thi (đã đƣợc biên dịch từ file mã nguồn) tƣơng tự nhƣ file .exe trong
Windows
Các quyền cho 1 đối tƣợng đƣợc biểu diễn nhƣ sau:
- Read: ký hiệu là r hay số 4 hệ bát phân
- Write: ký hiệu là w hay số 2 hệ bát phân
- Execute: ký hiệu là e hay số 1 hệ bát phân
Vì mỗi đối tƣợng có 3 loại quyền cho mỗi loại user nên có tất cả 9 bit
thông tin về quyền hạn tƣơng ứng với mỗi đối tƣợng. Mỗi bit trong 9 bit này
nhận 1 trong 2 giá trị: đƣợc phép (allow) hoặc bị cấm (deny).
Hình 2. 4 Quyền đƣợc biểu diễn dƣới dạng số
Các quyền cho 1 đối tƣợng đƣợc biểu diễn theo 2 cách
 Cách 1 gồm 1 chuỗi 10 ký tự:
- Ký tự đầu thể hiện loại file: d cho thƣ mục (file đặc biệt), - cho
file thông thƣờng, l cho các link (hard link, symbolic link)
- Ba ký tự tiếp là các quyền cho owner, kế đến là 3 ký tự biểu
diễn các quyền cho group, còn lại 3 ký tự cuối dành cho other
- Quyền đƣợc phép read sẽ là r, write là w, e là execute. Các
quyền bị cấm đƣợc biểu diễn bằng dấu –
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 19
Sử dụng lệnh ls –l filename để biết thông tin về các quyền. VD
-rwxrw-r--
+ đây là file thông thƣờng
+ owner có quyền read, write, execute; group có thể read, write; other
chỉ read
drwxr-xr-x
+ đây là thƣ mục
+ owner có quyền read+write+execute; cả group và other chỉ
read+excute
 C2 ngắn gọn hơn, gồm 3 số hệ bát phân
Số đầu cho owner, số thứ 2 cho group, số còn lại cho other. Mỗi 1 số
nhận 1 trong 8 giá trị sau
+ 0 : cấm tất cả các quyền
+ 1 : execute
+ 2 : write
+ 3 : execute + write
+ 4 : read
+ 5 : read + execute
+ 6 : read + write
+ 7 : read + write + execute
Để thay đổi quyền hạn truy cập cho các user sử dụng lệnh chmod (bạn
phải là owner của file hặc có quyền root)
Để thay đổi owner cho đối tƣợng sử dụng lệnh chown (bạn phải có
quyền root)
chown User_Name File_Name
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 20
Để thay đổi group cho đối tƣợng sử dụng lệnh chgrp nhƣng phải thỏa 1
trong 2 điều kiện:
* chạy lệnh chgrp với quyền root
* bạn là owner + thuộc Group (có tên là Group_Name trong lệnh) mà
bạn muốn thay đổi Group cho file
chgrp Group_Name File_Name
I.6 Ƣu và nhƣợc điểm của hệ điều hành Linux
 Ƣu điểm
 Là hệ điều hành miễn phí và đƣợc rất nhiều ngƣời phát triển nên có
nhiều tính năng ứng dụng hay, cũng nhƣ nhiều ngƣời dùng.
 Là hệ điều hành đa nhiệm và đa ngƣời dùng, tận dụng đƣợc sức mạnh
xử lý của máy i386 và đời cao hơn. Chạy đƣợc trên nhiều loại máy khác
nhau.
 Có sẵn bộ giao thức TCP/IP giúp cho ngƣời dùng dễ dàng kết nối
internet.
 Khả năng tƣơng thích với các hệ thống mở có nghĩa chúng ta có thể
chuyển nó từ hệ điều hành này sang hệ điều hành khác mà vẫn hoạt
động tốt.
 Hổ trợ ngƣời dùng. Hiện nay linux có hàng ngàn ứng dụng, bao gồm các
chƣơng trình báo biểu, cơ sở dữ liệu, giải trí, đa phƣơng tiện và rất nhiều
ứng dụng khác.
 Lợi ích cho giới chuyên nghiệp điện toán, đến với linux giới điện toán sẽ
có hàng ngàn công cụ phát triển chƣơng trình, báo gồm các bộ biên dịch
cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn nhƣ C,
C++…
 Nhƣợc điểm
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 21
 Khuyết điểm về hổ trợ kỹ thuật tức là Linux không có một công ty nào
đứng ra chịu trách nhiệm phát triển hệ điều hành này. Nếu gặp trục trặc
thì không có ai có thể giải quyêt miển phí cho bạn.
 Khuyết điểm về phần cứng đó chính là Linux không dễ dàng cài đặt và
hổ trợ nhiều thiết bị phần cứng. Các phiên bản phần cứng của Linux đều
hổ trợ theo nguyên tắc phần cứng của nhà phát triển Linux.
 Quá trình sử dụng với ngƣời dùng tƣơng đối khó khăn bởi vì Linux hổ
trợ việc giao tiếp bằng đồ họa ít nên chủ yếu phải dùng bằng lệnh nên
dẫn đến làm cho ngƣời dùng cảm thấy kho khăn khi sử dụng.
I.7 Một số bản phân phối(Distro) Linux phổ biến
Phần mềm tự do nguồn mở cho phép ngƣời sử dụng có thể sao chép, sửa
đổi, phân phối một cách tự do và không phụ thuộc vào bất kỳ nhà cung cấp
công nghệ nào.
Phần mềm tự do nguồn mở đƣợc phát triển từ lâu và đến nay đã xuất
hiện khá phổ biến trong các tổ chức chính phủ, doanh nghiệp.Thu hút sự chú ý
của cộng đồng do sự tự nguyện của những ngƣời đóng góp cho cộng đồng giúp
phát hiện và thông báo các lỗi mà họ gặp phải khi trải nghiệm.
Điểm sáng của phần mềm mã nguồn mở chính là khái niệm distro, có
thể tạm dịch là bản phân phối phần mềm mã nguồn mở. Kể từ lúc Linux ra đời,
cho đến nay đã có rất nhiều distro khác nhau, một phần là do tính "mở" của nó.
Một số distro có thể kể đến nhƣ: Ubuntu, Fedora, LinuxMint, openSUSE,
PCLinuxOS, Debian, Mandriva…
 Sự khác nhau giữa các distro chủ yếu dựa vào 2 yếu tố
- Thị trƣờng mà distro muốn nhắm đến, ví dụ dành cho máy chủ,
doanh nghiệp, siêu máy tính, ngƣời dùng đầu cuối…
- Tùy thuộc vào triết lí phần mềm của từng distro mà những
ngƣời phát triển quyết định gắn bó lâu dài với distro đó hay
không.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 22
 Các distribution phổ biến
 Redhat,Fedora & CentOS (Redhat, Inc): Redhat, Fedora,CentOS là
các Distro dựa trên RPM, đƣợc nhiều ngƣời biết đến nhất và rất phổ biến tại
Việt Nam. Chúng phù hợp với mọi mục đích, từ Desktop, Workstation, đến
Server, cho những ngƣời mới dùng, đến những ngƣời đã giàu kinh nghiệm.
Điểm mạnh của Redhat, Fedora,CentOS là việc hỗ trợ cài đặt, đến giao diện sử
dụng rất thân thiện. Tuy nhiên điểm yếu chung của những Distro tựa RPM này
là cách quản lý gói tin gây không ít khó khăn cho ngƣời dùng. Việc phân chia
mỗi ứng dụng bao gồm nhiều gói rpm, và sự liên kết giữa chƣơng trình với thƣ
viên, gây cho việc cài đặt, gỡ bỏ, cập nhật bất kỳ một gói nào cũng liên quan
đến nhiều gói khác. Tuy nhiên, đến Distro Fedora,CentOS và Redhat
Enterprise, trình quản lý gói yum đƣợc đƣa vào, đã giải quyết đƣợc đáng kể
vấn đề trên. Fedora,CentOS là Distro xuất hiện miễn phí cho ngƣời dùng bởi
Công ty Redhat từ khi phiên bản Redhat đã đƣợc thƣơng mại hóa. Redhat
Enterprise thực sự là một Distro phổ biến cho dòng Máy chủ của các công ty,
doanh nghiệp lớn trên toàn thế giới.
Hình 2. 5 Red Hat
 Debian: là Distro khá phổ biến bởi trình quản lý gói tin rất mạnh, tiện
ích APT và số lƣợng gói phần mềm khổng lồ (số lƣợng CD lƣu trữ hết các gói
tin khoảng 15 CD - 8000 gói), cung cấp cho ngƣời dùng rất nhiều tính năng lựa
chọn. Debian là lựa chọn cho sự ổn định và tin cậy. Gói tin DEB trên Debian
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 23
luôn đặt mục tiêu stable (vững chắc, ổn định) lên hàng đầu, so với một số hệ
thống gói tin khác là mục tiêu newest (cập nhật mới nhất)
Hình 2. 6 Debian
 Ubuntu: Cái tên Ubutun chỉ mới xuất hiện vào khoảng 2005, nhƣng đã
trở nên rất phổ biến cho ngƣời dùng khắp nơi trên thế giới. Trong trang chuyên
đề về tập hợp các Distro là DistroWatch, Ubuntu luôn đứng đầu về số lƣợng
ngƣời dùng ghé thăm. Ubuntu đƣợc thiết kế chuyên cho ngƣời dùng Desktop,
rất nhỏ gọn (chỉ gồm 1 đĩa cài đặt), và dựa trên hệ thống quản lý gói mạnh mẽ
APT của Debian. Ngƣời dùng Ubuntu thực sự thấy đƣợc sự tự do, tùy biến cao
trong sử dụng, quản lý hệ thống.
Hình 2. 7 Ubuntu
 Gentoo: Là một Distro của sự linh hoạt, và tốc độ, đƣợc thiết kế chuyên
cho developer và network professional. Khác với các Distro khác, Gentoo sử
dụng hệ thống quản lý gói cũng rất mạnh Portage. Việc cài đặt hệ thống và các
phần mềm hoàn toàn từ mã nguồn (source code) sao cho phù hợp nhất với đặc
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 24
điểm của hệ thống. Khi cài đặt Gentoo, hệ thống của ngƣời dùng chỉ đƣợc cài
đặt một mức tối thiểu các gói tin cần thiết, sau đó tùy mục đích mà ngƣời dùng
có thể cài đặt thêm. Chính vì những lý do trên, Gentoo đem đến cho hệ thống
sự ổn định và chạy rất nhanh. Để cài đặt và sử dụng Gentoo, ngƣời dùng sẽ mất
khá nhiều thời gian, tuy nhiên nó đáng để đƣợc nhƣ vậy.
Hình 2. 8 Gentoo
 Knoppix: Đây là một LiveCD rất thân thiện, với sự hỗ trợ cao về phần
cứng và nhiều phần mềm chuyên dụng. Knoppix giúp ngƣời dùng có thể làm
quen với Linux, các ứng dụng Mã nguồn mở mà không phải cài đặt. Đây cũng
là Distro phù hợp với vài trò Rescue
Hình 2. 9 Knoppix
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 25
 Slackware: Đây là sự lựa chọn tốt cho những ngƣời dùng muốn học,
nghiên cứu kỹ và sâu về hệ điều hành Linux. Tuy nhiên, từ công việc cài đặt,
cho đến sử dụng ngƣời dùng cũng phải mất khá nhiều thời gian, mà ngay cả
ngƣời dùng có kinh nghiệm cũng cảm thấy khó dùng. Tuy nhiên đánh đổi lại,
khi bạn đã sử dụng thành thạo Slackware, ngƣời dùng có thể yên tâm về trình
độ của mình. Đây cũng là Distro lựa chọn cho Máy chủ lớn bởi tính ổn định,
cập nhật và tùy biến cao của nó.
Hình 2. 10 Slackware
Các Linux Distribution có rất nhiều, vì vậy ngƣời dùng cần xác định mục tiêu
sử dụng và lựa chọn một Distro phù hợp. Tiêu chí lựa chọn distribution cũng là
các mặt khác nhau giữa các Linux distribution bao gồm:
- Chƣơng trình cài đặt (Graphical, Text mode)
- Hệ thống quản lý gói tin (dpkg với Debian, RPM với Fedora...)
- Giao diện đồ họa đƣợc cài đặt mặc định.
- Phƣơng tiện cài đặt (Đĩa mềm, LiveCD, CD/DVD).
- Tính bản địa hóa của Distro (Bao gồm font chữ, ngôn ngữ....)
- Ứng dụng (Desktop, Workstation, Server, Firewall and Security,
Router, etc)
- Hỗ trợ phần cứng.
- Chi phí. (Đa phần Linux Distribution là miễn phí, nhƣng cũng có một
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 26
số Distro đã đƣợc thƣơng mại hóa: Redhat, Xandros Desktop OS, etc)
- Sự hỗ trợ từ các hãng, công ty: tài liệu, diễn đàn, tin tức, cập nhật.
- Cuối cùng, một yếu tố cũng rất quan trọng đó là trình độ của ngƣời
dùng. Đối với ngƣời mới dùng, đa phần Linux Distribution khó sử dụng, đặc
biệt trong đó có nhiều Distro kể cả những ngƣời giàu kinh nghiệm, việc sử
dụng nó cũng vất vả. Vì lý do đó, đã xuất hiện nhiều Distro hƣớng dẫn ngƣời
dùng, thân thiện với ngƣời dùng hơn, phù hợp cho ngƣời mới bắt đầu. Vì vậy,
xác định trình độ của mình và lựa chọn Distro cũng là rất cần thiết
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 27
II. TỔNG QUAN VỀ FIREWALL
II.1 Khái niệm tƣờng lửa(firewall)
Tƣờng lửa là một kỹ thuật đƣợc tích hợp vào hệ thống mạng để chống
lại sự truy cập trái phép nhằm bảo vệ các nguồn thông tin nội bộ cũng nhƣ hạn
chế sự xâm nhập vào hệ thống nhằm mục đích phá hoại, gây tổn thất cho tổ
chức, doanh nghiệp.Cũng có thể hiểu tƣờng lửa là một cơ chế để đảm bảo an
toàn cho mạng máy tính giữa mạng nội bộ với mạng bên ngoài(Internet).
Hình 2. 11 Mô hình tƣởng lửa cơ bản
II.2. Chức năng của tƣờng lửa
Chức năng chính của tƣờng lửa là kiểm soát luồng thông tin giữa mạng
cần bảo vệ (Trusted Network) và Internet thông qua các chính sách truy nhập
đã đƣợc thiết lập.
- Cho phép hoặc cấm các dịch vụ truy nhập từ trong ra ngoài và từ ngoài
vào trong.
- Kiểm soát địa chỉ truy nhập, và dịch vụ sử dụng.
- Kiểm soát khả năng truy cập ngƣời sử dụng giữa 2 mạng.
- Kiểm soát nội dung thông tin truyền tải giữa 2 mạng.
- Ngăn ngừa khả năng tấn công từ các mạng ngoài.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 28
Xây dựng tƣởng lửa là một biện pháp khá hữu hiệu, nó cho phép bảo vệ
và kiểm soát hầu hết các dịch vụ do đó đƣợc áp dụng phổ biến nhất trong các
biện pháp bảo vệ mạng.
II.3. Phân loại tƣờng lửa
Tƣờng lửa đƣợc chia làm nhiều loại,tùy thuộc vào nhu cầu và cách nhìn
nhận từ ngƣời sử dụng.Mỗi loại có ƣu và nhƣợc điểm riêng của nó.Chúng ta
phân ra các loại nhƣ sau:
II.3.1 Packet Filtering ( tƣờng lửa lọc gói tin)
Kiểu tƣờng lửa này thƣờng hoạt động ở tầng mạng và tầng liên kết dữ
liệu trong mô hình OSI.Nó có thể tích hợp hoặc không tích hợp với Router, nó
tạo ra các luật cho phép quyền truy nhập mạng dựa trên mức mạng.Mô hình
này hoạt động theo nguyên tắc lọc gói tin (packet filtering).
Ở kiểu hoạt động này các gói tin đều đƣợc kiểm tra địa chỉ nguồn nơi
chúng xuất phát. Sau khi địa chỉ IP nguồn đƣợc xác định thì nó đƣợc kiểm tra
với các luật đã đƣợc đặt ra trên tƣờng lửa. Ví dụ ngƣời quản trị firewall quyết
định rằng không cho phép bất kỳ một gói tin nào xuất phát từ mạng
microsoft.com đƣợc kết nối với mạng trong thì các gói tin xuất phát từ mạng
này sẽ không bao giờ đến đƣợc mạng trong.
Các tƣờng lửa hoạt động ở lớp mạng (tƣơng tự nhƣ một router)
thƣờng cho phép tốc độ xử lý nhanh bởi nó chỉ kiểm tra địa chỉ IP nguồn mà
không có một lệnh thực sự nào trên router, nó không cần một khoảng thời gian
nào để xác định xem là địa chỉ sai hay bị cấm. Nhƣng điều này bị trả giá bởi
tính tin cậy của nó. Kiểu tƣờng lửa này sử dụng địa chỉ IP nguồn làm chỉ thị,
điểu này tạo ra một lỗ hổng là nếu một gói tin mang địa chỉ nguồn là địa chỉ giả
thì nhƣ vậy nó sẽ có đƣợc một số mức truy nhập vào mạng trong của bạn.
Các sản phẩm tƣờng lửa cứng đáng chú ý nhƣ Cisco PIX, NetScreen
firewall, SonicWall Appliaces, WatchGuard Fireboxes, Nokia firewall…
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 29
Hình 2. 12 Packet Filtering
II.3.2 Application firewall ( Tƣờng lửa ứng dụng )
Kiểu tƣờng lửa này hoạt động dựa trên phần mềm và thƣờng hoạt động
ở tầng ứng dụng của mô hình OSI.Nếu cài đặt trên một máy tính thì đƣợc gọi là
host firewall.Nếu dùng cho hệ thống mạng thì gọi là Network firewall.
Khi một kết nối từ một ngƣời dùng nào đó đến mạng sử dụng tƣờng lửa
kiểu này thì kết nối đó sẽ bị chặn lại, sau đó tƣờng lửa sẽ kiểm tra các trƣờng
có liên quan của gói tin yêu cầu kết nối. Nếu việc kiểm tra thành công, có nghĩa
là các trƣờng thông tin đáp ứng đƣợc các luật đã đặt ra trên tƣờng lửa thì tƣờng
lửa sẽ tạo một cái cầu kết nối giữa hai node với nhau.
Ƣu điểm của kiểu tƣờng lửa loại này là không có chức năng chuyển tiếp
các gói tin IP, hơn nữa ta có thể điểu khiển một cách chi tiết hơn các kết nối
thông qua tƣờng lửa. Đồng thời nó còn đƣa ra nhiều công cụ cho phép ghi lại
các quá trình kết nối. Tất nhiên điều này sẽ làm chậm hệ thống, bởi vì tất cả các
kết nối cũng nhƣ các gói tin chuyển qua tƣờng lửa đều đƣợc kiểm tra
kỹ lƣỡng với các luật trên tƣờng lửa và rồi nếu đƣợc chấp nhận sẽ đƣợc chuyển
tiếp tới node đích.Ngoài ra việc nâng cấp và thay đổi thiết bị tƣờng lửa tƣơng
đối dễ dàng và nhanh chóng.
Nhƣợc điểm của loại tƣờng lửa này là nó đƣợc cài đặt trên một hệ điều
hành hoặc hệ thống mạng và do đó khả năng có lỗ hổng trên hệ điều hành này
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 30
là có thể xẩy ra. Khi lỗ hổng đƣợc phát hiện và đƣợc cập nhật bản vá lỗi, rất có
thể sau khi cập nhật bản vá lỗi cho hệ điều hành thì tƣờng lửa không hoạt động
bình thƣờng nhƣ trƣớc, do đó cần tiến hành cập nhật bản vá cho tƣờng lửa từ
nhà cung cấp sản phẩm tƣờng lửa.
Do hệ điều hành mà tƣờng lửa ứng dụng chạy trên nó không đƣợc thiết
kế tối ƣu cho tƣờng lửa nên tƣờng lửa mềm có hiệu suất thấp hơn tƣờng lửa
cứng.
Một số sản phẩm tƣờng lửa ứng dụng nhƣ SunScreen firewall,
IPF,Microsoft ISA server, Check Point NG, Linux’s IPTables…
Hình 2. 13 Application firewall
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 31
II.3.3 Statefull Firewall (Tƣờng lửa trạng thái)
Là một dạng tƣờng lửa thông minh,kết hợp đƣợc cả hai dạng tƣờng lửa
phía trên.nó kiểm soát ở cả bảy tầng của mô hình OSI.
Nó không những kiểm tra gói tin bao gồm cấu trúc, dữ liệu gói tin … mà
kiểm tra cả trạng thái gói tin khi đi qua nó.
Hình 2. 14 Statefull Firewall
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 32
CHƢƠNG 3
TÌM HIỂU VỀ IPTABLES TRÊN HỆ ĐIỀU HÀNH
LINUX
I.Giới thiệu về Iptables
I.1 Khái niệm Iptables
Iptables là một gói 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 do Netfilter Organiztion viết ra để tăng tính năng bảo
mật trên hệ thống Linux. Netfilter/Iptables gồm 2 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 để đẩy các luật của ngƣời dùng vào cho Netfiler 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.Iptables 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 gói tin hiệu quả.
 Lọc gói tin dựa vào địa chỉ MAC (Media Access Control) và một số cờ
hiệu 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 (Network Address Translation)
 Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 33
Hình 3. 1 Vị trí của Iptables
I.2 Cài đặt Iptables
Iptable là một tƣờng lửa cài đặt mặc định trong hệ thống Linux.Nhƣng
nó cho tất cả các Traffic truy cập theo mặc định. Gói của iptables là iptables-
version.rpm hoặc iptables-version.tgz…ta có thể dùng lệnh để cài đặt gói này :
$ rpm –ivh iptables-version.rpm đối Red Hat
$ apt-get install iptables đối với Debian
- Kiểm tra Iptables đã đƣợc cài đặt hay chƣa bằng lênh : #rpm –qa
iptables
- Khởi động iptables: service iptables start
- Cho phép Iptables khởi động cùng lúc với hệ thống : #chkconfig
iptables on
- Tắt iptables: service iptables stop
- Khởi động lại iptables: service iptables restart
- Xác định trạng thái iptables: service iptables status
I.3 Cú pháp Iptables
Cú pháp của Iptables có dạng nhƣ sau:
#iptables [-t table-name] <command><chain-name> match [–j target]
Trong đó :
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 34
-t (tables) : xác đinh table sẽ chịu tác động của lệnh. Trong
trƣờng hợp không chỉ ra tên bảng, mặc định iptables sẽ thực hiện các lệnh trên
bảng filter
-command : Tên lệnh sẽ thực hiện trên bảng đƣợc chỉ ra,(thêm
hay xoá một luật trong chuỗi luật nào đó).
-chain-name : Tên của chuỗi luật sẽ chịu tác động của lệnh.
- match : Là nội dung của luật. Match là các cặp điều kiện và giá
trị của nó, xác định gói tin sẽ chịu tác động của luật.
-j target Chỉ ra hành động (target) sẽ tác động vào một gói tin khi
gói tin đó đáp ứng đƣợc luật (match) chỉ ra.
Ví dụ một vài câu lệnh iptables
- Cho phép tất cả các gói tin tcp đi vào cổng 22
#iptables –A INPUT –p tcp –dport 22 –j ACCEPT
- Firewall chấp nhận cho bất kỳ gói tin TCP đi vào từ intafece eth0 đến địa chỉ
192.168.1.1
#iptables –A INPUT –s 0/0 –i eth0 –d 192.168.1.1 –p TCP –j ACCEPT
- Cấm máy tính có địa chỉ ip 192.168.1.2 ping tới server
# iptables –A INPUT –s 192.168.1.2 –p icmp – icmp-type any –j REJECT
I.4 Cấu trúc của Iptables
Trong iptables chia ra thành các bảng (tables), trong mỗi bảng sẽ chia ra
thành nhiều chuỗi(chains) để xử lý packet tùy theo tình huống (hƣớng đi của
packets),trong mỗi chain sẽ có các luật(rules) mà mình sẽ cấu hình để xử lý các
packets tƣơng ứng với mỗi chain.Iptables đƣợc chia làm 4 bảng nhƣ sau:
 Filter table: dùng đề lọc gói dữ liệu,trong nó có 3 chains :
 Forward chain: xử lý và chuyển tiếp các gói tin.
 Input chain: xử lý các gói tin đi vào.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 35
 Output chain: xử lý các gói tin đi ra.
Hình 3. 2 Quá trình xử lý gói tin bảng filter
 NAT table: thực thi các chức năng NAT (Network Address
Translation), gồm 2 chains sau:
 Pre-routing chain: NAT từ ngoài vào trong nội bộ. Quá trình
NAT sẽ thay đổi địa chỉ đích (Destination) của gói dữ liệu khi
cần thiết.
 Post-routing chain: NAT từ trong ra ngoài. Quá trình NAT sẽ
thay đổi địa chỉ nguồn (Source) của gói dữ liệu khi cần thiết.
Hình 3. 3 Quá trình xử lý gói tin trong bảng NAT
 Mangle table: chịu trách nhiệm biến đổi Qos ( quality of service) bits
trong TCP header.
Hình 3. 4 Quá trình xử lý gói tin trong bảng Mangle
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 36
 Conntrack table: theo dõi các kết nối
I.5 Quá trình chuyển dữ liệu qua Netfilter
Iptables sẽ kiểm tra tất cả các gói khi nó đi qua iptables host, quá trình
kiểm tra này đƣợc thực hiện tuần tự từ entries đầu tiên đến entries cuối cùng.
Iptables tổ chức phân loại dựa theo cách thức xử lý gói tin. Các gói tin
này đƣợc xử lý qua các bảng, trong mổi bảng có phân biệt gói tin đi vào
(INPUT), đi ra (OUTPUT) hoặc chuyển tiếp (FORWARD). Hay một số cách
thức biến đổi địa chỉ nguồn, đích gọi là NAT bao gồm việc biến đổi địa chỉ
nguồn thành đích gọi là PREROUTING, và đích thành nguồn gọi là
POSTROUTING ngƣời ta gọi đó là các chuỗi(chain). Trong mổi chain sẽ có
những luật để quyết định xử lý gói tin nhƣ thế nào: cho phép chuyển gói tin
(ACCEPT), chặn và báo lại gói tin cho ngƣời gởi (REJECT), chặn gói tin
(DROP).
Hình 3. 5 Mô hình hoạt động của Iptables
Gói dữ liệu (packet) chạy trên cáp, sau đó đi vào card mạng. Đầu tiên
packet sẽ qua chain PREROUTING (trƣớc khi định tuyến). Tại đây, packet có
thể bị thay đổi thông số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với
packet đi vào máy, nó sẽ qua chain INPUT.
Tại chain INPUT, packet có thể đƣợc chấp nhận hoặc bị hủy bỏ. Tiếp
theo packet sẽ đƣợc chuyển lên cho các ứng dụng (client/server) xử lí và tiếp
theo là đƣợc chuyển ra chain OUTPUT.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 37
Tại chain OUTPUT, packet có thể bị thay đổi các thông số và bị lọc
chấp nhận ra hay bị hủy bỏ. Đối với packet forward qua máy, packet sau khi rời
chain PREROUTING sẽ qua chain FORWARD.
Tại chain FORWARD, nó cũng bị lọc ACCEPT hoặc DENY. Packet
sau khi qua chain FORWARD hoặc chain OUTPUT sẽ đến chain
POSTROUTING (sau khi định tuyến).
Tại chain POSTROUTING, packet có thể đƣợc đổi địa chỉ IP nguồn
(SNAT) hoặc MASQUERADE. Packet sau khi ra card mạng sẽ đƣợc chuyển
lên cáp để đi đến máy tính khác trên mạng.
Tóm tắt trình tự xử lý gói tin của iptables:
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 38
Hình 3. 6 Trình tự xử lý gói tin trên Iptables
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 39
Đầu tiên, gói dữ liệu đến mạng A, tiếp đó nó đƣợc kiểm tra bởi bảng
Mangle PREROUTING chain ( nếu cần) . Tiếp theo là kiểm tra gói dữ liệu bởi
bảng NAT PREPROUTING chain để kiểm tra gói dữ liệu có cần DNAT hay
không ?. Nếu cần, DNAT sẽ thay đổi đích đến của packet. Rồi gói packet đƣợc
chuyển đi.
Nếu gói packet đi vào trong mạng đƣợc bảo vệ, thì nó sẽ đƣợc lọc bởi
FORWARD chain của Filte 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, nếu gói dữ liệu qua đƣợc các
chain này trong INPUT chain thì sẽ đƣợc vào trong chƣơng trình của các host
ben trong Firewall.
Khi Firewall cần gởi gói packet ra ngoài, gói packet 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 có cần thiết 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 packet ra
ngoài, SNAT và Qó sẽ đƣợc kiểm tra trong POSTROUTING chain.
I.6 Target và Jumps trong iptables
Jump là cơ chế chuyển một packet đến một target nào đó để xử lý
thêm một số thao tác khác.
Target là hành động sẽ dễ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 target mà
iptables sẽ sử dụng.
Bảng 1. 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
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 40
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
nghĩa sẳn. Thông thƣờnglà để
thông báo lý do vì sao gói bị
bỏ.
REJECT Tƣơng tự nhƣ DROP, nhƣng nó sẽ
trả lại cho phía ngƣời gửi một
thong báo rằng gói đã bị chặn và
loại bỏ
--reject-with qualifier
Than 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ỉ
iptables 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
của địa chỉ nguồn của gói dữ liệu .
--to-source <address>[-
<address>][:<port>-
<port>]
Miêu tả IP và port sẽ đƣợc
viết lại bởi iptables
MASQUER
ADE
Dùng để thực hiện Source
Networkaddress Translation.
[--to-ports <port>[-
<port>]]
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 41
Ghi rõ tầm các port nguồn
gốc có thể ánh xạ đƣợc .
I.7 Các tham số dòng lệnh thƣờng dùng trong iptables
Các tham số sau sẽ cho phép iptables thực hiện các hành động sao cho
phù hợp với biểu đồ xử lý gói do ngƣời dùng hoạch định sẳn.
Bảng 2. Các tham số chuyển mạch quan trọng của iptables
Lệnh switching quan trọng Ý nghĩa
-t <table> Nếu bạn không chỉ định rõ là tables nào, thì filter tables
sẽ đƣợc áp dụng. Có 3 loại tables là filter, NAT, mangle
-j <target> Nhảy đến một chuổi targets nào đó khi gói dữ liệu phù
hợp quy luật hiện tại
-A Nối thêm 1 quy luật nà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 <protocol-type> Phù hợp với giao thức (Protocols) thông thƣờng là icmp,
tcp, udp và all
-s <ip-address> Phù hợp với ip nguồn
-d <ip-address> Phù hợp với ip đích
-i <interface-name> Phù hợp điều kiện INPUT khi gói dữ liệu đi vào firewall
-o <interface-name> Phù hợp điều kiện OUTPUT khi gói dữ liệu đi ra khỏi
firewall
Ví dụ:
iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT
iptables đƣợc cấu hình cho phép ―firewall ― chấp nhận các gói dữ liệu sử
dụng giao thức (protocols) là TCP, có địa chỉ nguồn bất kỳ( 0/0), đến card
mạng eth0 và đến đích có địa chỉ IP 192.168.1.1 là địa chỉ của firewall.
Bảng 3. Các điều kiện TCP và UDP thông dụng
Lệnh switching Miêu tả
-p tcp --sport <port> Điều kiện TCP port nguồn (source port). Có thể là một
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 42
giá trị hoặc một chuỗi có dạng: start-port-number:end-
port-number
-p tcp --dport <port> Đ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ầu cần kết nối mới
-p udp --sport <port> Điều kiện UDP port đích (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 <port> Điều kiện UDP port đích (source port)
Có thể là một giá trị hoặc một chuổi có dạng: starting-
port:ending-port
Ví dụ:
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
thức là TCP, có địa chỉ nguồn là bất kỳ (0/0) đi đến card mạng eth0 có địa chỉ
192.168.1.58, đi ra từ card mạng eth1, có source port từ 1024 – 65535 và port
đích là 80.
Bảng 4. Điều kiện ICMP
Lệnh Miêu tả
--icmp-type <type> Thƣờng dùng nhất là echo-reply và eho-request
Một ví dụ về ICMP:
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 eho-
repuests (pings) và gửi trả lời các ICMP echo-replies.
Một ví dụ khác:
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 43
iptables -A INPUT -p icmp --icmp-type echo-request -m limit –limit 1/s -i
eth0 -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ó thể định thời gian theo định dạng second, minute, hour hoặc day.
Hoặc xử dụng dạng viết tắt 3/s thay vì 3/second.Trong ví dụ này ICMP echo-
request 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 giảm bớt các lƣu lƣợng lớn các kết nối trong 1 thời gian
nhất định . Đây chính là đặc tính của tấn công từ chối dịch vụ(DOS) và sâu
Internet
iptables -A INPUT -p tcp --syn -m limit --limit 5/s –I eth0 -j ACCEPT
Bạn 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á 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 floot bằng cách hạn chế sự chấp nhận các phân
đoạn TCP có bít SYS không nhiều hơn 5 phân đoạn trong 1 giây.
Bảng 5. Các điều kiện mở rộng thông dụng
Lệnh Ý nghĩa
-m multiport --sport <port,
port>
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 <port,
port>
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à 1 chuổi các port. Không phân
biệt port đích hay port nguồn
-m multiport --ports <port,
port>
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ả 2 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 1 kết nối phụ.
Thông thƣờng đây là đặc điểm của các giao thức
nhƣ FTP hoặc lỗi của 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 do lỗi của ICMP không trùng với một
luồng dữ liệu đã có sẳn .
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 44
Đây là phần mở rộng tiếp theo của ví dụ trước :
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ác gói dữ liệu có
giao thức là TCP, đến từ card mạng eth0, ip nguồn là bất kỳ, đi đến địa chỉ
192.168.1.58 qua card mạng eth1. Số port nguồn là từ 1024 đến 65535 và port
đích là 80(http) và 443(https). Đến khi các gói dữ liệu nhận, trở lại từ
192.168.1.58, thay vì mở các port nguồn và đích, Chỉ cần cho phép dùng kết
nối cũ đã thiết lập bằng cách dùng tham số --state ESTABLISHED.
I.8 Sử dụng các chuỗi tự định nghĩa
Thay vì sử dụng các chain đã đƣợc xây dựng trong iptables,
ta có thể sử dụng User Defined chains để định nghĩa một chain name mô
tả cho tất cả protocol-type cho packet. Ta có thể dùng User Defined chains thay
thế chain dài dòng bằng cách sử dụng chain chính chỉ đến nhiều chain con.
Ví dụ: ta có thể sử dụng chain này để quyết định 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.
Các lệnh giúp việc cải tiến tốc độ xử lý:
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
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 45
Bảng 6. Danh sách các lệnh (Queues)
Chain Description
INPUT Đƣợc xây dƣng trong INPUT chain trong bảng iptables
OUTPUT Đƣợc xây dựng trong OUTPUT chain trong bảng
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 rêng cho giao thức ICMP
icmp-queue-in Lệnh INPUT tách rêng cho giao thức ICMP
I.9 NAT trong iptables
NAT ( Network Address Translation ) là một kỹ thuật dùng để giải
quyết vấn đề IP shortage. NAT hoạt động nhƣ một router , công việc của nó là
chuyển tiếp các gói tin giữa các lớp mạng khác nhau trên một hệ thống mạng
lớn.
NAT trong iptables có thể hoạt động trên nhiều chức năng khác nhau
dựa trên thao tác với địa chỉ ( đích hoặc nguồn ) và các cổng. NAT trong
iptables hỗ trợ các module để giúp nhúng địa chỉ vào các gói dữ liệu đƣợc trao
đổi theo các giao thức.
Bảng 7 NAT trong iptables
Helper Protocol
ip_nat_amanda Amanda backup protocol (cần cấu hình file
CONFIG_IP_NF_NAT_AMANDA)
ip_nat_ftp File Transfer Protocol (cần cấu hình file
CONFIG_IP_NF_NAT_FTP )
ip_nat_irc Internet Relay Chat (cần cấu hình file
CONFIG_IP_NF_NAT_IRC )
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 46
ip_nat_snmp_basic Simple Network Management Protocol
(cần cấu hình file
CONFIG_IP_NF_NAT_SNMP_BASIC)
ip_nat_tftp Trivial File Transfer Protocol (cần cấu
hình file CONFIG_IP_NF_NAT_TFTP)
Nếu muốn một số gói tin nào đó vƣợt qua bảng NAT, chúng ta sử dụng lệnh:
#iptables -t nat -i eth1 ... -j ACCEPT
Source NAT (SNAT) và Destination NAT (DNAT) thƣờng đƣợc dùng
để chia sẻ kết nối internet giữa các máy tính trong mạng nội bộ . Máy tính khi
kết nối internet đƣợc xem nhƣ là một gateway . Source NAT (SNAT) sẽ thay
đổi địa chỉ nguồn của các gói tin di ra internet bằng địa chỉ Ip internet tĩnh của
gateway. Khi gateway nhận đƣợc các gói tin trả về từ internet , Destination
NAT (DNAT) sẽ thay đổi địa chỉ đích của các gói tin rồi chuyển đến các máy
tính trong mạng nội bộ.
Trong Iptables POSTROUTING chain của bảng NAT sẽ đảm nhận công
việc Source SNAT.Source NAT có hai phần mở rộng đó là SNAT và
MASQUERADE.SNAT đƣợc sử dụng cho các máy tính gateway có địa chỉ IP
tĩnh, còn MASQUERADE dùng cho các máy tính gateway có địa chỉ IP động.
Chúng ta có thể thiết lập SNAT trên giao diện eth1 bằng lệnh :
#iptables -t nat -A POSTROUTING -o eth1 -j SNAT
Và với MASQUERADE :
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Tƣơng tự nhƣ vậy PREROUTING chain của bảng NAT sẽ đảm nhận
công việc Destination NAT (DNAT) . Ví dụ
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j
DNAT --to-destination 192.168.1.3:8080
Câu lệnh trên cho phép những gói tin di vào từ interface eth1 với giao
thức tcp cổng đƣợc chuyển đến địa chỉ IP 192.168.1.3 với số hiệu port 8080
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 47
I.10 Ví dụ về một số rule trên Iptables
 Cho phép DNS hoạt động
#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
 Mở cổng cho phép WEB và SSL hoạt động
#iptables -A OUTPUT -o eth0 -m state --state
ESTABLISHED,RELATED -j ACCEPT
#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
 Cho phép máy firewall vào WEB
#iptables -A OUTPUT -j ACCEPT -m state --state NEW -o eth0 –p tcp -
m multiport --dport 80,443
#iptables -A INPUT -j ACCEPT -m state --state
STABLISHED,RELATED -i eth0 –p tcp
 Cho phép máy tính mạng nội bộ vào internet thông qua interface eth1
#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
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 48
II.Triển khái iptables trên Redhat
II.1 Mô hình triển khai
Giả sử công ty A có mô mình mạng nhƣ sau :
Hình 3. 7 Sơ đồ mạng công ty A
Theo sơ đồ ta thấy :
o Client : card mạng có địa chỉ ip là 192.168.1.2 đƣợc nối vào card
eth0 iptables firewall
o Server : card mạng có địa chỉ ip là 192.168.2.2 đƣợc nối vào card
eth1 của Iptables firewall
o Firewall có 2 card mạng :
 Eth0 : có địa chỉ ip là 192.168.1.1 đƣợc kết nối với Client
 Eth1 : có địa chỉ ip là 192.168.2.1 đƣợc kết nối với server
II.2 Thiết lập iptables trên redhat
II.2.1 Cấm ssh đến firewall
Theo sự chỉ đạo của giám đốc công ty, chỉ có mỗi quản trị viên với địa
chỉ IP 192.168.1.3/24 mới đƣợc quyền truy cập SSH đến FireWall, còn lại tất
cả các máy nội bộ khác không đƣợc truy cập vào Firewall.
Ta cấu hình Iptables nhƣ sau :
#iptables -A INPUT -s 192.168.1.3 -i eth0 -p tcp -m tcp --dport 22 -j
ACCEPT
#iptables -A INPUT -s 192.168.1.0/24 -i eth0 -p tcp -m tcp --dport 22 -j
DROP
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 49
Khi đó, tại máy client thuộc mạng 192.168.1.0/24 có địa chỉ IP 192.168.1.3 của
quản trị viên mới kết nối SSH đƣợc với Firewall. Ta sử dụng SSH Client đển
kết nối với Firewall nhƣ hình vẽ, ta nhập các thông tin của Host Name, User
Name của Firewall vào, Port Number mặc định là 22
Ta nhập Password của User
Sau khi kết nối thành công với câu lệnh ifconfig
Với một địa chỉ IP khác nhƣ 192.168.1.2/24 thì ta sẽ không login đƣợc
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 50
II.2.2 Cấm Ping đến Firewall
Quản trị viên sẽ giới hạn độ dài của gói tin.Ví dụ ở đây là gói tin icmp, với
mỗi gói icmp nếu độ dài length <65 thì sẽ đƣợc gởi đến và phản hồi từ Firewall, còn
gói icmp >64 thì sẽ gởi đến Firewall, Firewall sẽ không gởi phản hồi lại.
Ta sử dụng lệnh :
#iptables –A INPUT –p icmp –icmp-type ping –m length 64:65535 –j
ACCEPT
Tại FireWall, ta sử dụng lệnh tcpdum host 192.168.1.1 để xem các gói
tin kết nối với Firewall.
Tại máy Client, ta sử dụng lệnh Ping với length <64 thì đƣợc kết quả :
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 51
Tại máy Firewall với lệnh tcpdum host 192.168.1.1:
Với lệnh ping từ máy client có length >100 ta đƣợc hiện thông báo
Request time out ngay.
Tại máy server với lệnh tcpdum host 192.168.1.1:
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 52
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 53
KẾT LUẬN
Báo cáo này em mới chỉ dừng lại ở mức độ tìm hiểu, qua đó để hiểu rõ
hơn hệ điều hành Linux. Báo cáo đƣơc triển khai một cách khái quát, chƣa đi
vào cụ thể, mô hình mạng chỉ là một mô hình đơn giản, dựa trên các tài nguyên
có sẵn trên Linux.
Những gì mà chúng em vừa trình bày cho thấy việc cấu hình cho
Netfilter/Iptables là công việc không đơn giản. Để cấu hình tốt thì chúng ta
phải hiểu thật sâu về nó. Đa số hệ thống mạng của chúng ta bị tấn công là do
cấu hình không đúng.
Chúng em xin tổng kết lại những mặt đã làm đƣợc và những mặt còn tồn
tại:
 Những mặt chúng em đã làm được: Đã đọc và tìm hiểu về
Netfilter/Iptables, có hiểu biết cơ bản để cấu hình một firewall trên hệ
thống linux. Hoàn thành tốt việc thiết lập một số rules trên Redhat.
 Những mặt chúng em chưa làm được : Có một số cấu hình chúng em
chƣa thực hiện thành công, Một số dịch vụ chúng em đã đặt Rule nhƣng
chƣa có tác dụng.
Hƣớng phát triển của chúng em trong thời gian tới là tiếp tục tìm hiểu tài
liệu, nghiên cứu sâu hơn để có thể cấu hình tiếp những gì mà chúng em chƣa
hoàn thành. Từ đó có thể tự xây dựng cho mình một hệ thống Firewall an toàn.
Tìm hiểu và cấu hình IPTables trên hệ điều hành linux
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 54
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thị Điệp và Tiêu Đông Nhơn.Giáo trình Dịch vụ mạng Linux.Đại
học Quốc Gia Thành phố Hồ ChíMinh 12/2005.
[2] Nguyễn Hồng Thái. Cài đặt và cấu hình Ipables.2004,96tr
[3] Nguyễn Thanh Thúy, Nguyễn Quang Huy, Nguyễn Hữu Đức, Đinh Lan
Anh .Nhập môn hệ điều hành Linux.NXB Khoa học kỹ thuật 2000.
[4] O'Reilly Media. Linux iptables pocket reference
[5] Christopher Negus and Christine Bresnahan. CentOS Bible.938 trang
[6] Emmett Dulaney.Linux All in One For Dummies.652tr
[4] http://vnexperts.net/bai-viet-ky-thuat/nix/607-linux-distribution-distro.html
[5]http://www.pcworld.com.vn/articles/cong-nghe/cong-
nghe/2011/01/1223414/mot-so-linux-distro-pho-bien/
[6] http://vi.wikipedia.org/wiki/Linux
[7] http://my.opera.com/hautp/blog/
[8]http://www.quantrimang.com.vn/kienthuc/kien-thuc-co-ban/14320_Tim-
hieu-ve-FireWall.aspx
[9] http://docstore.mik.ua/orelly/networking/firewall/
[10]http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_
Ch14_:_Linux_Firewalls_Using_iptables

More Related Content

What's hot

Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760nataliej4
 
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008laonap166
 
Báo Cáo Lần 1.pptx
Báo Cáo Lần 1.pptxBáo Cáo Lần 1.pptx
Báo Cáo Lần 1.pptxHiuNguynMinh76
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...nataliej4
 
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...nataliej4
 
Báo cáo tiểu luận hệ thống tên miền dns - học viện bưu chính viễn thông
Báo cáo tiểu luận   hệ thống tên miền dns - học viện bưu chính viễn thôngBáo cáo tiểu luận   hệ thống tên miền dns - học viện bưu chính viễn thông
Báo cáo tiểu luận hệ thống tên miền dns - học viện bưu chính viễn thônghttps://www.facebook.com/garmentspace
 
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên Android
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên AndroidBáo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên Android
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên AndroidDlinh Truong
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGThùy Linh
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITNguynMinh294
 
Bao cao da lap trinh manh
Bao cao da lap trinh manhBao cao da lap trinh manh
Bao cao da lap trinh manhBồ Công Anh
 
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy Tính
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy TínhThiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy Tính
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy TínhDịch vụ Làm Luận Văn 0936885877
 
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm hưng yên ...
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm   hưng yên ...đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm   hưng yên ...
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm hưng yên ...Hate To Love
 
Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựnghieu anh
 
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 

What's hot (20)

Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
Triền khai firewall thế hệ mới bảo vệ hệ thống mạng doanh nghiệp 9314760
 
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
Xây dựng hệ thống mạng cho Công Ty Cổ Phần Trường Tân trên nền tảng server 2008
 
firewall
firewallfirewall
firewall
 
Báo Cáo Lần 1.pptx
Báo Cáo Lần 1.pptxBáo Cáo Lần 1.pptx
Báo Cáo Lần 1.pptx
 
Đề tài: Giải pháp nâng cao hiệu quả hoạt động xuất nhập khẩu
Đề tài: Giải pháp nâng cao hiệu quả hoạt động xuất nhập khẩuĐề tài: Giải pháp nâng cao hiệu quả hoạt động xuất nhập khẩu
Đề tài: Giải pháp nâng cao hiệu quả hoạt động xuất nhập khẩu
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
 
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...
Bc thực tập nghiên cứu, phát triển xây dựng hệ thống giám sát mạng bằng phần ...
 
Báo cáo tiểu luận hệ thống tên miền dns - học viện bưu chính viễn thông
Báo cáo tiểu luận   hệ thống tên miền dns - học viện bưu chính viễn thôngBáo cáo tiểu luận   hệ thống tên miền dns - học viện bưu chính viễn thông
Báo cáo tiểu luận hệ thống tên miền dns - học viện bưu chính viễn thông
 
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên Android
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên AndroidBáo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên Android
Báo Cáo Đề Tài Xây Dựng Phần Mềm Quản Lí Khách Hàng Trên Android
 
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạngBáo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
Đề tài: Lập dự án đầu tư mở trung tâm đào tạo và việc làm
Đề tài: Lập dự án đầu tư mở trung tâm đào tạo và việc làmĐề tài: Lập dự án đầu tư mở trung tâm đào tạo và việc làm
Đề tài: Lập dự án đầu tư mở trung tâm đào tạo và việc làm
 
Slide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTITSlide An toàn mạng nâng cao PTIT
Slide An toàn mạng nâng cao PTIT
 
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSSĐề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
Đề tài: Xây dựng ứng dụng Android đọc báo mạng qua dịch vụ RSS
 
Bao cao da lap trinh manh
Bao cao da lap trinh manhBao cao da lap trinh manh
Bao cao da lap trinh manh
 
Đề tài: Hệ thống quản lý ký túc xá đại học, HAY
Đề tài: Hệ thống quản lý ký túc xá đại học, HAYĐề tài: Hệ thống quản lý ký túc xá đại học, HAY
Đề tài: Hệ thống quản lý ký túc xá đại học, HAY
 
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy Tính
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy TínhThiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy Tính
Thiết Kế Xây Dựng Triển Khai Và Quản Lý Phòng Lab Máy Tính
 
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm hưng yên ...
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm   hưng yên ...đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm   hưng yên ...
đồ áN khảo sát, thiết kế và xây dựng mạng lan trường thpt văn lâm hưng yên ...
 
Quản lý cửa hàng vật liệu xây dựng
 Quản lý cửa hàng vật liệu xây dựng Quản lý cửa hàng vật liệu xây dựng
Quản lý cửa hàng vật liệu xây dựng
 
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
Luận văn Thạc sĩ Nghiên cứu triển khai giải pháp đảm bảo an ninh mạng trên nề...
 

Similar to Bao cao thuc tap vdc tranning da nang la xuan tam,tran canh ngo

Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tapLeo Aurico
 
Bao cao thuc tap ck
Bao cao thuc tap ckBao cao thuc tap ck
Bao cao thuc tap ckice_eyes
 
Maubaocao thuctap totnghiepcntt
Maubaocao thuctap totnghiepcnttMaubaocao thuctap totnghiepcntt
Maubaocao thuctap totnghiepcnttHiếu Ngô
 
Bao cao ck update final
Bao cao ck update finalBao cao ck update final
Bao cao ck update finalDuy Nguyen
 
Nguyenthithuhien_baocaothuctap
Nguyenthithuhien_baocaothuctapNguyenthithuhien_baocaothuctap
Nguyenthithuhien_baocaothuctapThu Hien
 
Linux web hosting (Bao cao)
Linux web hosting (Bao cao)Linux web hosting (Bao cao)
Linux web hosting (Bao cao)An Pham
 
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãi
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãiThiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãi
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãiHate To Love
 
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng JoomlaBáo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng JoomlaNgoc Son
 
Báo cáo thực tập Athena
Báo cáo thực tập AthenaBáo cáo thực tập Athena
Báo cáo thực tập AthenaKhánh Trung Lý
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008Khanh Dinh
 
Bao cao gk
Bao cao gkBao cao gk
Bao cao gkice_eyes
 
Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua kyice_eyes
 
Bao cao gk
Bao cao gkBao cao gk
Bao cao gkice_eyes
 
Baocaothuctapcuoiky
BaocaothuctapcuoikyBaocaothuctapcuoiky
BaocaothuctapcuoikyVăn Tiến
 
Báo cáo thực tập ATHENA
Báo cáo thực tập ATHENA Báo cáo thực tập ATHENA
Báo cáo thực tập ATHENA Ljck Cljck
 

Similar to Bao cao thuc tap vdc tranning da nang la xuan tam,tran canh ngo (20)

Bao cao thuc tap
Bao cao thuc tapBao cao thuc tap
Bao cao thuc tap
 
Bao cao thuc tap ck
Bao cao thuc tap ckBao cao thuc tap ck
Bao cao thuc tap ck
 
Maubaocao thuctap totnghiepcntt
Maubaocao thuctap totnghiepcnttMaubaocao thuctap totnghiepcntt
Maubaocao thuctap totnghiepcntt
 
Bao cao ck update final
Bao cao ck update finalBao cao ck update final
Bao cao ck update final
 
Nguyenthithuhien_baocaothuctap
Nguyenthithuhien_baocaothuctapNguyenthithuhien_baocaothuctap
Nguyenthithuhien_baocaothuctap
 
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAYĐề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
 
Linux web hosting (Bao cao)
Linux web hosting (Bao cao)Linux web hosting (Bao cao)
Linux web hosting (Bao cao)
 
bao cao cuoi ki
bao cao cuoi kibao cao cuoi ki
bao cao cuoi ki
 
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãi
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãiThiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãi
Thiết kế hệ thống mạng tại bưu điện tỉnh quảng ngãi
 
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng JoomlaBáo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
 
báo cáo cuối kì
báo cáo cuối kìbáo cáo cuối kì
báo cáo cuối kì
 
Báo cáo thực tập Athena
Báo cáo thực tập AthenaBáo cáo thực tập Athena
Báo cáo thực tập Athena
 
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008nghiên cứu và triển khai các dịch vụ mạng windows server 2008
nghiên cứu và triển khai các dịch vụ mạng windows server 2008
 
Bao cao gk
Bao cao gkBao cao gk
Bao cao gk
 
Bao cao giua ky
Bao cao giua kyBao cao giua ky
Bao cao giua ky
 
Bao cao gk
Bao cao gkBao cao gk
Bao cao gk
 
Đề tài: Tìm hiểu xây dựng website môn học bằng CANVÁS, HAY
Đề tài: Tìm hiểu xây dựng website môn học bằng CANVÁS, HAYĐề tài: Tìm hiểu xây dựng website môn học bằng CANVÁS, HAY
Đề tài: Tìm hiểu xây dựng website môn học bằng CANVÁS, HAY
 
Baocaothuctapcuoiky
BaocaothuctapcuoikyBaocaothuctapcuoiky
Baocaothuctapcuoiky
 
Báo cáo thực tập ATHENA
Báo cáo thực tập ATHENA Báo cáo thực tập ATHENA
Báo cáo thực tập ATHENA
 
Báo Cáo Cuối kỳ CNTT ATHENA
Báo Cáo Cuối kỳ CNTT ATHENABáo Cáo Cuối kỳ CNTT ATHENA
Báo Cáo Cuối kỳ CNTT ATHENA
 

More from Hate To Love

Anhcd khoi a1_d_2014_giao_duc_9683
Anhcd khoi a1_d_2014_giao_duc_9683Anhcd khoi a1_d_2014_giao_duc_9683
Anhcd khoi a1_d_2014_giao_duc_9683Hate To Love
 
Chuong 15 lan-internet
Chuong 15 lan-internetChuong 15 lan-internet
Chuong 15 lan-internetHate To Love
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magicHate To Love
 
Chuong 12 setup-win-xp
Chuong 12 setup-win-xpChuong 12 setup-win-xp
Chuong 12 setup-win-xpHate To Love
 
Chuong 11 setup-win98
Chuong 11 setup-win98Chuong 11 setup-win98
Chuong 11 setup-win98Hate To Love
 
Chuong 10 laprap-mt
Chuong 10 laprap-mtChuong 10 laprap-mt
Chuong 10 laprap-mtHate To Love
 
Chuong 8 key-mouse
Chuong 8 key-mouseChuong 8 key-mouse
Chuong 8 key-mouseHate To Love
 
Chuong 3 mainboard
Chuong 3 mainboardChuong 3 mainboard
Chuong 3 mainboardHate To Love
 
Chuong 2 case-power
Chuong 2 case-powerChuong 2 case-power
Chuong 2 case-powerHate To Love
 
Khai niem ve mang lan
Khai niem ve mang lanKhai niem ve mang lan
Khai niem ve mang lanHate To Love
 
Cac buoc thiet lap mang lan
Cac buoc thiet lap mang lanCac buoc thiet lap mang lan
Cac buoc thiet lap mang lanHate To Love
 
Cac buoc thiet lap mang lan(tiep)
Cac buoc thiet lap mang lan(tiep)Cac buoc thiet lap mang lan(tiep)
Cac buoc thiet lap mang lan(tiep)Hate To Love
 

More from Hate To Love (20)

Anhcd khoi a1_d_2014_giao_duc_9683
Anhcd khoi a1_d_2014_giao_duc_9683Anhcd khoi a1_d_2014_giao_duc_9683
Anhcd khoi a1_d_2014_giao_duc_9683
 
Chuong 16 suachua
Chuong 16 suachuaChuong 16 suachua
Chuong 16 suachua
 
Chuong 15 lan-internet
Chuong 15 lan-internetChuong 15 lan-internet
Chuong 15 lan-internet
 
Chuong 14 pq-magic
Chuong 14 pq-magicChuong 14 pq-magic
Chuong 14 pq-magic
 
Chuong 13 ghost
Chuong 13 ghostChuong 13 ghost
Chuong 13 ghost
 
Chuong 12 setup-win-xp
Chuong 12 setup-win-xpChuong 12 setup-win-xp
Chuong 12 setup-win-xp
 
Chuong 11 setup-win98
Chuong 11 setup-win98Chuong 11 setup-win98
Chuong 11 setup-win98
 
Chuong 10 laprap-mt
Chuong 10 laprap-mtChuong 10 laprap-mt
Chuong 10 laprap-mt
 
Chuong 9 cards
Chuong 9 cardsChuong 9 cards
Chuong 9 cards
 
Chuong 8 key-mouse
Chuong 8 key-mouseChuong 8 key-mouse
Chuong 8 key-mouse
 
Chuong 7 cd-rom
Chuong 7 cd-romChuong 7 cd-rom
Chuong 7 cd-rom
 
Chuong 6 hdd
Chuong 6 hddChuong 6 hdd
Chuong 6 hdd
 
Chuong 5 ram
Chuong 5 ramChuong 5 ram
Chuong 5 ram
 
Chuong 4 cpu
Chuong 4 cpuChuong 4 cpu
Chuong 4 cpu
 
Chuong 3 mainboard
Chuong 3 mainboardChuong 3 mainboard
Chuong 3 mainboard
 
Chuong 2 case-power
Chuong 2 case-powerChuong 2 case-power
Chuong 2 case-power
 
Chuong 1 tongquan
Chuong 1 tongquanChuong 1 tongquan
Chuong 1 tongquan
 
Khai niem ve mang lan
Khai niem ve mang lanKhai niem ve mang lan
Khai niem ve mang lan
 
Cac buoc thiet lap mang lan
Cac buoc thiet lap mang lanCac buoc thiet lap mang lan
Cac buoc thiet lap mang lan
 
Cac buoc thiet lap mang lan(tiep)
Cac buoc thiet lap mang lan(tiep)Cac buoc thiet lap mang lan(tiep)
Cac buoc thiet lap mang lan(tiep)
 

Bao cao thuc tap vdc tranning da nang la xuan tam,tran canh ngo

  • 1. ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 736 949, Fax. (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn BÁO CÁO THỰC TẬP TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : TÌM HIỂU VÀ CẤU HÌNH IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX SINH VIÊN : LÃ XUÂN TÂM (11TLT) TRẦN CANH NGỌ ĐƠN VỊ : VDC Training CBHD : Th.s NGUYỄN SONG TÙNG ĐÀ NẴNG, 01/2013
  • 2. LỜI CẢM ƠN Trong đợt thực tập vừa qua, chúng em đã nhận đƣợc sự huớng dẫn, giúp đỡ và động viên tận tình từ nhiều phía. Tất cả những điều đó đã trở thành một động lực rất lớn giúp chúng em có thể hoàn thành tốt mọi công việc đƣợc giao. Với tất cả sự cảm kích và trân trọng, chúng em xin đƣợc gửi lời cảm ơn đến tất cả mọi ngƣời. Trƣớc tiên cho chúng em đƣợc gửi lời cảm ơn đến Ban lãnh đạo Trung tâm đào tạo VDC Training Đà Nẵng đã tạo điều kiện cho chúng em đƣợc tham gia thực tập tại công ty cũng nhƣ cung cấp tất cả các cơ sở vật chất và trang thiết bị có thể cho chúng em trong thời gian vừa qua. Xin cảm ơn thầy Th.s Nguyễn Song Tùng và các anh chị trong công ty đã tận tình hƣớng dẫn giúp đỡ chúng em trong suốt thời gian em tham gia thực tập. Em cũng xin đƣợc gửi lời cảm ơn đến lãnh đạo trƣờng Đại học Bách Khoa Đà Nẵng, lãnh đạo khoa Công nghệ thông tin đã tổ chức các buổi giao lƣu giửa các doanh nghiệp và sinh viên thật sự bổ ích, giúp chúng em có cơ hội tìm đƣợc một đơn vị thực tập tốt. Xin đƣợc cảm ơn tất cả các sinh viên tham gia thực tập tại VDC Training Đà Nẵng trong đợt thực tập vừa qua, những ngƣời đã luôn sát cánh cùng chúng mình, chia sẻ, ủng hộ và giúp đỡ mình trong thời gian thực tập vừa qua. Xin trân trọng cảm ơn!
  • 3. LỜI CAM ĐOAN Tôi xin cam đoan : 1. Những nội dung trong báo cáo này là do tôi thực hiện dƣới sự hƣớng dẫn trực tiếp của thầy Th.s Nguyễn Song Tùng. 2. Mọi tham khảo dùng trong báo cáo này đều đƣợc trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 3. Mọi sao chép không hợp lệ,vi phạm quy chế đào tạo,hay gian trá,tôi xin chịu hoàn toàn trách nhiệm. Sinh viên, Lã Xuân Tâm Trần Canh Ngọ
  • 4. NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... ..........................................................................................................................................
  • 5. MỤC LỤC MỞ ĐẦU........................................................................................................................ 1 GIỚI THIỆU CHUNG ................................................................................................... 1 I. Giới thiệu về đơn vị thực tập................................................................................... 1 II. Bối cảnh đề tài........................................................................................................ 4 III.Mục đích và ý nghĩa của đề tài.............................................................................. 5 IV.Nội dung của đề tài gồm 4 phần chính.................................................................. 6 CHƢƠNG 1.................................................................................................................... 7 CÁC NHIỆM VỤ ĐƢỢC GIAO ................................................................................... 7 I.Tìm hiểu về đơn vị thực tập ..................................................................................... 7 II. Đề tài nghiên cứu ................................................................................................... 7 CHƢƠNG 2.................................................................................................................... 9 CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU ...................................................................... 9 I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX......................................................... 9 I.1 Giới thiệu về hệ điều hành Linux ...................................................................... 9 I.2 Kiến trúc hệ điều hành Linux .......................................................................... 10 I.2.1 Hạt Nhân (kernel) ..................................................................................... 10 I.2.2 Shell .......................................................................................................... 11 I.2.3 Các tiện ích ............................................................................................... 12 I.2.4 Chƣơng trình ứng dụng............................................................................. 12 I.3 Các đặc tính cơ bản của Linux ........................................................................ 12 I.3.1 Đa tiến trình .............................................................................................. 12 I.3.2 Tốc độ cao................................................................................................. 13 I.3.3 Bộ nhớ ảo.................................................................................................. 13
  • 6. I.3.4 Sử dụng chung thƣ viện ............................................................................ 13 I.3.5 Sử dụng các chƣơng trình xử lý văn bản .................................................. 13 I.3.6 Sử dụng giao diện cửa sổ.......................................................................... 13 I.3.7 Network Information Service (NIS) ........................................................ 14 I.3.8 Lập lịch hoạt động chƣơng trình, ứng dụng.............................................. 14 I.3.9 Các tiện ích sao lƣu dữ liệu....................................................................... 14 I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình.............................................................. 14 I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux ............................................... 15 I.5 Quản lý tài khoản và phân quyền trên Linux .................................................. 15 I.5.1 Quản lý tài khoản trong Linux.................................................................. 15 I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin........................................... 16 I.6 Ƣu và nhƣợc điểm của hệ điều hành Linux..................................................... 20 I.7 Một số bản phân phối(Distro) Linux phổ biến ................................................ 21 II. TỔNG QUAN VỀ FIREWALL ......................................................................... 27 II.1 Khái niệm tƣờng lửa(firewall) ....................................................................... 27 II.2. Chức năng của tƣờng lửa .............................................................................. 27 II.3. Phân loại tƣờng lửa ....................................................................................... 28 II.3.1 Packet Filtering ( tƣờng lửa lọc gói tin) .................................................. 28 II.3.2 Application firewall ( Tƣờng lửa ứng dụng ) .......................................... 29 II.3.3 Statefull Firewall (Tƣờng lửa trạng thái)................................................. 31 CHƢƠNG 3.................................................................................................................. 32 TÌM HIỂU VỀ IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX.................................... 32 I.Giới thiệu về Iptables ............................................................................................. 32 I.1 Khái niệm Iptables........................................................................................... 32
  • 7. I.2 Cài đặt Iptables ................................................................................................ 33 I.3 Cú pháp Iptables .............................................................................................. 33 I.4 Cấu trúc của Iptables ....................................................................................... 34 I.5 Quá trình chuyển dữ liệu qua Netfilter............................................................ 36 I.6 Target và Jumps trong iptables........................................................................ 39 I.7 Các tham số dòng lệnh thƣờng dùng trong iptables ........................................ 41 I.8 Sử dụng các chuỗi tự định nghĩa ..................................................................... 44 I.9 NAT trong iptables .......................................................................................... 45 I.10 Ví dụ về một số rule trên Iptables ................................................................. 47 II.Triển khái iptables trên Redhat............................................................................. 48 II.1 Mô hình triển khai.......................................................................................... 48 II.2 Thiết lập iptables trên redhat.......................................................................... 48 II.2.1 Cấm ssh đến firewall................................................................................... 48 II.2.2 Cấm Ping đến Firewall................................................................................ 50 KẾT LUẬN .................................................................................................................. 53 TÀI LIỆU THAM KHẢO............................................................................................ 54
  • 8. DANH MỤC HÌNH ẢNH , BẢNG BIỂU Hình 2. 1 Kiến trúc hệ điều hành linux ........................................................................ 10 Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux.......................................................... 15 Hình 2. 3 Quyền trên tập tin......................................................................................... 17 Hình 2. 4 Quyền đƣợc biểu diễn dƣới dạng số............................................................. 18 Hình 2. 5 Red Hat......................................................................................................... 22 Hình 2. 6 Debian .......................................................................................................... 23 Hình 2. 7 Ubuntu.......................................................................................................... 23 Hình 2. 8 Gentoo .......................................................................................................... 24 Hình 2. 9 Knoppix........................................................................................................ 24 Hình 2. 10 Slackware ................................................................................................... 25 Hình 2. 11 Mô hình tƣởng lửa cơ bản .......................................................................... 27 Hình 2. 12 Packet Filtering .......................................................................................... 29 Hình 2. 13 Application firewall.................................................................................... 30 Hình 2. 14 Statefull Firewall........................................................................................ 31 Hình 3. 1 Vị trí của Iptables ......................................................................................... 33 Hình 3. 2 Quá trình xử lý gói tin bảng filter ................................................................ 35 Hình 3. 3 Quá trình xử lý gói tin trong bảng NAT....................................................... 35 Hình 3. 4 Quá trình xử lý gói tin trong bảng Mangle................................................... 35 Hình 3. 5 Mô hình hoạt động của Iptables ................................................................... 36 Hình 3. 6 Trình tự xử lý gói tin trên Iptables ............................................................... 38 Hình 3. 7 Sơ đồ mạng công ty A.................................................................................. 48
  • 9. Bảng 1. Miêu tả các target mà Iptables thường dùng nhất.......................................... 39 Bảng 2. Các tham số chuyển mạch quan trọng của iptables ....................................... 41 Bảng 3. Các điều kiện TCP và UDP thông dụng......................................................... 41 Bảng 4. Điều kiện ICMP ............................................................................................. 42 Bảng 5. Các điều kiện mở rộng thông dụng................................................................. 43 Bảng 6. Danh sách các lệnh (Queues) ......................................................................... 45 Bảng 7 NAT trong iptables........................................................................................... 45
  • 10. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 1 MỞ ĐẦU GIỚI THIỆU CHUNG I. Giới thiệu về đơn vị thực tập  Tên đơn vị thực tập Trung tâm Đào tạo VDC Training Đà Nẵng  Địa chỉ,điện thoại trung tâm VDC Tầng 2,3 tòa nhà số 59 Trần Phú – Thành Phố Đà Nẵng Điện thoại : 0511.3840.842 – Email: training@vdc.com.vn  Hoạt động của trung tâm Trung tâm Đào tạo VDC Training là đơn vị thuộc VDC - công ty thành viên tập đoàn VNPT. VDC là doanh nghiệp hàng đầu trong lĩnh vực cung cấp dịch vụ Internet, có nhiều kinh nghiệm trong lĩnh vực tƣ vấn, thiết kế, triển khai các hệ thống hạ tầng công nghệ thông tin và chuyển giao công nghệ. VDC Training đã có hơn 7 năm kinh nghiệm trong lĩnh vực đào tạo CNTT đẳng cấp cao. Khởi đầu từ hoạt động đào tạo triển khai lắp đặt, hỗ trợ các dịch vụ Internet, Truyền số liệu, Tin học của VNPT/VDC cho các khách hàng, đại lý, đối tác và các viễn thông tỉnh/thành phố, VDC Training đã thành công trong việc phát triển thành một trung tâm đào tạo CNTT có uy tín hàng đầu ở khu vực miền Trung và Tây Nguyên nói riêng và cả nƣớc nói chung, không ngừng khẳng định là một đơn vị đào tạo đẳng cấp chuyên nghiệp, mang đến các chƣơng trình đào tạo theo chuẩn mực quốc tế cũng nhƣ đáp ứng tốt các chƣơng trình đào tạo theo yêu cầu của các tổ chức lớn, cung cấp nhiều khoá học khác nhau nhằm giúp học viên nâng cao kỹ năng làm việc cũng nhƣ mang lại lợi ích đáng kể cho các tổ chức của họ. Tính đến thời điểm hiện nay, VDC Training là đối tác đào tạo ủy quyền chính thức của Cisco, CompTIA, Pearson VUE, Prometric tại Việt Nam và cũng là thành viên mạng lƣới đối tác Microsoft.
  • 11. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 2 Tiếp nối thành công ở mảng đào tạo các chƣơng trình IT quốc tế và đặc biệt là để đáp ứng nhu cầu của khách hàng, từ năm 2011 VDC Training triển khai đào tạo các chƣơng trình về quản trị, kỹ năng mềm và ISO 27001, ISO 20000. VDC Training tự hào có đội ngũ giảng viên là các chuyên gia có trình độ chuyên môn cao, hiểu và nắm rõ phƣơng pháp sƣ phạm, nhiệt tình trong công tác đào tạo; đã đƣợc cấp các chứng chỉ Quốc tế của các tổ chức hàng đầu nhƣ Cisco, Microsoft, Oracle, Sun, CompTIA, SCP, EC Council ... tuy nhiên sự khác biệt cũng là tài sản quý nhất của VDC Training chính là kinh nghiệm làm việc thực tế của giảng viên trong môi trƣờng của một đơn vị cung cấp dịch vụ IP/Internet/Tin học hàng đầu. Đội ngũ giảng viên của VDC Training với nhiều năm kinh nghiệm làm việc trong môi trƣờng thực tế không những cung cấp cho học viên đầy đủ kiến thức lý thuyết mà còn tƣ vấn, hỗ trợ học viên vận dụng và giải quyết các tình huống thực tế. Sau khi tốt nghiệp, học viên có khả năng đáp ứng ngay các yêu cầu công việc thực tiễn. Chất lƣợng đào tạo thể hiện rõ qua kết quả thi của học viên: sau khi hoàn thành các chƣơng trình đào tạo, trên 90% học viên thi đạt điểm cao các chứng chỉ quốc tế ở ngay lần thi đầu tiên. Hiện nay, đội ngũ giảng viên của VDC Training đã đạt các chứng chỉ: CCSI, CCNA, CCNP, CCSP, CCAI, CCDP, CCIE Writtten, CWNA, SCSA, MCSE, MCITP, MCTS, MCT, CCSE, CompTIA Linux+, CompTIA Security+, SCNS, SCNP, SCNA, SCPI, CEH, CEI, Oracle DBA 10g, 11g v.v... Không dừng lại và không thỏa mãn với những gì đạt đƣợc, các giảng viên VDC Training vẫn thƣờng xuyên học tập, tham dự các khóa đào tạo nâng cao, các hội thảo công nghệ chuyên sâu trong và ngoài nƣớc để cập nhật kiến thức mới và trau dồi kỹ năng mềm, nghiệp vụ sƣ phạm. Đội ngũ giảng viên giỏi chuyên môn nghiệp vụ, nhiều kinh nghiệm, cơ sở vật chất đạt tiêu chuẩn quốc tế cùng với nội dung đào tạo bổ ích đã giúp cho VDC Training trở thành đối tác đào tạo nguồn nhân lực cho nhiều đơn vị hoạt động trong các lĩnh vực khác nhau nhƣ  Tập đoàn Bƣu chính Viễn thông Việt Nam – VNPT
  • 12. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 3  Trung tâm Thông tin Di động khu vực III - VMS3  Trung tâm Viễn thông Quốc tế khu vực III - VTI3  Các Viễn thông tỉnh/thành phố  Cụm cảng hàng không miền Trung  Cục Hải quan Thành phố Đà Nẵng  Viện Tin học Doanh nghiệp - CN miền Trung  Trung tâm Viễn thông Điện lực miền Trung  Công ty Cổ phần Phần mềm FPT  Tập đoàn Dƣợc phẩm Viễn Đông  Thành ủy Đà Nẵng  Sở Giáo dục và Đào tạo Thành phố Đà Nẵng  Cục thuế Đà Nẵng  Ban Quản lý Dự án Phát triển CNTT& TT - Sở Thông tin và Truyền thông thành phố Đà Nẵng  Công ty TNHH MTV Lọc hóa dầu Bình Sơn  Ban quản lý dự án CNTT-TT thuộc Sở Thông tin và Truyền thông Đà Nẵng  Sở Thông tin và Truyền thông Khánh Hòa  Sở Thông tin và Truyền thông tỉnh Thừa Thiên Huế  Sở Thông tin và Truyền thông Bình Định  Sở Thông tin và Truyền thông tỉnh Kon Tum  Trung tâm tích hợp dữ liệu tỉnh Phú Yên  Các tổ chức ngân hàng, khác v.v...
  • 13. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 4  Sứ mệnh - Truyền đạt, hƣớng dẫn học viên/khách hàng các kiến thức, kỹ năng CNTT chuyên sâu ở đẳng cấp quốc tế về chƣơng trình và chất lƣợng đào tạo. Góp phần phát triển nguồn nhân lực CNTT Việt Nam đạt tiêu chuẩn quốc tế. - Xây dựng một môi trƣờng học tập thân thiện, cởi mở với cơ sở vật chất hiện đại, đủ sức hấp dẫn để quy tụ đƣợc nhân lực CNTT trong và ngoài nƣớc về cộng tác nghiên cứu, thử nghiệm, trao đổi học thuật, kinh nghiệm với nhau. - Tạo điều kiện cho mọi thành viên của VDC Training phát triển tối đa năng lực cá nhân, có cuộc sống sung túc về vật chất, hạnh phúc về tinh thần.  Tầm nhìn VDC Training trở thành: Một tổ chức hàng đầu ở Việt Nam nói riêng và ở khu vực Đông Nam Á nói chung trong lĩnh vực tƣ vấn và đào tạo CNTT theo các chƣơng trình quốc tế. Một trong những môi trƣờng làm việc tốt nhất cho nhân lực CNTT Việt Nam. II. Bối cảnh đề tài Nhƣ chúng ta đã biết, Internet cho phép chúng ta truy cập tới các nơi trên thế giới thông qua một số dịch vụ. Khi máy tính kết nối với Internet từ môi trƣờng mạng cục bộ, khi đó tất cả các giao tiếp của mạng nội bộ với thế giới bên ngoài coi nhƣ là bỏ ngỏ, mọi thông tin dữ liệu trên máy tính của mạng nội bộ không có sự bảo vệ. Điều này đƣợc ví nhƣ nhà không có khóa cửa, khi đó mọi đồ đạc trong nhà dĩ nhiên không an toàn.. Do vậy việc bảo vệ hệ thống là một vấn đề chúng ta đáng phải quan tâm.Khi nói đến vấn đề bảo mật, hầu hết các chuyên gia bảo mật đều chú trọng đến sự an toàn của hệ thống mạng và hệ
  • 14. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 5 điều hành. Để hạn chế tình trạng này và cũng là để góp phần làm tăng khả năng bảo mật thì việc xây dựng hệ thống tƣờng lửa là điều kiện không thể thiếu. Tƣờng lửa có thể đƣợc tích hợp với phần cứng hoặc phần mềm giúp bạn tránh đƣợc sự tấn công của các hacker, kiểm soát truy cập... Khi truy cập vào mạng Internet. Nếu bạn sử dụng máy tính cá nhân tại nhà hoặc bạn là một doanh nghiệp nhỏ, sử dụng tƣờng lửa là cách quan trọng và hiệu quả nhất để bảo vệ máy tính của bạn. III.Mục đích và ý nghĩa của đề tài Có rất nhiều loại tƣờng lửa khác nhau nhƣng chúng em đã quyết định chọn đề tài về tìm hiểu và cấu hình Iptables trên hệ điều hành linux. Bởi vì hệ điều hành Linux ngày càng trở lên phổ biến,đƣợc sử dụng nhiều trên các hệ thống máy chủ.Mặt khác 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..Nó 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 gói tin hiệu quả.  Lọc gói tin dựa vào địa chỉ MAC (Media Access Control) và một số cờ hiệu 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 (Network Address Translation)  Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
  • 15. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 6 IV.Nội dung của đề tài gồm 4 phần chính  Tìm hiểu tổng quan về hệ điều hành linux  Tổng quan về hệ thống tƣờng lửa  Tìm hiểu và cấu hình Iptables trên hệ điều hành linux  Kết luận
  • 16. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 7 CHƢƠNG 1 CÁC NHIỆM VỤ ĐƢỢC GIAO I.Tìm hiểu về đơn vị thực tập Trong ngày thực tập đầu tiên, chúng em đƣợc làm quen với các thầy, anh chị tham gia hƣớng dẫn chúng em trong quá trình thực tập. Chúng em đƣợc đi tham quan các phòng ban,phòng học,thực hành và các trang thiết bị máy móc ở trung tâm. Trong buổi gặp gỡ, ngoài việc đƣợc giới thiệu về VDC Training/VDC - đơn vị thuộc VDC - công ty thành viên tập đoàn VNPT cũng nhƣ phổ biến một số nội quy, quy định của VDC Training - nơi chúng em sẽ thực tập tại đây. Chúng em còn đƣợc giới thiệu về một số định hƣớng nghiên cứu, trải nghiệm trong thời gian thực tập tại VDC Training. Chúng em rất hào hứng với những xu hƣớng nghiên cứu khoa học mà giảng viên VDC Training giới thiệu, bởi đây là những xu hƣớng mới và đang đƣợc quan tâm nghiên cứu nhiều trên thế giới. Cũng trong buổi gặp gỡ, chúng em đã thoải mái trao đổi, bày tỏ mong muốn tham gia nghiên cứu những đề tài đầy mới mẻ này cũng nhƣ cơ hội tiếp cận môi trƣờng thực tế, năng động trong lĩnh vực công nghệ thông tin - viễn thông trong thời gian các bạn thực tập tại VDC Training. II. Đề tài nghiên cứu Sau khi đƣợc thầy Th.S Nguyễn Song Tùng giới thiệu về một số định hƣớng nghiên cứu đang đƣợc quan tâm hiện nay. Chúng em đã chọn cho mình hƣớng nghiên cứu về tìm hiểu hệ điều hành linux mà cụ thể là tìm hiểu và cấu hình iptables trên hệ điều hành linux. Iptables là một phần mềm tƣờng lửa phổ biến và cơ bản nhất trong HĐH Linux. Iptables là một tƣờng lửa ứng dụng lọc gói dữ liệu rất mạnh gồm 2 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 để đẩy các luật của ngƣời dùng
  • 17. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 8 vào cho Netfiler 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.
  • 18. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 9 CHƢƠNG 2 CÁC CÔNG NGHỆ ĐÃ NGHIÊN CỨU Trong quá trình thực tập tại VDC Training Đà Nẵng, sau tuần đầu tiên đƣợc tham quan và tìm hiểu về trung tâm. Sang tuần thứ hai, chúng em đƣợc giao nhiệm vụ học tập và nghiên cứu công nghệ. Chúng em đƣợc phân vào các nhóm khác nhau tùy theo công nghệ đã lựa chọn. Nhóm em có 2 thành viên nghiên cứu về iptables trên hệ điều hành linux. I.TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX I.1 Giới thiệu về hệ điều hành Linux Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều hành. Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994. Bộ phận chủ yếu này đƣợc phát triển và tung ra trên thị trƣờng dƣới bản quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux. Một cách chính xác, thuật ngữ ―Linux‖ đƣợc sử dụng để chỉ Nhân Linux, nhƣng tên này đƣợc sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành giống Unix (còn đƣợc biết đến dƣới tên GNU/Linux) đƣợc tạo ra bởi việc đóng gói nhân Linux cùng với các thƣ viện và công cụ GNU, cũng nhƣ là các bản phân phối Linux. Thực tế thì đó là tập hợp một số lƣợng lớn các phần mềm nhƣ máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trƣờng làm việc desktop nhƣ GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng nhƣ OpenOffice hay LibreOffice. Khởi đầu, Linux đƣợc phát triển cho dòng vi xử lý i386 Intel, hiện tại hệ điều hành này hỗ trợ một số lƣợng lớn các kiến trúc vi xử lý, và đƣợc sử dụng
  • 19. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 10 trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị nhúng nhƣ là các máy điện thoại di động. Ban đầu, Linux đƣợc phát triển và sử dụng bởi những ngƣời say mê. Tuy nhiên, hiện nay Linux đã có đƣợc sự hỗ trợ bởi các công ty lớn nhƣ IBM và Hewlett-Packard, đồng thời nó cũng bắt kịp đƣợc các phiên bản Unix độc quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực. Sở dĩ Linux đạt đƣợc những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng nhƣ là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp. Một đặc tính nổi trội của nó là đƣợc phát triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả. Tuy nhiên, hiện tại số lƣợng phần cứng đƣợc hỗ trợ bởi Linux vẫn còn rất khiêm tốn so với Windows vì các trình điều khiển thiết bị tƣơng thích với Windows nhiều hơn là Linux. Nhƣng trong tƣơng lai số lƣợng phần cứng đƣợc hỗ trợ cho Linux sẽ tăng lên. I.2 Kiến trúc hệ điều hành Linux Hình 2. 1 Kiến trúc hệ điều hành linux I.2.1 Hạt Nhân (kernel)
  • 20. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 11 Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển hoạt động của toàn bộ hệ thống. Hạt nhân đƣợc phát triển không ngừng, thƣờng có 2 phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất. Kernel đƣợc thiết kế theo dạng module, do vậy kích thƣớc thật sự của Kernel rất nhỏ. Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ đƣợc tải nếu có yêu cầu sử dụng. Nhờ vậy so với các hệ điều hành khác Linux không sử dụng lãng phí bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không. Kernel đƣợc xem là trái tim của hệ điều hành Linux, ban đầu nhân đƣợc phát triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng quản lý bộ nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy. Yêu cầu của các chƣơng trình cần rất nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều hành sử dụng không gian đĩa hoán đổi (swap space) để lƣu trữ các dữ liệu xử lý của chƣơng trình. Swap space cho phép ghi các trang của bộ nhớ xuất các vị trí dành sẵn trong đĩa và xem nó nhƣ phần mở rộng của vùng nhớ chính. Bên cạnh sử dụng swap space, Linux còn hỗ trợ các đặc tính sau: - Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình làm tắt toàn bộ hệ thống. - Chỉ tải các chƣơng trình khi có yêu cầu. I.2.2 Shell Cung cấp các tập lệnh cho ngƣời dùng thao tác với kernel để thực hiện công việc. Shell đọc các lệnh từ ngƣời dùng và xử lý. Ngoài ra shell còn cung cấp một số đặc tính khác nhƣ : chuyển hƣớng xuất nhập, ngôn ngữ lệnh để tạo các tập tin tƣơng tự nhƣ bat trong DOS. Có nhiều Shell đƣợc sử dụng trong Linux. Có nhiều loại shell đƣợc dùng trong Linux. Điểm quan trọng để phân biệt các shell khác nhay là bộ lệnh của mỗi shell. Ví dụ , C shell thì sử dụng các lệnh tƣơng tự ngôn ngữ C, Bourne thì dùng ngôn ngữ lệnh khác…
  • 21. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 12 Shell sử dụng chính trong Linux là GNU Bourne Again Shell ( bash ). Shell này là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ thông Unix, với nhiều tính năng mới nhƣ : điều khiển các tiến trình, các lệnh history, tên tập tin dài…. I.2.3 Các tiện ích Các tiện ích đƣợc ngƣời dùng thƣờng xuyên sử dụng. Nó dùng cho nhiều thứ nhƣ thao tác tập tin, đĩa, nén, sao lƣu tập tin, … Tiện ích trong Linux có thể là các lệnh thao tác hay các chƣơng trình giao diện đồ họa. Hầu hết các tiện ích dùng trong Linux là sản phẩm của chƣơng trình GNU. Linux có sẵn rất nhiều tiện ích nhƣ trình biên dịch, trình gỡ lỗi, soạn văn bản,… Tiện ích có thể đƣợc sử dụng bởi ngƣời dùng hoặc hệ thống. Một số tiện ích đƣợc xem là chuẩn trong hệ thống Linux nhƣ passwd, ls, pa, vi … I.2.4 Chƣơng trình ứng dụng Khác với các tiện ích, các ứng dụng nhƣ chƣơng trình word, hệ quản trị cơ sở dữ liệu,… là các chƣơng trình có độ phức tạp lớn và đƣợc các nhà sản xuất viết ra. I.3 Các đặc tính cơ bản của Linux Linux hỗ trợ các tính năng cơ bản thƣờng thấy trong các hệ điều hành Unix và nhiều tính năng khác mà không hệ điều hành nào có đƣợc. Linux cung cấp môi trƣờng phát triển một cách đầy đủ bao gồm các thƣ viện chuẩn, các công cụ lập trình, trình biên dịch, debug,… nhƣ bạn mong đợi ở các hệ điều hành Unix khác. Hệ thống Linux trội hơn các hệ thống khác trên nhiều mặt mà ngƣời dùng quan tâm nhƣ sự phát triển tốc độ, dễ sử dụng và đặc biệt là sự phát triển và hỗ trợ mạng. Một số đặc điểm của Linux chúng ta cần quan tâm: I.3.1 Đa tiến trình Là đặc tính cho phép ngƣời dùng thực hiện nhiều tiến trình đồng thời. Ví dụ bạn vừa in, vừa soạn văn bản, vừa nghe nhạc,… cùng một lúc. Máy tính sử dụng chỉ một CPU nhƣng xử lý đồng thời nhiều tiến trình cùng lúc. Thực chất
  • 22. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 13 là tại một thời điểm CPU chỉ xử lý đƣợc một mệnh lệnh, việc thực hiện cùng lúc nhiều công việc là giả tạo bằng cách làm việc xen kẽ và chuyển đổi trong thời gian nhanh. Do đó ngƣời dùng cứ ngỡ là thực hiện đồng thời. I.3.2 Tốc độ cao Hệ điều hành Linux đƣợc biết đến nhƣ một hệ điều hành có tốc độ xử lý cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên nhƣ: bộ nhớ, đĩa,… I.3.3 Bộ nhớ ảo Khi hệ thống sử dụng quá nhiều chƣơng trình lớn dẫn đến không đủ bộ nhớ chính (RAM) để hoạt động. Trong trƣờng hợp đó, Linux dung bộ nhớ từ đĩa vào partition swap. Hệ thống sẽ đƣa các chƣơng trình hoặc dữ liệu nào chƣa có yêu cầu truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống chuyển lên lại bộ nhớ chính. I.3.4 Sử dụng chung thư viện Hệ thống Linux có rất nhiều thƣ viện dùng chung cho nhiều ứng dụng. Điều này sẽ giúp hệ thống tiết kiệm đƣợc tài nguyên cũng nhƣ thời gian xử lý. I.3.5 Sử dụng các chương trình xử lý văn bản Chƣơng trình xử lý văn bản là một trong những chƣơng trình rất cần thiết đối với ngƣời sử dụng. Linux cung cấp nhiều chƣơng trình cho phép ngƣời dùng thao tác với văn bản nhƣ vi, emacs, nroff. I.3.6 Sử dụng giao diện cửa sổ Giao diện cửa sổ dùng hệ thống X Window, có giao diện nhƣ hệ điều hành Windows. Với hệ thống này ngƣời dùng rất thuận tiện khi làm việc trên hệ thống. X Window System hay còn gọi tắt là X đƣợc phát triển tại viện Massachusetts Institute of Technology. Nó đƣợc phát triển để tạo ra môi trƣờng làm việc không phụ thuộc phần cứng. X chạy dƣới dạng client – server. Hệ thống X Window hoạt động qua hai bộ phận: - Phần server còn gọi là X server.
  • 23. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 14 - Phần client đƣợc gọi là X Window manager hay desktop environment. - X Server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86. Client sử dụng thƣờng là KDE (K Desktop Environment) và GNOME (GNU Network Object Model Environment). Dịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows. Tên Samba xuất phát từ giao thức Server Message Block (SMB) mà Window sử dụng để chia sẻ tập tin và máy in. Samba là chƣơng trình sử dụng giao thức SMB chạy trên Linux. Sử dụng Samba bạn có thể chia sẻ tập tin và máy in với các máy Windows I.3.7 Network Information Service (NIS) Dịch vụ NIS cho phép chia sẻ các tập tin password và group trên mạng. NIS là một hệ thống cơ sở dữ liệu dạng client – server, chứa các thông tin của ngƣời dùng và dùng để chứng thực ngƣời dùng. NIS xuất phát từ hãng Sun Microsystem với tên là Yellow Pages. I.3.8 Lập lịch hoạt động chương trình, ứng dụng Chƣơng trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự sắp xếp của ngƣời dùng nhƣ: at, cron, batch. I.3.9 Các tiện ích sao lưu dữ liệu Linux cung cấp các tiện ích nhƣ tar, cpio và dd để sao lƣu và backup dữ liệu. Red Hat Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho phép tự động backup dữ liệu theo lịch. I.3.10 Hỗ trợ nhiều ngôn ngữ lập trình Linux cung cấp một môi trƣờng lập trình Unix đầy đủ bao gồm các thƣ viện chuẩn, các công cụ lập trình, trình biên dịch, chƣơng trình debug mà bạn có thể tìm thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chƣơng trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài
  • 24. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 15 C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác nhƣ Pascal, Fortan, Java, … I.4 Cấu trúc hệ thống tập tin/thƣ mục trong Linux Trong Linux không có khái niệm ổ đĩa. Sau quá trình khởi động, toàn bộ các thƣ mục và tập tin đƣợc kết gắn và tạo thành một hệ thống tập tin thống nhất, bắt đầu từ gốc ―/‖. Hình 2. 2 Cấu trúc thƣ mục hệ thống của Linux I.5 Quản lý tài khoản và phân quyền trên Linux I.5.1 Quản lý tài khoản trong Linux a) Tài khoản ngƣời dùng Cũng giống nhƣ Windows,Linux cũng có các loại tài khoản khác nhau, thƣờng đƣợc chia làm 2 loại chính : tài khoản ngƣời dùng bình thƣờng và tài khoản quản trị (root ). Root là tài khoản quản trị có ảnh hƣởng rất lớn đối với an toàn của hệ thống, tài khoản root có các các quyền nhƣ: tạo tài khoản ngƣời dùng, cài đặt phần mềm, thêm, xóa, sửa đổi các tài khoản… Mỗi ngƣời sử dụng trên hệ thống đƣợc mô tả qua các thông tin sau: - username : tên ngƣời sử dụng - password : mật khẩu (nếu có)
  • 25. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 16 - uid : số nhận dạng (user identify number ) - gid : số của nhóm(group identify number ) - comment : chú thích - Thƣ mục chủ của tài khoản (home directory ) - Shell đăng nhập (chƣơng trình chạy lúc bắt đầu phiên làmviệc) Các thông tin trên đƣợc chứa trong tập tin /etc/passwd b) Tài khoản nhóm ngƣời dùng Một nhóm ngƣời sử dụng đƣợc mô tả bằng các thông tin sau: - groupname : tên của nhóm - gid : số của nhóm (gid: group identify number) - danh sách các tài khoản thuộc nhóm Các thông tin trên đƣợc chứa trong tập tin /etc/group I.5.2 Phân quyền ngƣời dùng trên hệ thống tập tin Một trong những thành phần chính của họ *nix là hệ thống quyền hạn truy cập (Permission) cho mọi đối tƣợng (file (-), thƣ mục (d), link (l)). Hệ thống này đóng 1 vai trò quan trọng trong việc cung cấp mức an ninh cao và tính ổn định cho HDH Linux. Mỗi 1 đối tƣợng gắn với 3 loại quyền: read (đọc), write (ghi) và execute (thực thi). Và mỗi 1 quyền này lại đƣợc chỉ định cho 3 loại user: + owner: chủ sở hữu của đối tƣợng – mặc định ban đầu là user tạo ra đối tƣợng đó + group: 1 nhóm các user chia sẻ chung quyền hạn truy cập - mặc định ban đầu là group mà owner ở trên thuộc về. + other: tất cả các user không thuộc 2 nhóm trên.
  • 26. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 17 Hình 2. 3 Quyền trên tập tin User root có đủ cả 3 quyền đối với mọi đối tƣợng trên hệ thống. Ngoài ra, root có thể thay đổi (cấp hoặc tƣớc) quyền hạn truy cập đối tƣợng cho bất kỳ user nào và còn có thể chuyển quyền sở hữu đối tƣợng qua lại giữa các user. Ý nghĩa của 3 loại quyền này là: + đối với thư mục: - Read: chỉ cho phép xem tên và các thuộc tính của các đối tƣợng mà nó chứa - Write: cho phép tạo và xóa các đối tƣợng trong thƣ mục - Execute: chỉ cho phép truy cập vào thƣ mục sử dụng lệnh cd + đối với file: - Read: chỉ cho phép xem nội dung của file - Write: cho phép chỉnh sửa nội dung, xóa file
  • 27. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 18 - Execute: chỉ cho phép chạy file này, thƣờng đƣợc gán các file nhị phân thực thi (đã đƣợc biên dịch từ file mã nguồn) tƣơng tự nhƣ file .exe trong Windows Các quyền cho 1 đối tƣợng đƣợc biểu diễn nhƣ sau: - Read: ký hiệu là r hay số 4 hệ bát phân - Write: ký hiệu là w hay số 2 hệ bát phân - Execute: ký hiệu là e hay số 1 hệ bát phân Vì mỗi đối tƣợng có 3 loại quyền cho mỗi loại user nên có tất cả 9 bit thông tin về quyền hạn tƣơng ứng với mỗi đối tƣợng. Mỗi bit trong 9 bit này nhận 1 trong 2 giá trị: đƣợc phép (allow) hoặc bị cấm (deny). Hình 2. 4 Quyền đƣợc biểu diễn dƣới dạng số Các quyền cho 1 đối tƣợng đƣợc biểu diễn theo 2 cách  Cách 1 gồm 1 chuỗi 10 ký tự: - Ký tự đầu thể hiện loại file: d cho thƣ mục (file đặc biệt), - cho file thông thƣờng, l cho các link (hard link, symbolic link) - Ba ký tự tiếp là các quyền cho owner, kế đến là 3 ký tự biểu diễn các quyền cho group, còn lại 3 ký tự cuối dành cho other - Quyền đƣợc phép read sẽ là r, write là w, e là execute. Các quyền bị cấm đƣợc biểu diễn bằng dấu –
  • 28. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 19 Sử dụng lệnh ls –l filename để biết thông tin về các quyền. VD -rwxrw-r-- + đây là file thông thƣờng + owner có quyền read, write, execute; group có thể read, write; other chỉ read drwxr-xr-x + đây là thƣ mục + owner có quyền read+write+execute; cả group và other chỉ read+excute  C2 ngắn gọn hơn, gồm 3 số hệ bát phân Số đầu cho owner, số thứ 2 cho group, số còn lại cho other. Mỗi 1 số nhận 1 trong 8 giá trị sau + 0 : cấm tất cả các quyền + 1 : execute + 2 : write + 3 : execute + write + 4 : read + 5 : read + execute + 6 : read + write + 7 : read + write + execute Để thay đổi quyền hạn truy cập cho các user sử dụng lệnh chmod (bạn phải là owner của file hặc có quyền root) Để thay đổi owner cho đối tƣợng sử dụng lệnh chown (bạn phải có quyền root) chown User_Name File_Name
  • 29. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 20 Để thay đổi group cho đối tƣợng sử dụng lệnh chgrp nhƣng phải thỏa 1 trong 2 điều kiện: * chạy lệnh chgrp với quyền root * bạn là owner + thuộc Group (có tên là Group_Name trong lệnh) mà bạn muốn thay đổi Group cho file chgrp Group_Name File_Name I.6 Ƣu và nhƣợc điểm của hệ điều hành Linux  Ƣu điểm  Là hệ điều hành miễn phí và đƣợc rất nhiều ngƣời phát triển nên có nhiều tính năng ứng dụng hay, cũng nhƣ nhiều ngƣời dùng.  Là hệ điều hành đa nhiệm và đa ngƣời dùng, tận dụng đƣợc sức mạnh xử lý của máy i386 và đời cao hơn. Chạy đƣợc trên nhiều loại máy khác nhau.  Có sẵn bộ giao thức TCP/IP giúp cho ngƣời dùng dễ dàng kết nối internet.  Khả năng tƣơng thích với các hệ thống mở có nghĩa chúng ta có thể chuyển nó từ hệ điều hành này sang hệ điều hành khác mà vẫn hoạt động tốt.  Hổ trợ ngƣời dùng. Hiện nay linux có hàng ngàn ứng dụng, bao gồm các chƣơng trình báo biểu, cơ sở dữ liệu, giải trí, đa phƣơng tiện và rất nhiều ứng dụng khác.  Lợi ích cho giới chuyên nghiệp điện toán, đến với linux giới điện toán sẽ có hàng ngàn công cụ phát triển chƣơng trình, báo gồm các bộ biên dịch cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn nhƣ C, C++…  Nhƣợc điểm
  • 30. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 21  Khuyết điểm về hổ trợ kỹ thuật tức là Linux không có một công ty nào đứng ra chịu trách nhiệm phát triển hệ điều hành này. Nếu gặp trục trặc thì không có ai có thể giải quyêt miển phí cho bạn.  Khuyết điểm về phần cứng đó chính là Linux không dễ dàng cài đặt và hổ trợ nhiều thiết bị phần cứng. Các phiên bản phần cứng của Linux đều hổ trợ theo nguyên tắc phần cứng của nhà phát triển Linux.  Quá trình sử dụng với ngƣời dùng tƣơng đối khó khăn bởi vì Linux hổ trợ việc giao tiếp bằng đồ họa ít nên chủ yếu phải dùng bằng lệnh nên dẫn đến làm cho ngƣời dùng cảm thấy kho khăn khi sử dụng. I.7 Một số bản phân phối(Distro) Linux phổ biến Phần mềm tự do nguồn mở cho phép ngƣời sử dụng có thể sao chép, sửa đổi, phân phối một cách tự do và không phụ thuộc vào bất kỳ nhà cung cấp công nghệ nào. Phần mềm tự do nguồn mở đƣợc phát triển từ lâu và đến nay đã xuất hiện khá phổ biến trong các tổ chức chính phủ, doanh nghiệp.Thu hút sự chú ý của cộng đồng do sự tự nguyện của những ngƣời đóng góp cho cộng đồng giúp phát hiện và thông báo các lỗi mà họ gặp phải khi trải nghiệm. Điểm sáng của phần mềm mã nguồn mở chính là khái niệm distro, có thể tạm dịch là bản phân phối phần mềm mã nguồn mở. Kể từ lúc Linux ra đời, cho đến nay đã có rất nhiều distro khác nhau, một phần là do tính "mở" của nó. Một số distro có thể kể đến nhƣ: Ubuntu, Fedora, LinuxMint, openSUSE, PCLinuxOS, Debian, Mandriva…  Sự khác nhau giữa các distro chủ yếu dựa vào 2 yếu tố - Thị trƣờng mà distro muốn nhắm đến, ví dụ dành cho máy chủ, doanh nghiệp, siêu máy tính, ngƣời dùng đầu cuối… - Tùy thuộc vào triết lí phần mềm của từng distro mà những ngƣời phát triển quyết định gắn bó lâu dài với distro đó hay không.
  • 31. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 22  Các distribution phổ biến  Redhat,Fedora & CentOS (Redhat, Inc): Redhat, Fedora,CentOS là các Distro dựa trên RPM, đƣợc nhiều ngƣời biết đến nhất và rất phổ biến tại Việt Nam. Chúng phù hợp với mọi mục đích, từ Desktop, Workstation, đến Server, cho những ngƣời mới dùng, đến những ngƣời đã giàu kinh nghiệm. Điểm mạnh của Redhat, Fedora,CentOS là việc hỗ trợ cài đặt, đến giao diện sử dụng rất thân thiện. Tuy nhiên điểm yếu chung của những Distro tựa RPM này là cách quản lý gói tin gây không ít khó khăn cho ngƣời dùng. Việc phân chia mỗi ứng dụng bao gồm nhiều gói rpm, và sự liên kết giữa chƣơng trình với thƣ viên, gây cho việc cài đặt, gỡ bỏ, cập nhật bất kỳ một gói nào cũng liên quan đến nhiều gói khác. Tuy nhiên, đến Distro Fedora,CentOS và Redhat Enterprise, trình quản lý gói yum đƣợc đƣa vào, đã giải quyết đƣợc đáng kể vấn đề trên. Fedora,CentOS là Distro xuất hiện miễn phí cho ngƣời dùng bởi Công ty Redhat từ khi phiên bản Redhat đã đƣợc thƣơng mại hóa. Redhat Enterprise thực sự là một Distro phổ biến cho dòng Máy chủ của các công ty, doanh nghiệp lớn trên toàn thế giới. Hình 2. 5 Red Hat  Debian: là Distro khá phổ biến bởi trình quản lý gói tin rất mạnh, tiện ích APT và số lƣợng gói phần mềm khổng lồ (số lƣợng CD lƣu trữ hết các gói tin khoảng 15 CD - 8000 gói), cung cấp cho ngƣời dùng rất nhiều tính năng lựa chọn. Debian là lựa chọn cho sự ổn định và tin cậy. Gói tin DEB trên Debian
  • 32. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 23 luôn đặt mục tiêu stable (vững chắc, ổn định) lên hàng đầu, so với một số hệ thống gói tin khác là mục tiêu newest (cập nhật mới nhất) Hình 2. 6 Debian  Ubuntu: Cái tên Ubutun chỉ mới xuất hiện vào khoảng 2005, nhƣng đã trở nên rất phổ biến cho ngƣời dùng khắp nơi trên thế giới. Trong trang chuyên đề về tập hợp các Distro là DistroWatch, Ubuntu luôn đứng đầu về số lƣợng ngƣời dùng ghé thăm. Ubuntu đƣợc thiết kế chuyên cho ngƣời dùng Desktop, rất nhỏ gọn (chỉ gồm 1 đĩa cài đặt), và dựa trên hệ thống quản lý gói mạnh mẽ APT của Debian. Ngƣời dùng Ubuntu thực sự thấy đƣợc sự tự do, tùy biến cao trong sử dụng, quản lý hệ thống. Hình 2. 7 Ubuntu  Gentoo: Là một Distro của sự linh hoạt, và tốc độ, đƣợc thiết kế chuyên cho developer và network professional. Khác với các Distro khác, Gentoo sử dụng hệ thống quản lý gói cũng rất mạnh Portage. Việc cài đặt hệ thống và các phần mềm hoàn toàn từ mã nguồn (source code) sao cho phù hợp nhất với đặc
  • 33. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 24 điểm của hệ thống. Khi cài đặt Gentoo, hệ thống của ngƣời dùng chỉ đƣợc cài đặt một mức tối thiểu các gói tin cần thiết, sau đó tùy mục đích mà ngƣời dùng có thể cài đặt thêm. Chính vì những lý do trên, Gentoo đem đến cho hệ thống sự ổn định và chạy rất nhanh. Để cài đặt và sử dụng Gentoo, ngƣời dùng sẽ mất khá nhiều thời gian, tuy nhiên nó đáng để đƣợc nhƣ vậy. Hình 2. 8 Gentoo  Knoppix: Đây là một LiveCD rất thân thiện, với sự hỗ trợ cao về phần cứng và nhiều phần mềm chuyên dụng. Knoppix giúp ngƣời dùng có thể làm quen với Linux, các ứng dụng Mã nguồn mở mà không phải cài đặt. Đây cũng là Distro phù hợp với vài trò Rescue Hình 2. 9 Knoppix
  • 34. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 25  Slackware: Đây là sự lựa chọn tốt cho những ngƣời dùng muốn học, nghiên cứu kỹ và sâu về hệ điều hành Linux. Tuy nhiên, từ công việc cài đặt, cho đến sử dụng ngƣời dùng cũng phải mất khá nhiều thời gian, mà ngay cả ngƣời dùng có kinh nghiệm cũng cảm thấy khó dùng. Tuy nhiên đánh đổi lại, khi bạn đã sử dụng thành thạo Slackware, ngƣời dùng có thể yên tâm về trình độ của mình. Đây cũng là Distro lựa chọn cho Máy chủ lớn bởi tính ổn định, cập nhật và tùy biến cao của nó. Hình 2. 10 Slackware Các Linux Distribution có rất nhiều, vì vậy ngƣời dùng cần xác định mục tiêu sử dụng và lựa chọn một Distro phù hợp. Tiêu chí lựa chọn distribution cũng là các mặt khác nhau giữa các Linux distribution bao gồm: - Chƣơng trình cài đặt (Graphical, Text mode) - Hệ thống quản lý gói tin (dpkg với Debian, RPM với Fedora...) - Giao diện đồ họa đƣợc cài đặt mặc định. - Phƣơng tiện cài đặt (Đĩa mềm, LiveCD, CD/DVD). - Tính bản địa hóa của Distro (Bao gồm font chữ, ngôn ngữ....) - Ứng dụng (Desktop, Workstation, Server, Firewall and Security, Router, etc) - Hỗ trợ phần cứng. - Chi phí. (Đa phần Linux Distribution là miễn phí, nhƣng cũng có một
  • 35. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 26 số Distro đã đƣợc thƣơng mại hóa: Redhat, Xandros Desktop OS, etc) - Sự hỗ trợ từ các hãng, công ty: tài liệu, diễn đàn, tin tức, cập nhật. - Cuối cùng, một yếu tố cũng rất quan trọng đó là trình độ của ngƣời dùng. Đối với ngƣời mới dùng, đa phần Linux Distribution khó sử dụng, đặc biệt trong đó có nhiều Distro kể cả những ngƣời giàu kinh nghiệm, việc sử dụng nó cũng vất vả. Vì lý do đó, đã xuất hiện nhiều Distro hƣớng dẫn ngƣời dùng, thân thiện với ngƣời dùng hơn, phù hợp cho ngƣời mới bắt đầu. Vì vậy, xác định trình độ của mình và lựa chọn Distro cũng là rất cần thiết
  • 36. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 27 II. TỔNG QUAN VỀ FIREWALL II.1 Khái niệm tƣờng lửa(firewall) Tƣờng lửa là một kỹ thuật đƣợc tích hợp vào hệ thống mạng để chống lại sự truy cập trái phép nhằm bảo vệ các nguồn thông tin nội bộ cũng nhƣ hạn chế sự xâm nhập vào hệ thống nhằm mục đích phá hoại, gây tổn thất cho tổ chức, doanh nghiệp.Cũng có thể hiểu tƣờng lửa là một cơ chế để đảm bảo an toàn cho mạng máy tính giữa mạng nội bộ với mạng bên ngoài(Internet). Hình 2. 11 Mô hình tƣởng lửa cơ bản II.2. Chức năng của tƣờng lửa Chức năng chính của tƣờng lửa là kiểm soát luồng thông tin giữa mạng cần bảo vệ (Trusted Network) và Internet thông qua các chính sách truy nhập đã đƣợc thiết lập. - Cho phép hoặc cấm các dịch vụ truy nhập từ trong ra ngoài và từ ngoài vào trong. - Kiểm soát địa chỉ truy nhập, và dịch vụ sử dụng. - Kiểm soát khả năng truy cập ngƣời sử dụng giữa 2 mạng. - Kiểm soát nội dung thông tin truyền tải giữa 2 mạng. - Ngăn ngừa khả năng tấn công từ các mạng ngoài.
  • 37. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 28 Xây dựng tƣởng lửa là một biện pháp khá hữu hiệu, nó cho phép bảo vệ và kiểm soát hầu hết các dịch vụ do đó đƣợc áp dụng phổ biến nhất trong các biện pháp bảo vệ mạng. II.3. Phân loại tƣờng lửa Tƣờng lửa đƣợc chia làm nhiều loại,tùy thuộc vào nhu cầu và cách nhìn nhận từ ngƣời sử dụng.Mỗi loại có ƣu và nhƣợc điểm riêng của nó.Chúng ta phân ra các loại nhƣ sau: II.3.1 Packet Filtering ( tƣờng lửa lọc gói tin) Kiểu tƣờng lửa này thƣờng hoạt động ở tầng mạng và tầng liên kết dữ liệu trong mô hình OSI.Nó có thể tích hợp hoặc không tích hợp với Router, nó tạo ra các luật cho phép quyền truy nhập mạng dựa trên mức mạng.Mô hình này hoạt động theo nguyên tắc lọc gói tin (packet filtering). Ở kiểu hoạt động này các gói tin đều đƣợc kiểm tra địa chỉ nguồn nơi chúng xuất phát. Sau khi địa chỉ IP nguồn đƣợc xác định thì nó đƣợc kiểm tra với các luật đã đƣợc đặt ra trên tƣờng lửa. Ví dụ ngƣời quản trị firewall quyết định rằng không cho phép bất kỳ một gói tin nào xuất phát từ mạng microsoft.com đƣợc kết nối với mạng trong thì các gói tin xuất phát từ mạng này sẽ không bao giờ đến đƣợc mạng trong. Các tƣờng lửa hoạt động ở lớp mạng (tƣơng tự nhƣ một router) thƣờng cho phép tốc độ xử lý nhanh bởi nó chỉ kiểm tra địa chỉ IP nguồn mà không có một lệnh thực sự nào trên router, nó không cần một khoảng thời gian nào để xác định xem là địa chỉ sai hay bị cấm. Nhƣng điều này bị trả giá bởi tính tin cậy của nó. Kiểu tƣờng lửa này sử dụng địa chỉ IP nguồn làm chỉ thị, điểu này tạo ra một lỗ hổng là nếu một gói tin mang địa chỉ nguồn là địa chỉ giả thì nhƣ vậy nó sẽ có đƣợc một số mức truy nhập vào mạng trong của bạn. Các sản phẩm tƣờng lửa cứng đáng chú ý nhƣ Cisco PIX, NetScreen firewall, SonicWall Appliaces, WatchGuard Fireboxes, Nokia firewall…
  • 38. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 29 Hình 2. 12 Packet Filtering II.3.2 Application firewall ( Tƣờng lửa ứng dụng ) Kiểu tƣờng lửa này hoạt động dựa trên phần mềm và thƣờng hoạt động ở tầng ứng dụng của mô hình OSI.Nếu cài đặt trên một máy tính thì đƣợc gọi là host firewall.Nếu dùng cho hệ thống mạng thì gọi là Network firewall. Khi một kết nối từ một ngƣời dùng nào đó đến mạng sử dụng tƣờng lửa kiểu này thì kết nối đó sẽ bị chặn lại, sau đó tƣờng lửa sẽ kiểm tra các trƣờng có liên quan của gói tin yêu cầu kết nối. Nếu việc kiểm tra thành công, có nghĩa là các trƣờng thông tin đáp ứng đƣợc các luật đã đặt ra trên tƣờng lửa thì tƣờng lửa sẽ tạo một cái cầu kết nối giữa hai node với nhau. Ƣu điểm của kiểu tƣờng lửa loại này là không có chức năng chuyển tiếp các gói tin IP, hơn nữa ta có thể điểu khiển một cách chi tiết hơn các kết nối thông qua tƣờng lửa. Đồng thời nó còn đƣa ra nhiều công cụ cho phép ghi lại các quá trình kết nối. Tất nhiên điều này sẽ làm chậm hệ thống, bởi vì tất cả các kết nối cũng nhƣ các gói tin chuyển qua tƣờng lửa đều đƣợc kiểm tra kỹ lƣỡng với các luật trên tƣờng lửa và rồi nếu đƣợc chấp nhận sẽ đƣợc chuyển tiếp tới node đích.Ngoài ra việc nâng cấp và thay đổi thiết bị tƣờng lửa tƣơng đối dễ dàng và nhanh chóng. Nhƣợc điểm của loại tƣờng lửa này là nó đƣợc cài đặt trên một hệ điều hành hoặc hệ thống mạng và do đó khả năng có lỗ hổng trên hệ điều hành này
  • 39. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 30 là có thể xẩy ra. Khi lỗ hổng đƣợc phát hiện và đƣợc cập nhật bản vá lỗi, rất có thể sau khi cập nhật bản vá lỗi cho hệ điều hành thì tƣờng lửa không hoạt động bình thƣờng nhƣ trƣớc, do đó cần tiến hành cập nhật bản vá cho tƣờng lửa từ nhà cung cấp sản phẩm tƣờng lửa. Do hệ điều hành mà tƣờng lửa ứng dụng chạy trên nó không đƣợc thiết kế tối ƣu cho tƣờng lửa nên tƣờng lửa mềm có hiệu suất thấp hơn tƣờng lửa cứng. Một số sản phẩm tƣờng lửa ứng dụng nhƣ SunScreen firewall, IPF,Microsoft ISA server, Check Point NG, Linux’s IPTables… Hình 2. 13 Application firewall
  • 40. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 31 II.3.3 Statefull Firewall (Tƣờng lửa trạng thái) Là một dạng tƣờng lửa thông minh,kết hợp đƣợc cả hai dạng tƣờng lửa phía trên.nó kiểm soát ở cả bảy tầng của mô hình OSI. Nó không những kiểm tra gói tin bao gồm cấu trúc, dữ liệu gói tin … mà kiểm tra cả trạng thái gói tin khi đi qua nó. Hình 2. 14 Statefull Firewall
  • 41. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 32 CHƢƠNG 3 TÌM HIỂU VỀ IPTABLES TRÊN HỆ ĐIỀU HÀNH LINUX I.Giới thiệu về Iptables I.1 Khái niệm Iptables Iptables là một gói 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 do Netfilter Organiztion viết ra để tăng tính năng bảo mật trên hệ thống Linux. Netfilter/Iptables gồm 2 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 để đẩy các luật của ngƣời dùng vào cho Netfiler 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.Iptables 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 gói tin hiệu quả.  Lọc gói tin dựa vào địa chỉ MAC (Media Access Control) và một số cờ hiệu 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 (Network Address Translation)  Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS
  • 42. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 33 Hình 3. 1 Vị trí của Iptables I.2 Cài đặt Iptables Iptable là một tƣờng lửa cài đặt mặc định trong hệ thống Linux.Nhƣng nó cho tất cả các Traffic truy cập theo mặc định. Gói của iptables là iptables- version.rpm hoặc iptables-version.tgz…ta có thể dùng lệnh để cài đặt gói này : $ rpm –ivh iptables-version.rpm đối Red Hat $ apt-get install iptables đối với Debian - Kiểm tra Iptables đã đƣợc cài đặt hay chƣa bằng lênh : #rpm –qa iptables - Khởi động iptables: service iptables start - Cho phép Iptables khởi động cùng lúc với hệ thống : #chkconfig iptables on - Tắt iptables: service iptables stop - Khởi động lại iptables: service iptables restart - Xác định trạng thái iptables: service iptables status I.3 Cú pháp Iptables Cú pháp của Iptables có dạng nhƣ sau: #iptables [-t table-name] <command><chain-name> match [–j target] Trong đó :
  • 43. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 34 -t (tables) : xác đinh table sẽ chịu tác động của lệnh. Trong trƣờng hợp không chỉ ra tên bảng, mặc định iptables sẽ thực hiện các lệnh trên bảng filter -command : Tên lệnh sẽ thực hiện trên bảng đƣợc chỉ ra,(thêm hay xoá một luật trong chuỗi luật nào đó). -chain-name : Tên của chuỗi luật sẽ chịu tác động của lệnh. - match : Là nội dung của luật. Match là các cặp điều kiện và giá trị của nó, xác định gói tin sẽ chịu tác động của luật. -j target Chỉ ra hành động (target) sẽ tác động vào một gói tin khi gói tin đó đáp ứng đƣợc luật (match) chỉ ra. Ví dụ một vài câu lệnh iptables - Cho phép tất cả các gói tin tcp đi vào cổng 22 #iptables –A INPUT –p tcp –dport 22 –j ACCEPT - Firewall chấp nhận cho bất kỳ gói tin TCP đi vào từ intafece eth0 đến địa chỉ 192.168.1.1 #iptables –A INPUT –s 0/0 –i eth0 –d 192.168.1.1 –p TCP –j ACCEPT - Cấm máy tính có địa chỉ ip 192.168.1.2 ping tới server # iptables –A INPUT –s 192.168.1.2 –p icmp – icmp-type any –j REJECT I.4 Cấu trúc của Iptables Trong iptables chia ra thành các bảng (tables), trong mỗi bảng sẽ chia ra thành nhiều chuỗi(chains) để xử lý packet tùy theo tình huống (hƣớng đi của packets),trong mỗi chain sẽ có các luật(rules) mà mình sẽ cấu hình để xử lý các packets tƣơng ứng với mỗi chain.Iptables đƣợc chia làm 4 bảng nhƣ sau:  Filter table: dùng đề lọc gói dữ liệu,trong nó có 3 chains :  Forward chain: xử lý và chuyển tiếp các gói tin.  Input chain: xử lý các gói tin đi vào.
  • 44. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 35  Output chain: xử lý các gói tin đi ra. Hình 3. 2 Quá trình xử lý gói tin bảng filter  NAT table: thực thi các chức năng NAT (Network Address Translation), gồm 2 chains sau:  Pre-routing chain: NAT từ ngoài vào trong nội bộ. Quá trình NAT sẽ thay đổi địa chỉ đích (Destination) của gói dữ liệu khi cần thiết.  Post-routing chain: NAT từ trong ra ngoài. Quá trình NAT sẽ thay đổi địa chỉ nguồn (Source) của gói dữ liệu khi cần thiết. Hình 3. 3 Quá trình xử lý gói tin trong bảng NAT  Mangle table: chịu trách nhiệm biến đổi Qos ( quality of service) bits trong TCP header. Hình 3. 4 Quá trình xử lý gói tin trong bảng Mangle
  • 45. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 36  Conntrack table: theo dõi các kết nối I.5 Quá trình chuyển dữ liệu qua Netfilter Iptables sẽ kiểm tra tất cả các gói khi nó đi qua iptables host, quá trình kiểm tra này đƣợc thực hiện tuần tự từ entries đầu tiên đến entries cuối cùng. Iptables tổ chức phân loại dựa theo cách thức xử lý gói tin. Các gói tin này đƣợc xử lý qua các bảng, trong mổi bảng có phân biệt gói tin đi vào (INPUT), đi ra (OUTPUT) hoặc chuyển tiếp (FORWARD). Hay một số cách thức biến đổi địa chỉ nguồn, đích gọi là NAT bao gồm việc biến đổi địa chỉ nguồn thành đích gọi là PREROUTING, và đích thành nguồn gọi là POSTROUTING ngƣời ta gọi đó là các chuỗi(chain). Trong mổi chain sẽ có những luật để quyết định xử lý gói tin nhƣ thế nào: cho phép chuyển gói tin (ACCEPT), chặn và báo lại gói tin cho ngƣời gởi (REJECT), chặn gói tin (DROP). Hình 3. 5 Mô hình hoạt động của Iptables Gói dữ liệu (packet) chạy trên cáp, sau đó đi vào card mạng. Đầu tiên packet sẽ qua chain PREROUTING (trƣớc khi định tuyến). Tại đây, packet có thể bị thay đổi thông số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với packet đi vào máy, nó sẽ qua chain INPUT. Tại chain INPUT, packet có thể đƣợc chấp nhận hoặc bị hủy bỏ. Tiếp theo packet sẽ đƣợc chuyển lên cho các ứng dụng (client/server) xử lí và tiếp theo là đƣợc chuyển ra chain OUTPUT.
  • 46. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 37 Tại chain OUTPUT, packet có thể bị thay đổi các thông số và bị lọc chấp nhận ra hay bị hủy bỏ. Đối với packet forward qua máy, packet sau khi rời chain PREROUTING sẽ qua chain FORWARD. Tại chain FORWARD, nó cũng bị lọc ACCEPT hoặc DENY. Packet sau khi qua chain FORWARD hoặc chain OUTPUT sẽ đến chain POSTROUTING (sau khi định tuyến). Tại chain POSTROUTING, packet có thể đƣợc đổi địa chỉ IP nguồn (SNAT) hoặc MASQUERADE. Packet sau khi ra card mạng sẽ đƣợc chuyển lên cáp để đi đến máy tính khác trên mạng. Tóm tắt trình tự xử lý gói tin của iptables:
  • 47. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 38 Hình 3. 6 Trình tự xử lý gói tin trên Iptables
  • 48. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 39 Đầu tiên, gói dữ liệu đến mạng A, tiếp đó nó đƣợc kiểm tra bởi bảng Mangle PREROUTING chain ( nếu cần) . Tiếp theo là kiểm tra gói dữ liệu bởi bảng NAT PREPROUTING chain để kiểm tra gói dữ liệu có cần DNAT hay không ?. Nếu cần, DNAT sẽ thay đổi đích đến của packet. Rồi gói packet đƣợc chuyển đi. Nếu gói packet đi vào trong mạng đƣợc bảo vệ, thì nó sẽ đƣợc lọc bởi FORWARD chain của Filte 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, nếu gói dữ liệu qua đƣợc các chain này trong INPUT chain thì sẽ đƣợc vào trong chƣơng trình của các host ben trong Firewall. Khi Firewall cần gởi gói packet ra ngoài, gói packet 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 có cần thiết 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 packet ra ngoài, SNAT và Qó sẽ đƣợc kiểm tra trong POSTROUTING chain. I.6 Target và Jumps trong iptables Jump là cơ chế chuyển một packet đến một target nào đó để xử lý thêm một số thao tác khác. Target là hành động sẽ dễ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 target mà iptables sẽ sử dụng. Bảng 1. 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
  • 49. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 40 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 nghĩa sẳn. Thông thƣờnglà để thông báo lý do vì sao gói bị bỏ. REJECT Tƣơng tự nhƣ DROP, nhƣng nó sẽ trả lại cho phía ngƣời gửi một thong báo rằng gói đã bị chặn và loại bỏ --reject-with qualifier Than 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ỉ iptables 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 của địa chỉ nguồn của gói dữ liệu . --to-source <address>[- <address>][:<port>- <port>] Miêu tả IP và port sẽ đƣợc viết lại bởi iptables MASQUER ADE Dùng để thực hiện Source Networkaddress Translation. [--to-ports <port>[- <port>]]
  • 50. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 41 Ghi rõ tầm các port nguồn gốc có thể ánh xạ đƣợc . I.7 Các tham số dòng lệnh thƣờng dùng trong iptables Các tham số sau sẽ cho phép iptables thực hiện các hành động sao cho phù hợp với biểu đồ xử lý gói do ngƣời dùng hoạch định sẳn. Bảng 2. Các tham số chuyển mạch quan trọng của iptables Lệnh switching quan trọng Ý nghĩa -t <table> Nếu bạn không chỉ định rõ là tables nào, thì filter tables sẽ đƣợc áp dụng. Có 3 loại tables là filter, NAT, mangle -j <target> Nhảy đến một chuổi targets nào đó khi gói dữ liệu phù hợp quy luật hiện tại -A Nối thêm 1 quy luật nà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 <protocol-type> Phù hợp với giao thức (Protocols) thông thƣờng là icmp, tcp, udp và all -s <ip-address> Phù hợp với ip nguồn -d <ip-address> Phù hợp với ip đích -i <interface-name> Phù hợp điều kiện INPUT khi gói dữ liệu đi vào firewall -o <interface-name> Phù hợp điều kiện OUTPUT khi gói dữ liệu đi ra khỏi firewall Ví dụ: iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT iptables đƣợc cấu hình cho phép ―firewall ― chấp nhận các gói dữ liệu sử dụng giao thức (protocols) là TCP, có địa chỉ nguồn bất kỳ( 0/0), đến card mạng eth0 và đến đích có địa chỉ IP 192.168.1.1 là địa chỉ của firewall. Bảng 3. Các điều kiện TCP và UDP thông dụng Lệnh switching Miêu tả -p tcp --sport <port> Điều kiện TCP port nguồn (source port). Có thể là một
  • 51. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 42 giá trị hoặc một chuỗi có dạng: start-port-number:end- port-number -p tcp --dport <port> Đ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ầu cần kết nối mới -p udp --sport <port> Điều kiện UDP port đích (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 <port> Điều kiện UDP port đích (source port) Có thể là một giá trị hoặc một chuổi có dạng: starting- port:ending-port Ví dụ: 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 thức là TCP, có địa chỉ nguồn là bất kỳ (0/0) đi đến card mạng eth0 có địa chỉ 192.168.1.58, đi ra từ card mạng eth1, có source port từ 1024 – 65535 và port đích là 80. Bảng 4. Điều kiện ICMP Lệnh Miêu tả --icmp-type <type> Thƣờng dùng nhất là echo-reply và eho-request Một ví dụ về ICMP: 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 eho- repuests (pings) và gửi trả lời các ICMP echo-replies. Một ví dụ khác:
  • 52. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 43 iptables -A INPUT -p icmp --icmp-type echo-request -m limit –limit 1/s -i eth0 -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ó thể định thời gian theo định dạng second, minute, hour hoặc day. Hoặc xử dụng dạng viết tắt 3/s thay vì 3/second.Trong ví dụ này ICMP echo- request 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 giảm bớt các lƣu lƣợng lớn các kết nối trong 1 thời gian nhất định . Đây chính là đặc tính của tấn công từ chối dịch vụ(DOS) và sâu Internet iptables -A INPUT -p tcp --syn -m limit --limit 5/s –I eth0 -j ACCEPT Bạn 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á 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 floot bằng cách hạn chế sự chấp nhận các phân đoạn TCP có bít SYS không nhiều hơn 5 phân đoạn trong 1 giây. Bảng 5. Các điều kiện mở rộng thông dụng Lệnh Ý nghĩa -m multiport --sport <port, port> 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 <port, port> 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à 1 chuổi các port. Không phân biệt port đích hay port nguồn -m multiport --ports <port, port> 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ả 2 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 1 kết nối phụ. Thông thƣờng đây là đặc điểm của các giao thức nhƣ FTP hoặc lỗi của 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 do lỗi của ICMP không trùng với một luồng dữ liệu đã có sẳn .
  • 53. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 44 Đây là phần mở rộng tiếp theo của ví dụ trước : 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ác gói dữ liệu có giao thức là TCP, đến từ card mạng eth0, ip nguồn là bất kỳ, đi đến địa chỉ 192.168.1.58 qua card mạng eth1. Số port nguồn là từ 1024 đến 65535 và port đích là 80(http) và 443(https). Đến khi các gói dữ liệu nhận, trở lại từ 192.168.1.58, thay vì mở các port nguồn và đích, Chỉ cần cho phép dùng kết nối cũ đã thiết lập bằng cách dùng tham số --state ESTABLISHED. I.8 Sử dụng các chuỗi tự định nghĩa Thay vì sử dụng các chain đã đƣợc xây dựng trong iptables, ta có thể sử dụng User Defined chains để định nghĩa một chain name mô tả cho tất cả protocol-type cho packet. Ta có thể dùng User Defined chains thay thế chain dài dòng bằng cách sử dụng chain chính chỉ đến nhiều chain con. Ví dụ: ta có thể sử dụng chain này để quyết định 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. Các lệnh giúp việc cải tiến tốc độ xử lý: 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
  • 54. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 45 Bảng 6. Danh sách các lệnh (Queues) Chain Description INPUT Đƣợc xây dƣng trong INPUT chain trong bảng iptables OUTPUT Đƣợc xây dựng trong OUTPUT chain trong bảng 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 rêng cho giao thức ICMP icmp-queue-in Lệnh INPUT tách rêng cho giao thức ICMP I.9 NAT trong iptables NAT ( Network Address Translation ) là một kỹ thuật dùng để giải quyết vấn đề IP shortage. NAT hoạt động nhƣ một router , công việc của nó là chuyển tiếp các gói tin giữa các lớp mạng khác nhau trên một hệ thống mạng lớn. NAT trong iptables có thể hoạt động trên nhiều chức năng khác nhau dựa trên thao tác với địa chỉ ( đích hoặc nguồn ) và các cổng. NAT trong iptables hỗ trợ các module để giúp nhúng địa chỉ vào các gói dữ liệu đƣợc trao đổi theo các giao thức. Bảng 7 NAT trong iptables Helper Protocol ip_nat_amanda Amanda backup protocol (cần cấu hình file CONFIG_IP_NF_NAT_AMANDA) ip_nat_ftp File Transfer Protocol (cần cấu hình file CONFIG_IP_NF_NAT_FTP ) ip_nat_irc Internet Relay Chat (cần cấu hình file CONFIG_IP_NF_NAT_IRC )
  • 55. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 46 ip_nat_snmp_basic Simple Network Management Protocol (cần cấu hình file CONFIG_IP_NF_NAT_SNMP_BASIC) ip_nat_tftp Trivial File Transfer Protocol (cần cấu hình file CONFIG_IP_NF_NAT_TFTP) Nếu muốn một số gói tin nào đó vƣợt qua bảng NAT, chúng ta sử dụng lệnh: #iptables -t nat -i eth1 ... -j ACCEPT Source NAT (SNAT) và Destination NAT (DNAT) thƣờng đƣợc dùng để chia sẻ kết nối internet giữa các máy tính trong mạng nội bộ . Máy tính khi kết nối internet đƣợc xem nhƣ là một gateway . Source NAT (SNAT) sẽ thay đổi địa chỉ nguồn của các gói tin di ra internet bằng địa chỉ Ip internet tĩnh của gateway. Khi gateway nhận đƣợc các gói tin trả về từ internet , Destination NAT (DNAT) sẽ thay đổi địa chỉ đích của các gói tin rồi chuyển đến các máy tính trong mạng nội bộ. Trong Iptables POSTROUTING chain của bảng NAT sẽ đảm nhận công việc Source SNAT.Source NAT có hai phần mở rộng đó là SNAT và MASQUERADE.SNAT đƣợc sử dụng cho các máy tính gateway có địa chỉ IP tĩnh, còn MASQUERADE dùng cho các máy tính gateway có địa chỉ IP động. Chúng ta có thể thiết lập SNAT trên giao diện eth1 bằng lệnh : #iptables -t nat -A POSTROUTING -o eth1 -j SNAT Và với MASQUERADE : #iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Tƣơng tự nhƣ vậy PREROUTING chain của bảng NAT sẽ đảm nhận công việc Destination NAT (DNAT) . Ví dụ #iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.3:8080 Câu lệnh trên cho phép những gói tin di vào từ interface eth1 với giao thức tcp cổng đƣợc chuyển đến địa chỉ IP 192.168.1.3 với số hiệu port 8080
  • 56. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 47 I.10 Ví dụ về một số rule trên Iptables  Cho phép DNS hoạt động #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  Mở cổng cho phép WEB và SSL hoạt động #iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #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  Cho phép máy firewall vào WEB #iptables -A OUTPUT -j ACCEPT -m state --state NEW -o eth0 –p tcp - m multiport --dport 80,443 #iptables -A INPUT -j ACCEPT -m state --state STABLISHED,RELATED -i eth0 –p tcp  Cho phép máy tính mạng nội bộ vào internet thông qua interface eth1 #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
  • 57. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 48 II.Triển khái iptables trên Redhat II.1 Mô hình triển khai Giả sử công ty A có mô mình mạng nhƣ sau : Hình 3. 7 Sơ đồ mạng công ty A Theo sơ đồ ta thấy : o Client : card mạng có địa chỉ ip là 192.168.1.2 đƣợc nối vào card eth0 iptables firewall o Server : card mạng có địa chỉ ip là 192.168.2.2 đƣợc nối vào card eth1 của Iptables firewall o Firewall có 2 card mạng :  Eth0 : có địa chỉ ip là 192.168.1.1 đƣợc kết nối với Client  Eth1 : có địa chỉ ip là 192.168.2.1 đƣợc kết nối với server II.2 Thiết lập iptables trên redhat II.2.1 Cấm ssh đến firewall Theo sự chỉ đạo của giám đốc công ty, chỉ có mỗi quản trị viên với địa chỉ IP 192.168.1.3/24 mới đƣợc quyền truy cập SSH đến FireWall, còn lại tất cả các máy nội bộ khác không đƣợc truy cập vào Firewall. Ta cấu hình Iptables nhƣ sau : #iptables -A INPUT -s 192.168.1.3 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT #iptables -A INPUT -s 192.168.1.0/24 -i eth0 -p tcp -m tcp --dport 22 -j DROP
  • 58. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 49 Khi đó, tại máy client thuộc mạng 192.168.1.0/24 có địa chỉ IP 192.168.1.3 của quản trị viên mới kết nối SSH đƣợc với Firewall. Ta sử dụng SSH Client đển kết nối với Firewall nhƣ hình vẽ, ta nhập các thông tin của Host Name, User Name của Firewall vào, Port Number mặc định là 22 Ta nhập Password của User Sau khi kết nối thành công với câu lệnh ifconfig Với một địa chỉ IP khác nhƣ 192.168.1.2/24 thì ta sẽ không login đƣợc
  • 59. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 50 II.2.2 Cấm Ping đến Firewall Quản trị viên sẽ giới hạn độ dài của gói tin.Ví dụ ở đây là gói tin icmp, với mỗi gói icmp nếu độ dài length <65 thì sẽ đƣợc gởi đến và phản hồi từ Firewall, còn gói icmp >64 thì sẽ gởi đến Firewall, Firewall sẽ không gởi phản hồi lại. Ta sử dụng lệnh : #iptables –A INPUT –p icmp –icmp-type ping –m length 64:65535 –j ACCEPT Tại FireWall, ta sử dụng lệnh tcpdum host 192.168.1.1 để xem các gói tin kết nối với Firewall. Tại máy Client, ta sử dụng lệnh Ping với length <64 thì đƣợc kết quả :
  • 60. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 51 Tại máy Firewall với lệnh tcpdum host 192.168.1.1: Với lệnh ping từ máy client có length >100 ta đƣợc hiện thông báo Request time out ngay. Tại máy server với lệnh tcpdum host 192.168.1.1:
  • 61. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 52
  • 62. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 53 KẾT LUẬN Báo cáo này em mới chỉ dừng lại ở mức độ tìm hiểu, qua đó để hiểu rõ hơn hệ điều hành Linux. Báo cáo đƣơc triển khai một cách khái quát, chƣa đi vào cụ thể, mô hình mạng chỉ là một mô hình đơn giản, dựa trên các tài nguyên có sẵn trên Linux. Những gì mà chúng em vừa trình bày cho thấy việc cấu hình cho Netfilter/Iptables là công việc không đơn giản. Để cấu hình tốt thì chúng ta phải hiểu thật sâu về nó. Đa số hệ thống mạng của chúng ta bị tấn công là do cấu hình không đúng. Chúng em xin tổng kết lại những mặt đã làm đƣợc và những mặt còn tồn tại:  Những mặt chúng em đã làm được: Đã đọc và tìm hiểu về Netfilter/Iptables, có hiểu biết cơ bản để cấu hình một firewall trên hệ thống linux. Hoàn thành tốt việc thiết lập một số rules trên Redhat.  Những mặt chúng em chưa làm được : Có một số cấu hình chúng em chƣa thực hiện thành công, Một số dịch vụ chúng em đã đặt Rule nhƣng chƣa có tác dụng. Hƣớng phát triển của chúng em trong thời gian tới là tiếp tục tìm hiểu tài liệu, nghiên cứu sâu hơn để có thể cấu hình tiếp những gì mà chúng em chƣa hoàn thành. Từ đó có thể tự xây dựng cho mình một hệ thống Firewall an toàn.
  • 63. Tìm hiểu và cấu hình IPTables trên hệ điều hành linux SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 54 TÀI LIỆU THAM KHẢO [1] Nguyễn Thị Điệp và Tiêu Đông Nhơn.Giáo trình Dịch vụ mạng Linux.Đại học Quốc Gia Thành phố Hồ ChíMinh 12/2005. [2] Nguyễn Hồng Thái. Cài đặt và cấu hình Ipables.2004,96tr [3] Nguyễn Thanh Thúy, Nguyễn Quang Huy, Nguyễn Hữu Đức, Đinh Lan Anh .Nhập môn hệ điều hành Linux.NXB Khoa học kỹ thuật 2000. [4] O'Reilly Media. Linux iptables pocket reference [5] Christopher Negus and Christine Bresnahan. CentOS Bible.938 trang [6] Emmett Dulaney.Linux All in One For Dummies.652tr [4] http://vnexperts.net/bai-viet-ky-thuat/nix/607-linux-distribution-distro.html [5]http://www.pcworld.com.vn/articles/cong-nghe/cong- nghe/2011/01/1223414/mot-so-linux-distro-pho-bien/ [6] http://vi.wikipedia.org/wiki/Linux [7] http://my.opera.com/hautp/blog/ [8]http://www.quantrimang.com.vn/kienthuc/kien-thuc-co-ban/14320_Tim- hieu-ve-FireWall.aspx [9] http://docstore.mik.ua/orelly/networking/firewall/ [10]http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_ Ch14_:_Linux_Firewalls_Using_iptables