Upload
nguyen-ngoc-lieu
View
176
Download
5
Embed Size (px)
Citation preview
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
TP.Hồ Chí Minh, Ngày ….. Tháng …..Năm 2013
GIÁO VIÊN HƢỚNG DẪN
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
TP.Hồ Chí Minh, Ngày ….. Tháng …..Năm 2013
GIÁO VIÊN PHẢN BIỆN
NHẬN XÉT CỦA HỘI ĐỒNG
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
TP.Hồ Chí Minh, Ngày ….. Tháng …..Năm 2013
CHỦ TỊCH HỘI ĐỒNG
LỜI CẢM ƠN
Chúng em xin đƣợc gửi lời cảm ơn trân trọng và sâu sắc nhất tới giáo viên hƣớng
dẫn Thầy Nguyễn Đăng Quang – ngƣời đã tận tình chỉ bảo, hƣớng dẫn, truyền đạt kiến
thức chúng em trong suốt quá trình nghiên cứu thực hiện đề tài này.
Trong quá trình học tập, triển khai nghiên cứu đề tài và những gì đạt đƣợc hôm
nay, chúng em không thể quên đƣợc công lao giảng dạy và hƣớng dẫn của các Thầy, Cô
trƣờng Đại học Sƣ phạm kỹ thuật TPHCM, đặc biệt là các Thầy, Cô khoa Công nghệ
thông tin trƣờng Đại học Sƣ phạm kỹ thuật TPHCM.
Xin đƣợc cảm ơn bạn bè đã luôn ở bên chúng em, giúp đỡ và tạo điều kiện thuận
lợi cho chúng em đƣợc học tập, nghiên cứu, hoàn thành đề tài.
TP. Hồ Chí Minh, Ngày 18 tháng 06 năm 2013
Nhóm thực hiện đề tài
Nguyễn Thế Đạt
Nguyễn Quang Linh
Mục lục Trang 1
MỤC LỤC
CHƢƠNG 1: TỔNG QUAN ............................................................................................... 8
1.1. Lí do chọn đề tài. ...................................................................................................... 8
1.1.1. Lí do khách quan. ............................................................................................... 8
1.1.2. Lí do chủ quan. ................................................................................................... 8
1.2. Mục tiêu đề tài .......................................................................................................... 8
1.3. Giới hạn đề tài........................................................................................................... 8
1.4. Mục đích nghiên cứu ................................................................................................ 9
1.4.1. Mục đích trƣớc mắt. ........................................................................................... 9
1.4.2. Mục đích cụ thể. ................................................................................................. 9
1.4.3. Mục đích lâu dài. ................................................................................................ 9
1.5. Thể thức nghiên cứu ................................................................................................. 9
1.5.1. Dàn ý chi tiết. ..................................................................................................... 9
1.5.2. Đối tƣợng nghiên cứu ...................................................................................... 10
1.5.3. Phƣơng pháp nghiên cứu .................................................................................. 10
1.5.4. Phƣơng tiện nghiên cứu ................................................................................... 10
CHƢƠNG 2: HỆ THỐNG MẠNG DOANH NGHIỆP .................................................... 11
2.1. Kiến trúc Enterprise Cisco ...................................................................................... 11
2.1.1. Kiến trúc Campus ............................................................................................. 11
2.1.2. Kiến trúc Data Center ...................................................................................... 12
2.1.3. Kiến trúc Branch .............................................................................................. 13
2.1.4. Kiến trúc Teleworker ....................................................................................... 14
2.1.5. Kiến trúc WAN và MAN ................................................................................. 14
2.2. Mô hình mạng LAN ............................................................................................... 15
2.2.1. Mô hình phân cấp (Hierarchical models) ......................................................... 15
2.2.2. Mô hình dự phòng (Redundant Models) .......................................................... 16
2.2.3. Mô hình an ninh-an toàn (Secure models) ....................................................... 16
2.3. Mô hình WAN ........................................................................................................ 18
CHƢƠNG 3: MÔ HÌNH MẠNG ĐỀ XUẤT.................................................................... 20
Mục lục Trang 2
3.1. Các yêu cầu về dịch vụ ........................................................................................... 20
3.2. Sơ đồ mạng thực tế ................................................................................................. 20
3.3. Sơ đồ mạng thực nghiệm ........................................................................................ 21
CHƢƠNG 4: CÁC DỊCH VỤ MẠNG .............................................................................. 23
4.1. Dịch vụ DNS........................................................................................................... 23
4.1.1. Giới thiệu về DNS ............................................................................................ 23
4.1.2. Cài đặt và cấu hình ........................................................................................... 26
4.2. Dịch vụ DHCP ........................................................................................................ 30
4.2.1. Giới thiệu DHCP .............................................................................................. 30
4.2.2. Cài đặt và cấu hình ........................................................................................... 31
4.3. Dịch vụ telnet .......................................................................................................... 34
4.3.1. Giới thiệu telnet ................................................................................................ 34
4.3.2. Cấu hình và cài đặt ........................................................................................... 35
4.4. Dịch vụ ssh ............................................................................................................. 36
4.4.1. Sơ lƣợc về SSH ................................................................................................ 36
4.4.2. Cài đặt và cấu hình. .......................................................................................... 37
4.5. LDAP ...................................................................................................................... 42
4.5.1. Giới thiệu .......................................................................................................... 42
4.5.2. Cài đặt và cấu hình LDAP ............................................................................... 48
4.6. Dịch vụ NFS ........................................................................................................... 57
4.6.1. Giới thiệu NFS ................................................................................................. 57
4.6.2. Cài đặt và cấu hình ........................................................................................... 57
4.7. Dịch vụ Samba ........................................................................................................ 60
4.7.1. Giới thiệu SAMBA .......................................................................................... 60
4.7.2. Cài đặt và cấu hình SAMBA ............................................................................ 61
4.8. Dịch vụ firewall ...................................................................................................... 68
4.8.1. Giới thiệu .......................................................................................................... 68
4.8.2. Cài đặt và cấu hình ........................................................................................... 69
4.9. Dịch vụ proxy ......................................................................................................... 74
Mục lục Trang 3
4.9.1. Giới thiệu proxy ............................................................................................... 74
4.9.2. Cài đặt và cấu hình ........................................................................................... 76
4.10.Mail server ............................................................................................................. 85
4.10.1.Giới Thiệu Về Mail Server: ............................................................................. 85
4.10.2.Cài đặt .............................................................................................................. 87
4.11.Web server ............................................................................................................. 95
4.11.1 Giới thiệu .......................................................................................................... 95
4.11.2 Cài đặt .............................................................................................................. 97
4.12.FTP server ............................................................................................................ 100
4.12.1.Giới thiệu FTP ............................................................................................... 100
4.12.2.Cài đặt ............................................................................................................ 103
4.13.Virtual Private Network (VPN) ........................................................................... 106
4.13.1.Giới thiệu ....................................................................................................... 106
4.13.2.Cài đặt và cấu hình......................................................................................... 108
4.14.IDS-IPS ................................................................................................................ 116
4.14.1 Giới thiệu ........................................................................................................ 116
4.14.2 Cài đặt và cấu hình snort ................................................................................ 119
CHƢƠNG 5: KẾT LUẬN - HƢỚNG PHÁT TRIỂN .................................................... 124
5.1. Tổng kết những công việc đã làm ........................................................................ 124
5.2. Kết quả đạt đƣợc: .................................................................................................. 124
5.3. Hƣớng phát triển ................................................................................................... 124
TÀI LIỆU THAM KHẢO ............................................................................................... 125
Danh mục hình ảnh Trang 4
DANH MỤC HÌNH ẢNH
Hình 2.1: Các kiến trúc Enterprise của Cisco.................................................................... 11
Hình 2.2: Kiến trúc Campus .............................................................................................. 12
Hình 2.3: Kiến trúc Data Center ........................................................................................ 13
Hình 2.4: Kiến trúc Branch ............................................................................................... 14
Hình 2.5: Mô hình phân cấp .............................................................................................. 15
Hình 2.6: Mô hình tƣờng lửa 3 phần ................................................................................. 17
Hình 2.7: Mô hình phân cấp để hỗ trợ thiết kế WAN ....................................................... 18
Hình 3.1: Mô hình thực nghiệm ........................................................................................ 21
Hình 4.1: Nội dung file cấu hình phân giải thuận ............................................................. 29
Hình 4.2: Nội dung file cấu hình phân giải ngƣợc ............................................................ 29
Hình 4.3: DNS phân giải trong nslookup .......................................................................... 30
Hình 4.4: Nội dung file cấu hình dhcp server ................................................................... 32
Hình 4.5: Mô hình thực nghiệm ........................................................................................ 33
Hình 4.6: Nội dung file cấu hình dhcp replay agent ......................................................... 34
Hình 4.7: Nội dung file cấu hình định tuyến ..................................................................... 34
Hình 4.8: Nội dung file cấu hình telnet ............................................................................. 35
Hình 4.9: Login telnet ........................................................................................................ 35
Hình 4.10: Nội dung file cấu hình security cho telnet ....................................................... 36
Hình 4.11: Nội dung file cấu hình sshd.config .................................................................. 38
Hình 4.12: Giao diện phần mềm PuTTY ........................................................................... 38
Hình 4.13: Lệnh xin khóa rsa ............................................................................................ 39
Hình 4.14: Đổi tên và chmod id_rsa.pub ........................................................................... 39
Hình 4.15: Giao diện Winscp ............................................................................................ 40
Danh mục hình ảnh Trang 5
Hình 4.16: Giao diện putty gen ......................................................................................... 40
Hình 4.17: Load private key .............................................................................................. 41
Hình 4.18: Chỉ đƣờng dẫn đến private key ....................................................................... 41
Hình 4.19: Kiểm thử ssh .................................................................................................... 42
Hình 4.10: Mô hình client server ....................................................................................... 42
Hình 4.21: Cấu trúc cây trong ldap ................................................................................... 43
Hình 4.22:Luồng thông điệp giữa client server ................................................................. 44
Hình 4.23: Những thông điệp Client gửi cho server ......................................................... 44
Hình 4.24: Nhiều kết quả tìm kiếm đƣợc trả về ................................................................ 45
Hình 4.25: Giao diện web phpldapadmin .......................................................................... 52
Hình 4.26: Màn hình join domain ..................................................................................... 56
Hình 4.27: Màn hình join domain thành công ................................................................... 56
Hình 4.28: Nội dung file cấu hình fstab ............................................................................ 59
Hình 4.29: Nội dung thƣ mục data trên server .................................................................. 60
Hình 4.30: Nội dung thƣ mục data trên client ................................................................... 60
Hình 4.31: Mô hình samba ................................................................................................ 61
Hình 4.32: Kiểm tra cấu hình samba ................................................................................. 62
Hình 4.33: Xem danh sách các folder share ...................................................................... 65
Hình 4.34: Nội dung file cấu hình swat ............................................................................. 66
Hình 4.35: Màn hình giao diện web swat ......................................................................... 66
Hình 4.36: Giao diện cấu hình swat .................................................................................. 68
Hình 4.37: Luồng sự kiện đi qua firewall .......................................................................... 69
Hình 4.38: Nội dung file cấu hình iptables ........................................................................ 71
Hình 4.39: Vị trí proxy với client và server ..................................................................... 75
Danh mục hình ảnh Trang 6
Hình 4.40: Cấu hình proxy cho web browser .................................................................... 79
Hình 4.41: Màn hình địa chỉ facebook bị chặn ................................................................. 80
Hình 4.42: Màn hình yêu cầu chứng thực ......................................................................... 81
Hình 4.43: Màn hình chứng thực thành công .................................................................... 81
Hình 4.44: Màn hình chặn trang web có chƣa virus .......................................................... 85
Hình 4.45: Thành phần postfix .......................................................................................... 86
Hình 4.46: Gừi mail ESMTP ............................................................................................. 89
Hình 4.47: Kiểm tra mail ................................................................................................... 90
Hình 4.48: Khởi động thunderbird .................................................................................... 91
Hình 4.49: Tạo tài khoản thunderbird ............................................................................... 92
Hình 4.50: Giao diện làm việc Thunderbird ...................................................................... 92
Hình 4.51 : Giao diện đăng nhập squirrel mail ................................................................. 95
Hình 4.52 : Giao diện squirrel mail ................................................................................... 95
Hình 4.53: Mô hình dịch vụ FTP ..................................................................................... 101
Hình 4.54: File selinux .................................................................................................... 104
Hình4.55: Truy cập FTP server từ Windows .................................................................. 106
Hình 4.56: Tạo private key .............................................................................................. 110
Hình 4.57: Tạo certificate và private key cho server ...................................................... 111
Hình 4.58: Tạo certificate và private key cho client ....................................................... 112
Hình 4.59: OpenVPN Connection ................................................................................... 116
Hình 4.60: Màn hình quét Nmap ..................................................................................... 123
Hình 4.61: Màn hình giao diện snort base ....................................................................... 123
Danh mục các từ viết tắt Trang 7
DANH MỤC CÁC TỪ VIẾT TẮT
DNS: Domain Name System
DHCP: Dynamic Host Configuration Protocol
SSH: Secure Shell
LDAP: Lightweight Directory Access Protocol
NFS: Network File System
UDP: User Datagram Protocol
TCP: Transmission Control Protocol
SMTP: Simple Mail Transfer Protocol
POP: Post Office Protocol
IMAP: Internet Message Access Protocol
FTP: File Transfer Protocol
VPN: Virtual Private Network
IDS: Intrusion detection system
IPS: Intrusion prevention systems
Chƣơng 1: Tổng quan Trang 8
CHƢƠNG 1: TỔNG QUAN
1.1. Lý do chọn đề tài.
1.1.1. Lý do khách quan.
- Hiện nay, công nghệ thông tin đang đóng vai trò cực kỳ quan trọng không thể thiếu
trong quá trình quản lý, điều hành các hoạt động sản xuất kinh doanh của mỗi doanh
nghiệp. Do vậy, việc xây dựng đƣợc một hệ thống mạng với đầy đủ các dịch vụ cần thiết
phục vụ kinh doanh là điều cực kỳ cấp thiết.
- Ngoài các yếu tố phần cứng và nguồn nhân lực quản trị thì yếu tố phần mềm cũng
đóng vai trò rất quan trọng khi xây dựng một hệ thống mạng. Nói đến phần mềm, một
vấn đề lớn ở nƣớc ta đó là bản quyền, chi phí mua bản quyền các dịch vụ để hoàn tất một
hệ thống mạng là rất lớn. Nên để tiết kiệm một khoản lớn chi phí, ngƣời ta dần chuyển
sang các sản phẩm dịch vụ từ mã nguồn mở. Ngoài việc chạy ổn định, ít bị tấn công, có
một cộng đồng phát triển rất lớn thì ƣu điểm lớn nhất và đáng quan tâm nhất của mã
nguồn mở đó là không tốn phí. Vì những lý do trên, nhóm thực hiện đề tài: “Xây dựng
hệ thống mạng doanh nghiệp sử dụng mã nguồn mở”.
1.1.2. Lý do chủ quan.
- Nhóm chúng tôi thực hiện đề tài nhằm mục đích tìm hiểu thêm những kiến thức mới
trong ngành Mạng máy tính. Để từ đó có thêm kiến thức phục vụ cho quá trình học cũng
nhƣ có ích cho công việc sau khi tốt nghiệp ra trƣờng.
1.2. Mục tiêu đề tài
- Tìm hiểu kiến trúc mạng doanh nghiệp.
- Đề xuất một mô hình mạng doanh nghiệp.
- Cài đặt và cấu hình các dịch vụ theo mô hình đã đề xuất.
1.3. Giới hạn đề tài
- Đề tài “Xây dựng hệ thống mạng doanh nghiệp sử dụng mã nguồn mở” đƣợc nhóm
chúng tôi lựa chọn để thực hiện khóa luận.
Chƣơng 1: Tổng quan Trang 9
- Để xây dựng đƣợc mô hình mạng doanh nghiệp chạy ổn định và an toàn, kiểm soát
hầu hết các lỗi và các tấn công trong mạng internet cần cài đặt và cấu hình rất nhiều dịch
vụ tịch hợp với nhau. Do thời gian cũng nhƣ kiến thức và kinh nghiệm của nhóm chƣa
có, nên đề tài chỉ cài đặt và cấu hình các dịch vụ cơ bản nhất của một hệ thống mạng cần
có.
1.4. Mục đích nghiên cứu
1.4.1. Mục đích trƣớc mắt.
- Nhằm mục đích tiếp thu những kiến thức mới để nâng cao trình độ phục vụ cho
công việc khi ra trƣờng. Thông qua đó tạo đƣợc tác phong nghiên cứu khoa học, năng lực
tƣ duy và biết lập kế hoạch tạo tiền đề tốt cho quá trình nghiên cứu sau này.
1.4.2. Mục đích cụ thể.
Mục đích cụ thể nhóm nghiên cứu sẽ giải quyết các vấn đề sau:
- Giới thiệu nội dung.
- Đề xuất mô hình
- Cài đặt và cấu hình dịch vụ.
1.4.3. Mục đích lâu dài.
Về lâu dài, đồ án có thể làm tài liệu cho các sinh viên chuyên ngành cũng nhƣ ai yêu
thích công nghệ thông tin.
1.5. Thể thức nghiên cứu
1.5.1. Dàn ý chi tiết.
- Phần mở đầu
+ Lý do chọn đề tài.
+ Mục tiêu đề tài.
+ Giới hạn đề tài.
Chƣơng 1: Tổng quan Trang 10
+ Mục đích nghiên cứu.
+ Thể thức nghiên cứu.
- Phần nội dung
+ Chƣơng 1: Tổng quan
+ Chƣơng 2: Mô hình mạng doanh nghiệp
+ Chƣơng 3: Mô hình mạng đề xuất
+ Chƣơng 4:Các dịch vụ mạng
- Phần kết luận – đề nghị.
- Phụ lục.
1.5.2. Đối tƣợng nghiên cứu
Đối tƣợng nghiên cứu: hệ thống Centos 6.
1.5.3. Phƣơng pháp nghiên cứu
- Phƣơng pháp tham khảo tài liệu: thu thập các tài liệu liên quan, phục vụ cho quá
trình nghiên cứu.
- Phƣơng pháp tổng kết kinh nghiệm: thu thập các ý kiến, các phƣơng pháp của thầy
(cô) giảng dạy bộ môn chuyên ngành, kết hợp với những kinh nghiệm của bản thân rồi
đúc kết để đƣa vào bài báo cáo này.
1.5.4. Phƣơng tiện nghiên cứu
- Máy tính
- Các tài liệu
- Các phần mềm hổ trợ
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 11
CHƢƠNG 2: HỆ THỐNG MẠNG DOANH NGHIỆP
Chƣơng này trình bày kiến trúc mạng Cisco và các loại mô hình mạng trong doanh
nghiệp, từ đó sẽ xây dựng một mô hình mạng thực nghiệm cho đề tải.
2.1. Kiến trúc Enterprise Cisco
- Kiến trúc tích hợp đầy đủ và tối ƣu hóa các cơ sở hạ tầng mạng, dịch vụ tƣơng tác,
và các ứng dụng trên toàn bộ doanh nghiệp. Các kiến trúc cụ thể: Campus, Data Center,
Branch, Teleworker, MAN và WAN.
Hình 2.1: Các kiến trúc Enterprise của Cisco
2.1.1. Kiến trúc Campus
- Là một mạng lƣới gồm một tòa nhà hoặc một nhóm các tòa nhà đƣợc kết nối vào
một mạng doanh nghiệp đó bao gồm nhiều mạng LAN. Thƣờng giới hạn trong một khu
vực địa lý cố định.
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 12
Hình 2.2: Kiến trúc Campus
- Ví dụ: Một khu liên hợp công nghiệp, môi trƣờng công viên kinh doanh.
- Kiến trúc khuôn viên cho các doanh nghiệp mô tả các phƣơng pháp để tạo ra một
mạng lƣới khả năng mở rộng, giải quyết các nhu cầu của hoạt động kinh doanh.
- Là mô hình mạng thông minh do Cisco đƣa ra bao gồm 3 phần chính:
+ Access Layer
+ Distribution Layer
+ Core Layer
2.1.2. Kiến trúc Data Center
- Là trung tâm dữ liệu có trách nhiệm quản lý và duy trì hệ thống dữ liệu và quan
trọng đối với hoạt động kinh doanh hiện đại.
+ Nhân viên, đối tác và khách hàng dựa trên dữ liệu và các nguồn lực trong trung
tâm dữ liệu để có hiệu quả cộng tác và tƣơng tác.
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 13
+ Trong thập kỷ qua, sự phát triển của Internet và công nghệ trên nền web dã làm
cho trung tâm dữ liệu trở nên quan trọng hơn bao giờ hết, nâng cao năng suất, nâng cao
quy trình kinh doanh và thay đổi tốc độ.
Hình 2.3: Kiến trúc Data Center
2.1.3. Kiến trúc Branch
- Là kiến trúc hỗ trợ doanh nghiệp mở rộng ứng dụng văn phòng và tích hợp hàng
loạt các dịch vụ trên router tại chi nhánh cho các doanh nghiệp khi triển khai dịch vụ mở.
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 14
Hình 2.4: Kiến trúc Branch
- Cisco tích hợp bảo mật, chuyển mạch, mạng lƣới phân tích, lƣu trữ và hội tụ các
dịch vụ thoại và video vào một loạt các dịch vụ tích hợp bộ định tuyến trong ngành để
các doanh nghiệp có thể triển khai dịch vụ mới khi họ đã sẵn sàng mà không cần mua
thiết bị mới.
2.1.4. Kiến trúc Teleworker
- Nhiều doanh nghiệp ngày nay cung cấp một môi trƣờng làm việc linh hoạt cho nhân
viên của họ, cho phép họ liên lạc từ văn phòng về nhà.
- Kiến trúc cho phép doanh nghiệp quản lý tập trung, giảm thiểu các chi phí IT hỗ trợ
và bảo mật tích hợp mạnh mẽ.
- Nhân viên có thể đăng nhập an toàn vào mạng qua một VPN luôn sẵn sàng và truy
cập đƣợc vào các ứng dụng có thẩm quyền và các dịch vụ từ một nền tảng hiệu quả duy
nhất.
2.1.5. Kiến trúc WAN và MAN
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 15
- Kiến trúc Enterise của Cisco về WAN và MAN cung cấp sự hội tụ của thoại, video,
và các dịch vụ dữ liệu trên một mạng Truyền thông IP. Cách tiếp cận này cho phép doanh
nghiệp tiết kiệm chi phí làm việc trong một khu vực địa lý rộng lớn.
2.2. Mô hình mạng LAN
2.2.1. Mô hình phân cấp (Hierarchical models)
Hình 2.5: Mô hình phân cấp
- Cấu trúc
+ Tầng Core (Core Layer): Đây là đƣờng trục chuyển mạch tốc độ cao của mạng.
Tầng Core có các đặc tính nhƣ: độ tin cậy cao, có công suất dƣ thừa, có khả năng tự khắc
phục lỗi, có khả năng thích nghi cao, đáp ứng nhanh, dễ quản lý, có khả năng lọc gói, hay
lọc các tiến trình đang truyền trong mạng.
+ Tầng phân tán (Distribution Layer): Lớp phân tán là ranh giới giữa tầng truy
nhập và tầng Core của mạng. Tầng phân tán thực hiện các chức năng nhƣ đảm bảo gửi dữ
liệu đến từng phân đoạn mạng, bảo mật, phân đoạn mạng theo nhóm công tác, chia miền
broadcast/multicast, định tuyến giữa các LAN ảo (VLAN), chuyển môi trƣờng truyền
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 16
dẫn, định tuyến giữa các miền, tạo biên giới giữa các miền trong định tuyến tĩnh và động,
thực hiện các bộ lọc gói (theo địa chỉ, theo số hiệu cổng,...), thực hiện các cơ chế đảm
bảo chất lƣợng dịch vụ QoS.
+ Tầng truy nhập (Access Layer): Tầng truy nhập cung cấp cho ngƣời dùng cục bộ
hay từ xa truy nhập vào mạng. Thƣờng đƣợc thực hiện bằng các bộ chuyển mạch (switch)
trong môi trƣờng campus, hay các công nghệ WAN.
- Đánh giá mô hình
+ Giá thành thấp
+ Dễ cài đặt
+ Dễ mở rộng
+ Dễ cô lập lỗi
2.2.2. Mô hình dự phòng (Redundant Models)
- Khi thiết kế một hệ thống mạng cho khách hàng, cần phải xác định khả năng thất
bại của các thành phần trong hệ thống và thiết kế dự phòng khi cần thiết.
- Các loại thiết kế dự phòng:
+ Workstation-to-router dự phòng
+ Máy chủ dự phòng
+ Route dự phòng
+ Thiết bị dự phòng
2.2.3. Mô hình an ninh-an toàn (Secure models)
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 17
- Hệ thống tƣờng lửa 3 phần (Three-Part Firewall System), đặc biệt quan trọng trong
thiết kế WAN. Ở đây, chúng tôi chỉ nêu một số khía cạnh chung nhất cấu trúc của mô
hình sử dụng trong thiết kế mạng LAN.
Hình 2.6: Mô hình tƣờng lửa 3 phần
- Một mạng LAN cô lập làm vùng đệm giữa mạng nội bộ của công ty với mạng bên
ngoài (trong một số tài liệu mạng LAN này đƣợc gọi là vùng phi quân sự (DMZ))
- Một router hoạt động nhƣ một bộ lọc gói tin đƣợc đặt giữa DMZ và mạng nội bộ.
- Một router khác hoạt động nhƣ một bộ lọc gói tin đƣợc đặt giữa DMZ và mạng
ngoài.
- Các dịch vụ có thể cài đặt ở vùng DMZ:
+ Anonymous FTP server
+ Web server
+ DNS server
+ Telnet
+ Phần mềm bảo mật Terminal Access Controller Access Control System
(TACACS)
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 18
2.3. Mô hình WAN
- Khái niệm mô hình phân cấp: Mô hình phân cấp để hỗ trợ thiết kế WAN thƣờng là
mô hình phân cấp ba tầng: tầng 1 là tầng lõi(xƣơng sống của WAN – backbone), tầng 2
phân tán, tầng 3 là tầng truy nhập, gọi tắt là mô hình phân cấp phục vụ cho việc khảo sát
và thiết kế WAN.
Hình 2.7: Mô hình phân cấp để hỗ trợ thiết kế WAN
+ Tầng lõi là phần kết nối mạng (WAN backbone): kết nối các trung tâm mạng
(NOC) của từng vùng, thông thƣờng khoảng cách giữa các NOC là xa hay rất xa, do vậy
chi phí kết nối và độtin cậy cần phải đƣợc xem xét kỹ. Hơn nƣa vấn đề đảm bảo chất
lƣợng dịch vụ QoS cũng đƣợc đặt ra, dẫn đến phân loại, phân cấp ƣu tiên dịch vụ.
+ Tầng phân tán là phần kết nối các điểm đại diện POP, hay các nhánh mạng vào
NOC.
- Tầng truy nhập từ xa là phần kết nối của ngƣời dùng di động, hay các chi nhánh
nhỏ vào POP hay vào NOC.
Chƣơng 2: Hệ thống mạng doanh nghiệp Trang 19
- Các ƣu điểm của mô hình phân cấp: Nhờ mô hình phân cấp ngƣời thiết kết WAN
dễ tổ chức khảo sát, dễ lựa chọn các phƣơng án và công nghệ kết nối, dễ tổ chức triển
khai, cũng nhƣ đánh giá kết quả.
Chƣơng 3: Mô hình mạng đề xuất Trang 20
CHƢƠNG 3: MÔ HÌNH MẠNG ĐỀ XUẤT
3.1. Các yêu cầu về dịch vụ
Để xây dựng đƣợc một hệ thống mạng cục bộ, phục vụ hầu hết các công việc kinh
doanh, cần có:
- DNS primary server để phân giải tên miền nội bộ.
- DNS seconday để dự phòng cho primary DNS server
- DHCP server để cấp địa chỉ IP cho các host.
- DC server kết hợp samba để chứng thực tập trung cho các users.
- Web server để phục vụ trang web giới thiệu, quảng bá về công ty.
- Mail server để gởi nhận mail trong nội bộ và nếu muốn gởi mail ra ngoài thì phải
đăng ký tên miền trên internet.
- FTP server để trao đổi file.
- Cài đặt dịch vụ SAMBA để chia sẻ file trong mạng cục bộ giữa client windows và
linux.
- Cài đặt dịch vụ NFS để chia sẻ file trong mạng cục bộ giữa các client linux với
nhau.
- Cài đặt firewall, proxy, IDS để lọc gói tin, ngăn chặn và phát hiện tấn công đến các
server.
- Cài đặt telnet, ssh để điều kiển server từ xa.
- Cài đặt VPN server giúp remote client truy xuất mạng cục bộ.
3.2. Sơ đồ mạng thực tế
Dựa vào những yêu cầu trên, nhóm đề xuất mô hình mạng và các dải địa chỉ IP nhƣ
sau.
Chƣơng 3: Mô hình mạng đề xuất Trang 21
Web server, mail server, ftp server địa chỉ: 192.168.1.4/24
DC server, DNS secondary server, samba, nfs địa chỉ: 192.168.1.2/24
DHCP server, DNS primary server,VPN server địa chỉ: 192.168.1.3/24
Mạng cục bộ chứa các client có dãi địa chỉ : 192.168.2.0/24
Hình 3.1: Mô hình thực nghiệm
3.3. Sơ đồ mạng thực nghiệm
Bảng địa chỉ IP
IP Subnet mask Default gateway DNS
server1 eth0: 192.168.1.1 255.255.255.0
eth1:192.168.2.1 255.255.255.0
eth2: DHCP
Chƣơng 3: Mô hình mạng đề xuất Trang 22
server2
eth0: 192.168.1.4 255.255.255.0 192.168.1.1 192.168.1.3
192.168.1.2
server3
eth0: 192.168.1.2 255.255.255.0 192.168.1.1 192.168.1.3
192.168.1.2
server4 eth0: 192.168.1.3 255.255.255.0 192.168.1.1 192.168.1.3
192.168.1.2
client DHCP
Chƣơng 4: Các dịch vụ mạng Trang 23
CHƢƠNG 4: CÁC DỊCH VỤ MẠNG
4.1. Dịch vụ DNS
4.1.1. Giới thiệu về DNS
- Mỗi máy tính trên mạng muốn trao đổi thông tin với nhau thì cần phải biết rõ địa chỉ
IP của nhau.
- Mỗi máy tính ngoài địa chỉ IP còn có một tên (HOSTNAME). Để liên lạc thì việc
nhớ địa chỉ IP của nhau là việc rất khó khăn, đặc biệt là việc địa chỉ IPV4 càng ngày
không thể cung cấp đủ số lƣợng nhu cầu thì việc chuyển sang dùng IPV6 là điều tất yếu
và việc phải nhớ một dãy số hexa 32 số là việc không tƣởng.
- Do những khó khăn trên nên ngƣời ta nghĩ ra việc, làm sao để ánh xạ địa chỉ ip của
mỗi máy thành hostname của nó và ngƣợc lại. Để khi trao đổi với nhau ngƣời ta chỉ cần
nhớ tên hostname của máy tính bên kia.
- Ban đầu do quy mô mạng ARPA NET( tiền thân của mạng internet) còn nhỏ, nên chỉ
có một tập tin HOST.TXT lƣu thông tin và ánh xạ tên máy thành địa chỉ IP. Trong đó, tên
máy chỉ là chuỗi văn văn bản không phân cấp (plat name). Tập tin này đƣợc duy trì tại
một máy chủ và các máy chủ khác lƣu giữ bản sao của nó. Tuy nhiên khi quy mô mạng
lớn hơn, việc sử dụng tập tin HOST.TXT có các nhƣợc điểm sau :
+ Lƣu lƣợng mạng và máy chủ duy trì tập tin HOST.TXT bị quá tải.
+ Xung đột tên: do tên máy không phân cấp và không có cơ quản lý tập tin nên có
nguy cơ bị xung đột tên.
+ Không đảm bảo sự toàn vẹn: việc duy trì tập tin trên một mạng lớn rất khó khăn.
Ví dụ: khi tập tin HOST.TXT vừa cập nhật chƣa kịp chuyển đến máy chủ ở xa thì đã có
sự thay đổi địa chỉ trên mạng rồi.
- Tóm lại: việcsử dụng tập tin HOST.TXT không phù hợp cho mạng lớn vì thiếu cơ
chế phân tán và mở rộng . Do đó dịch vụ DNS ra đời nhằm khắc phục các nhƣợc điểm
này.
Chƣơng 4: Các dịch vụ mạng Trang 24
4.1.1.1. Hệ thống tên miền – DNS
- DNS hoạt động theo mô hình client - server. Máy chủ server chứa các thông tin
CSDL. Phía client là trình phân giải tên resolver, nó chỉ là các hàm thƣ viện dùng để tạo
các query và gởi chúng đến máy chủ DNS server.
- DNS hoạt động nhƣ một giao thức tầng application trong mạng TCP/IP.
- DNS là một cơ sở dữ liệu phân tán. Có nhiệm vụ chuyển đổi tên miền sang địa chỉ IP
và ngƣợc lại. Hệ thống DNS ra đời nhằm mục đích giúp ngƣời sử dụng một tên dễ nhớ,
dễ sử dụng.
- Nguyên tắc làm việc của DNS:
+ Mỗi nhà cung cấp dịch vụ vận hành và duy trì DNS server của riêng mình. Khi
có yêu cầu tìm kiếm một website nào đó, thì DNS server phân giải tên website này phải
là DNS server của chính tổ chức quản lý website đó.
+ INTERNIC - Internet Network Information Center chịu trách nhiệm quản lý các
tên miền và DNS server tƣơng ứng.
+ DNS server có khả năng truy vấn các DNS server khác. Ngoài việc phân giải tên
miền cho các máy trong nội bộ thì nó cũng hỗ trợ các truy vấn từ các máy ngoài mạng
internet vào bên trong.
+ DNS server cũng có khả năng nhớ lại các tên vừa phân giải, để dùng cho những
lần truy vấn lần sau. Số lƣợng tên miền đƣợc lƣu lại phụ thuộc vào quy mô của từng DNS
server.
4.1.1.2. Hoạt động của DNS server trong LINUX
- Phân loại DNS server
+ Primary name server: Nguồn xác thực thông tin chính thức cho các domain mà
nó đƣợc phép quản lý.
+ Secondary name server: server dự phòng cho primary server.
Chƣơng 4: Các dịch vụ mạng Trang 25
+ Caching name server: Lƣu lại các lần truy vấn của client, giúp cho các lần truy
vấn sau đƣợc nhanh chóng và giảm tải cho server.
- DNS zone là gì?
+ Là tập hợp các ánh xạ từ Host đến địa chỉ IP và từ IP tới Host trong một phần
liên tục trong một nhánh của Domain.
+ Thông tin DNS Zone là những Record gồm tên Host và địa chỉ IP đƣợc lƣu trong
DNS Server . DNS Server quản lí và trả lời những yêu cầu này từ Client liên quan đến
DNS Server này.
+ Hệ thống tên miền cho phép phân chia tên miền để quản lí và chia hệ thống tên
miền thành Zone và trong Zone quản lí tên miền đƣợc phân chia đó.
Zone file lƣu thông tin Zone ở dạng text hoặc trong Active Directorry.
+ Zone thuận và Zone nghịch
Zone thuận - Forward Lookup Zone để phân giải tên máy (Hostname) thành
địa chỉ IP.
Zone nghịch - Reverse Lookup Zone để phân giải địa chỉ IP thành tên máy
(Hostname).
- Các loại truy vấn
+ Truy vấn đệ quy (Recursive query) : Khi name server nhận đƣợc truy vấn dạng
này, nó bắt buộc phải trả về kết quả tìm đƣợc hoặc thông báo lỗi nếu nhƣ truy vấn này
không phân giải đƣợc. Nameserver không thể tham chiếu truy vấn đến một name server
khác. Namesserver có thể gửi truy vấn dạng đệ quy hoặc tƣơng tác đến nameserver khác
nhƣng nó phải thực hiện cho đến khi nào có kết quả mới thôi.
+ Truy vấn tƣơng tác: khi nameserver nhận đƣợc truy vấn dạng này, nó trả lời cho
resolver với thông tin tốt nhất mà nó có đƣợc vào thời điểm đó. Bản thân nameserver
Chƣơng 4: Các dịch vụ mạng Trang 26
không thực hiện bất cứ một truy vấn nào thêm. Thông tin tốt nhất trả về có thể lấy từ dữ
liệu cục bộ (kể cả cache). Trong trƣờng hợp nameserver không tìm thấy trong dữ liệu cục
bộ nó sẽ trả về tên miền và địa chỉ IP của nameserver gần nhất mà nó biết.
- Các file cấu hình chính.
+ Host.conf: là tệp điều khiển hoạt động của resolver, nó quy định các dịch vụ sử
dụng của resolver và thứ tự sử dụng của chúng.
+ Resolver (bộ giải): khi một chƣơng trình cần giải một tên host thì cần sử dụng
một cơ chế gọi là bộ giải. Bộ giải đầu tiên sẽ tra cứu file /etc/host.conf và xác định
phƣơng thức nào sẽ đƣợc sử dụng để giải các tên host (local file, name server, NIS hay
ldap server).
+ File named.conf: file cấu hình chính cùa DNS.
+ Các tệp cơ sở dữ liệu DNS - các file phận giải thuận, phân giải nghịch. Thành
phần cơ bản là bản ghi nguồn RR( Resource Record). Mỗi bản ghi có một kiểu dữ liệu,
bao gồm:
SOA (Start of Authority): Trong mỗi tập tin cơ sở dữ liệu phải có một và chỉ
một record SOA. Record SOA chỉ ra rằng máy chủ name server là nơi cung cấp thông tin
tin cậy từ dữ liệu có trong zone.
NS (Name Server): tên server
MX (Mail Exchange): chuyểnmail trên mạng Internet
A (Address): ánh xạ tên máy (hostname) vào địa chỉ IP
CNAME (Canonical Name): tên bí danh của server
PTR: dùng để ánh xạ địa chỉ IP thành Hostname.
4.1.2. Cài đặt và cấu hình
Chƣơng 4: Các dịch vụ mạng Trang 27
4.1.2.1. Cài đặt
- Cần download và cài đặt gới BIND trên máy linux. Thƣờng thì tên file cài đặt BIND
bắt đầu là bind, sau đó là version, ví dụ: bind-9.6.2-5.P2.fc12.i686
- Nếu không biết version nào, gõ: bind*
- Thông thƣờng có 2 cách cài đặt BIND là cài từ source và từ gói compile sẵn (RPM -
Redhat Package Manager).
+ Cài từ gói rpm:
rpm –ivh bind-9.3.3-10.el5.rpm
rpm –ivh bind-chroot-9.3.3-10.el5.rpm
Hoặc nếu có internet thì cài bằng lệnh yum nhƣ sau: yum –y install bind*
+ Cài từ source
Mount thƣ mụcchứa gói cài đặt DNS vào máy chủ Centos: #mount
/dev/cdrom/media/
Liệt kê các gói bind: #cd Centos
Cài đặt các gói phục vụ cho dịchvụ DNS: #rpm –ivh bind.*.rpm (* là phiên
bản của gói cài đặt).
4.1.2.2. Cấu hình DNS.
- Cấu hình master DNS
+ Cấu hìnhfile named.conf trong /var/named/chroot/etc/
options
{
allow-transfer {192.168.1.2;};
directory "/var/named";
query-source port 53;
query-source-v6 port 53;
dump-file "var/named/data/cache_dump.db";
Chƣơng 4: Các dịch vụ mạng Trang 28
statistics-file "var/named/data/named_stats.txt";
memstatistics-file "var/named/data/named_mem_stats.txt";
notify yes;
};
zone "." IN {
type hint;
file "named.root";
};
zone "localhost" IN {
type master;
file "localhost.db";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.in-addr.arpa.db";
};
zone "spkt.com.vn" IN {
type master;
file "spkt.db";
allow-transfer{ 192.168.1.2; };
allow-update{ 192.168.1.2; };
allow-query{ any; };
};
zone "1.168.192.in-addr.arpa" IN{
type master;
file "1.168.192.in-addr.arpa.db";
allow-update{ 192.168.1.2 ;};
allow-transfer{ 192.168.1.2; };
allow-query{ any; };
}
Named.root chứa địa chỉ của DNS root server trên toàn cầu.
zone "localhost" là zone phân giải thuận của localhost.
zone "0.0.127.in-addr.arpa” là zone phân giải nghịch của localhost
zone "spkt.com.vn" là zone phân giải thuận trong miền nội bộ của hệ thống.
zone "1.168.192.in-addr.arpa" là zone phân giải nghịch trong miền nội bộ.
Phân giải trong miền nội bộ phụ thuộc rất lớn vào 2 file này.
Chƣơng 4: Các dịch vụ mạng Trang 29
+ Cấu hình file "spkt.db";trong /var/named/chroot/var/named/
Hình 4.1: Nội dung file cấu hình phân giải thuận
+ Cấu hình file phân giải nghịch "1.168.192.in-addr.arpa.db" trong
/var/named/chroot/var/named/
Hình 4.2: Nội dung file cấu hình phân giải ngƣợc
- Cấu hình DNS Slave
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
Chƣơng 4: Các dịch vụ mạng Trang 30
recursion yes;
};
zone "spkt.com.vn" {
type slave;
masters { 192.168.1.3; };
file "spkt.db";
allow-update{ none; };
};
zone "1.168.192.in-addr.arpa" {
type slave;
masters {192.168.1.3; };
file "3.1.168.192.in-addr.arpa.db";
allow-update {none; };
};
Sau khi cấu hình xong file này và ping thành công 2 máy thì khi restart lại dịch
vụ, DNS slave tự động cập nhật các cấu hình bên máy Master qua file cấu hình.
- Kiểm tra dịch vụ DNS phân giải trong nslookup
Hình 4.3: DNS phân giải trong nslookup
4.2. Dịch vụ DHCP
4.2.1. Giới thiệu DHCP
4.2.1.1. Dịch vụ cung cấp IP động DHCP
- Hệ thống cần cung cấp IP mỗi máy tính để các máy này có thể liên lạc với nhau.
Chƣơng 4: Các dịch vụ mạng Trang 31
- Với mô hình mạng tƣơng đối nhỏ việc cấp IP tƣơng đối dễ dàng. Nhƣng với 1 mô
hình mạng lớn thì việc cung cấp IP trở nên khó khăn.
Cần phải có một dịch vụ cung cấp IP tự động cho các máy client trong hệ thống mạng
- DHCP là một dịch vụ cung cấp IP động cho các Client.
- Hoạt động theo mô hình Client – Server.
- Ngoài ra DHCP còn có nhiều tính năng khác cho client nhƣ: cung cấp địa chỉ của
máy tính dùng để giải quyết tên miền DNS, địa chỉ của một Gateway router, …
4.2.1.2. Cấu hình DHCP server bao gồm bốn thông số sau:
- Options: Dùng để cung cấp các yếu tố cho phía client nhƣ địa chỉ IP, địa chỉ subnet
mask, địa chỉ Gateway, địa chỉ DNS …
- Scope: Một đoạn địa chỉ đƣợc quy định trƣớc trên DHCP server dùng để gán cho các
máy client.
- Reservation: Là những đoạn địa chỉ dùng để “để dành” trong một scope đã đƣợc quy
định ở trên.
- Lease: Thời gian “cho thuê” địa chỉ IP đối với mỗi client.
4.2.2. Cài đặt và cấu hình
- Để cấu hình dịch vụ DHCP, bạn cần phải cài đặt gói dịch vụ DHCP. Có 2 cách cài
đặt:
+ Cách 1: cài đặt từ đĩa cd
#rpm –ivhdhcp-*.rpm (với * là phiên bản của gói dịch vụ).
+ Cách 2: cài đặt bằng cách tải từ trên mạng
#yum –y install dhcp
- Kiểm tra gói cài đặt :# rpm –qa|grepdhcp
- Cấu hình
+ Bƣớc 1: tạo file cấu hình dhcpd.conf bằng cách sửa đổi file
dhcpd.conf.sample
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
+ Bƣớc 2: sửa file cấu hình dhcpd.conf…
Chƣơng 4: Các dịch vụ mạng Trang 32
Hình 4.4: Nội dung file cấu hình dhcp server
Ý nghĩa của một số options:
ddns-update-style interim
ignore client-updates
subnet … netmask … : địa chỉ subnet và netmask
option router: Default gateway
option subnet-mask: Netmask cấp cho client
option nis-domain: NIS domain
option domain-name: Domain name
option domain-name-servers: IP DNS server
range dynamic-bootp: vùng địa chỉ cấp cho các clients
default-lease-time: thời gian mặc định cấp cho 1 client
max-lease-time: thời gian tối đa cấp cho 1 client
host ns: khai báo những máy luôn nhận IP cố định.
+ Bƣớc 3. Khởi động dịch vụ
Không cho phép DHCP cập
nhật động DNS
Chƣơng 4: Các dịch vụ mạng Trang 33
Khởi động dịch vụ DHCP:
# service dhcpd restart
Để dịch vụ khởi động khi khởi động máy tính, dùng lệnh:
# chkconfig dhcpd on
Để tắt dịch vụ, dùng lệnh:
# service dhcpd stop
- Cấu hình DHCP replay agent
+ Khi các client nẳm khác mạng với DHCP server, mọi gọi resquest từ DHCP
client đều không thể vƣợt qua đƣợc router. Do vậy ta phải cấu hình router làm DHCP
replay agent làm nhiệm vụ trung gian giữa DHCP server và DHCP client.
+ Mô hình mạng :
Hình 4.5: Mô hình thực nghiệm
Chƣơng 4: Các dịch vụ mạng Trang 34
+ Cấu hình trên máy DHCP replay agent:
Vi /etc/sysconfig/dhcrelay
Hình 4.6: Nội dung file cấu hình dhcp replay agent
Trong đó:
INTERFACES: khai báo các card mạng nối DHCP Server với các Subnet
cần cấp IP.
DHCPSERVERS: khai báo địa chỉ IP của DHCP Server.
+ Lƣu file và khởi động dịch vụ DHCP Relay Agent bằng lệnh: service dhcrelay
restart
+ Mở routing trên DHCP replay agent , thiết lập các dòng dƣới bằng 1.
Vi /etc/sysctl.conf
Hình 4.7: Nội dung file cấu hình định tuyến
4.3. Dịch vụ telnet
4.3.1. Giới thiệu telnet
- Telnet viết tắt của Terminal Network là một giao thức mạng.
- Telnet là một giao thức khách – chủ cho phép ngƣời quản trị điều khiển máy chủ từ
xa.
- Telnet sử dụng giao thức TCP để truy cập.Thƣờng kết nối vào cổng 23 của máy chủ.
- Ngày nay ngƣời ta càng ít dùng telnet vì 3 nguyên nhân sau:
+ Càng ngày càng phát hiện các điểm yếu trong các daemon của telnet
Chƣơng 4: Các dịch vụ mạng Trang 35
+ Telnet không mã hóa dữ liệu trên đƣờng truyền, kể cả mật khẩu
+ Telnet không chứng thực ngƣời dùng
- Tuy nhiên telnet vẫn đƣợc dùng trong các trƣờng hợp không cần mã hóa thông tin
nhƣ gỡ lỗi, tìm các sai sót trong các dịch vụ mạng, tham gia cộng đồng online.
4.3.2. Cấu hình và cài đặt
- Cài đặt : yum install –y telnet-server
- Cấu hình
+ Mở file cấu hình vi /etc/xinetd.d/telnet
Hình 4.8: Nội dung file cấu hình telnet
+ Sửa dòng disable = no để mở telnet. Sau đó restart lại dịch vụ bằng dòng lệnh
service xinetd restart và telnet vào server.
Hình 4.9: Login telnet
Lƣu ý: nếu có firewall thì phải tắt đi: service iptables stop hoặc vào vi
/etc/sysconfig/iptables và thêm dòng nhƣ sau: iptables -A INPUT -p tcp --dport 23 -j
ACCEPT
- Cấu hình security cho telnet
+ Only_from = 172.16.0.0 255.255.0.0 chỉ cho telnet từ một địa chỉ
Chƣơng 4: Các dịch vụ mạng Trang 36
Hình 4.10: Nội dung file cấu hình security cho telnet
+ Chỉnh sửa tại 2 file /etc/hosts.allow và /etc/hosts.deny để cho phép hoặc cấm các
máy dùng dịch vụ telnet
Chỉnh sửa 2 file: vi /etc/hosts.allow và vi /etc/hosts.deny
Trong hosts.allow thêm dòng: in.telnetd : địa chỉ của host đƣợc truy cập
Trong hosts.deny thêm dòng: in.telnetd: địa chỉ của host không cho phép
truy cập
Vd: Trong hosts.allow: in.telnetd: 192.168.1.36, Trong hosts.deny:
in.telnetd: ALL
+ Cho phéptelnet ở port 2323. Vào vi/etc/services sửa các dòng
telnet 23/tcp thành telnet 2323/tcp
telnet 23/udp thành telnet 2323/udp
+ Ngoài ra, cũng có thể cấu hình trong vi /etc/xinetd.conf. Những cấu hình trong
này sẽ áp dụng cho tất cả các dịch vụ mà xinetd cung cấp
4.4. Dịch vụ ssh
4.4.1. Sơ lƣợc về SSH
- SSH (Secure Shell) là một giao thức mạng tƣơng tác giữa máy server và máy client.
Cung cấp các cơ chế mã hóa, bảo mật dữ liệu chống lại sự đánh cắp trên đƣờng truyền.
- SSH làm việc thông qua 3 bƣớc:
+ Định danh host – xác định định danh của hệ thống tham gia phiên làm việc ssh.
Bằng cách trao đổi khóa, mối khóa gồm khóa công khai và khóa bí mật.
+ Mã hóa - thiết lập kênh làm việc mã hóa bằng 3DES, IDEA, Blowfish, MD5, ...
Chƣơng 4: Các dịch vụ mạng Trang 37
+ Chứng thực – xác thực ngƣời sử dụng có quyền đăng nhập vào hệ thống. Có
nhiều cách nhƣ chứng thực rhost, mật khẩu, RSA, ssh-keygen và ssh-agent.
- Đặc điểm của SSH
+ Tính bí mật (Privacy) của dữ liệu thông qua việc mã hóa mạnh mẽ.
+ Tính toàn vẹn (integrity) của thông tin truyền, đảm bảo chúng không bị biến đổi.
+ Chứng minh xác thực (authenticaiton) : nhận dạng đƣợc bên gởi và bên nhận
+ Phân quyền (authrization): dùng để điều khiển truy cập đến tài khoản
+ Chuyển tiếp (forwarding) hoặc tạo đƣờng hầm (tunneling) để mã hóa những
phiên làm việc dựa trên giao thức TCP/IP
4.4.2. Cài đặt và cấu hình.
- Cài đặt : yum install ssh
- Cấu hình : file cấu hình chính vi /etc/ssh/sshd_config
+ PermitRootLogin yes: cho phép root có đƣợc SSH không
+ ClientAliveInterval 300: thời gian chờ để login là 300s
+ Port 22: mặc định port để ssh là 22, ta cũng có thể đổi thành 2222
+ PasswordAuthentication no: cho phép chứng thực bằng mật khẩu.
+ PubkeyAuthentication yes: chứng thực bằng key.
+ AllowUsers, DenyUsers, AllowGroups, DenyGroups : cho phép hay từ chối
những users hay groups nào đƣợc phép SSH.
+ LoginGraceTime: quy định số giây đăng nhập vào server, giả sử 400 = gần 7
phút, trong khoảng thời gian này nếu có user nào đăng kết nối vào không thành công, truy
cập không hợp lệ thì tự động disconnect.
Chƣơng 4: Các dịch vụ mạng Trang 38
Hình 4.11: Nội dung file cấu hình sshd.config
- Kết nối SSH qua phần mềm putty
Hình 4.12: Giao diện phần mềm PuTTY
- Cấu hình SSH chứng thực bằng khóa.
+ Tạo cặp khóa Public key và Private key bằng thuật toán RSA hoặc DSA.
+ Public Key: sử dụng cho server.
Chƣơng 4: Các dịch vụ mạng Trang 39
+ Private Key: sử dụng cho client.
+ Muốn tạo khóa login cho user nào thì phải login bằng user đó. Sau khi login
thành công, tiến hành gõ lệnh: ssh-keygen –t rsa hoặc ssh-keygen –t dsa
Hình 4.13: Lệnh xin khóa rsa
+ /root/.ssh/id_rsa.pub: khóa public
+ /root/.ssh/id_rsa: khóa private
+ Đổi tên id_rsa.pub thành authorized_keys và chmod về 600.
Hình 4.14: Đổi tên và chmod id_rsa.pub
+ Dùng chƣơng trình Winscp để copy file id_rsa sang windows.
Chƣơng 4: Các dịch vụ mạng Trang 40
Hình 4.15: Giao diện Winscp
+ Chỉnh sửa trong sshd_config nhƣ sau:
RSAuthentication yes
PubkeyAuthentication yes
AuthorizedkeysFile .ssh/authorized_keys
PasswordAuthentication no
+ Dùng chƣơng trình puttygen import file id_rsa vừa copy qua.
Hình 4.16: Giao diện putty gen
Chƣơng 4: Các dịch vụ mạng Trang 41
+ Sau đó chỉ đƣờng dẫn để lƣu private key ở trên
Hình 4.17: Load private key
+ Mở chƣơng trình putty chuyển xuống phần SshAuthBrowser đến file
Private key đã lƣu ở trên.
Hình 4.18: Chỉ đƣờng dẫn đến private key
Chƣơng 4: Các dịch vụ mạng Trang 42
+ Đăng nhập và kiểm thử
Hình 4.19: Kiểm thử ssh
4.5. LDAP
4.5.1. Giới thiệu
- LDAP (Lightweight Directory Access Protocol) là giao thức truy cập nhanh các dịch
vụ thƣ mục - là một chuẩn mở rộng cho nghi thức truy cập thƣ mục.
- LDAP đƣợc tạo ra đặc biệt cho hành động "đọc". Bởi thế, xác thực ngƣời dùng bằng
phƣơng tiện "lookup" LDAP nhanh, hiệu suất, ít tốn tài nguyên, đơn giản hơn là truy vấn
đến 1 tài khoản ngƣời dùng trên CSDL
- LDAP dùng giao thức dạng Client/Server để truy cập dịch vụ thƣ mục.
Hình 4.20: Mô hình client server
- LDAP chạy trên TCP/IP hoặc các dịch vụ hƣớng kết nối khác.
- Có các LDAP Server nhƣ: OpenLDAP, OPENDS, Active Directory, …
- Các đối tƣợng lƣu trong LDAP gọi là entry
- Mỗi entry có nhiều thuộc tính và đƣợc phân biệt với nhau bởi globally-unique
Distinguished Name (DN)
- Mỗi entry có thuộc một type và có một hoặc nhiều value
- LDAP lƣu trữ đối tƣợng theo cấu trúc cây
Chƣơng 4: Các dịch vụ mạng Trang 43
- Cấu trúc phản ánh về vị trí địa lý, tổ chức, chức vụ của các entry
Hình 4.21: Cấu trúc cây trong ldap
- LDAP sử dụng Berkeley BD để nâng cao hiệu suất, khả năng co giãn và tăng độ tin
cậy
- LDAP chạy port 389
- LDAP over TLS chạy port 636
4.5.1.1. Phƣơng thức hoạt động của LDAP
- Ldap dùng giao thức giao tiếp client/server
- Giao thức giao tiếp client/sever là một mô hình giao thức giữa một chƣơng trình
client chạy trên một máy tính gởi một yêu cầu qua mạng đến cho một máy tính khác đang
chạy một chƣơng trình sever (phục vụ).
- Chƣơng trình server này nhận lấy yêu cầu và thực hiện sau đó nó trả lại kết quả cho
chƣơng trình client
- Ý tƣởng cơ bản của giao thức client/server là công việc đƣợc gán cho những máy
tính đã đƣợc tối ƣu hoá để thực hiện công việc đó.
- Một máy server LDAP cần có rất nhiều RAM (bô nhớ) dùng để lƣu trữ nội dung các
thƣ mục cho các thao tác thực thi nhanh và máy này cũng cần đĩa cứng và các bộ vi xử lý
ở tốc độ cao.
Chƣơng 4: Các dịch vụ mạng Trang 44
- Client mở một kết nối TCP đến LDAP server và thực hiện một thao tác bind. Thao
tác bind bao gồm tên của một directory entry và thông tin xác thực sẽ đƣợc sử dụng trong
quá trình xác thực, thông tin xác thực thông thƣờng là pasword nhƣng cũng có thể là ID
của ngƣời dùng.
- Sau khi thƣ mục có đƣợc sự xác định của thao tác bind, kết quả của thao tác bind
đƣợc trả về cho client. Client phát ra các yêu cầu tìm kiếm.
- Server thực hiện xử lý và trả về kết quả cho client.
- Server gởi thông điệp kết thúc việc tìm kiếm.
- Client phát ra yêu cầu unbind.
- Server đóng kết nối.
- LDAP là một giao thức hƣớng thông điệp
- Do client và sever giao tiếp thông qua các thông điệp, client tạo một thông điệp
(LDAP message) chứa yêu cầu và gởi nó đến cho server. Server nhận đƣợc thông điệp và
xử lý yêu cầu của client sau đó gởi trả cho client cũng bằng một thông điệp LDAP.
Hình 4.22:Luồng thông điệp giữa client server
- Nếu client tìm kiếm thƣ mục và nhiều kết quả đƣợc tìm thấy, thì các kết quả này
đƣợc gởi đến client bằng nhiều thông điệp.
Hình 4.23: Những thông điệp Client gửi cho server
Chƣơng 4: Các dịch vụ mạng Trang 45
- Do nghi thức LDAP là giao thức hƣớng thông điệp nên client đƣợc phép phát ra
nhiều thông điệp yêu cầu đồng thời cùng một lúc. Trong LDAP, message ID dùng để
phân biệt các yêu cầu của client và kết quả trả về của server.
Hình 4.24: Nhiều kết quả tìm kiếm đƣợc trả về
- Việc cho phép nhiều thông điệp cùng xử lý đồng thời làm cho LDAP linh động hơn
các nghi thức khác.
- Ví dụ nhƣ HTTP, với mỗi yêu cầu từ client phải đƣợc trả lời trƣớc khi một yêu cầu
khác đƣợc gởi đi, một HTTP client program nhƣ là Web browser muốn tải xuống cùng
lúc nhiều file thì Web browser phải thực hiện mở từng kết nối cho từng file, LDAP thực
hiện theo cách hoàn toàn khác, quản lý tất cả thao tác trên một kết nối.
4.5.1.2. Các thao tác của giao thức LDAP
- LDAP có 9 thao tác cơ bản, chia thành 3 nhóm thao tác chính:
+ Thao tác thẩm tra (interrogation) : search, compare. Hai thao tác này cho phép
thực hiện thẩm tra trên thƣ mục.
+ Thao tác cập nhật (update): add, delete, modify, modify DN ( rename ). Những
thao tác này cho phép thực hiện cập nhật thông tin trên thƣ mục.
+ Thao tác xác thực và điều kiển (authentiaction and control) : bind, unbind,
abandon. Thao tác bind cho phép client tự xác định đƣợc mình với thƣ mục, thao tác này
cung cấp sự xác nhận và xác thực chứng thƣ; unbind cho phép client huỷ bỏ phân đoạn
làm việc hiện hành và cuối cùng là thao tác abandon cho phép client chỉ ra các thao tác
mà kết quả client không còn quan tâm đến nữa.
4.5.1.3. Mô hình LDAP Security
- Vấn đề cuối cùng trong các mô hình LDAP là việc bảo vệ thông tin trong thƣ mục
khỏi các truy cập không đƣợc phép. Khi thực hiện thao tác bind dƣới một tên DN hay có
Chƣơng 4: Các dịch vụ mạng Trang 46
thể client một ngƣời vô danh thì với mỗi user có một số quyền thao tác trên entry thƣ
mục. Và những quyền nào đƣợc entry chấp nhận tất cả những điều trên gọi là truy cập
điều kiển (access control). Hiện nay LDAP chƣa định nghĩa ra một mô hình Access
Control, các điều kiển truy cập này đƣợc thiết lập bởi các nhà quản trị hệ thống bằng các
server software.
4.5.1.4. LDAP Data Interchange Format (LDIF)
- Ldap định nghĩa ra LDIF là dạng văn bản để mô tả thông tin thƣ mục. LDIF có thể
mô tả một tập hợp các entry thƣ mục hay là tập hợp các cập nhật lên dữ liệu lên thƣ mục
có thể trao đổi cho nhau bằng cách dùng LDIF.
- File LDIF thƣờng đƣợc sử dụng để import dữ liệu mới vào trong directory của bạn
hoặc thay đổi dữ liệu đã có. Dữ liệu trong file LDIF cần phải tuân theo quy luật có trong
schema của LDAP directory.
- Schema là một loại dữ liệu đã đƣợc định nghĩa từ trƣớc trong directory của bạn. Mọi
thành phần đƣợc thêm vào hoặc thay đổi trong directory của bạn sẽ đƣợc kiểm tra lại
trong schema để đảm bảo sự chính xác. Lỗi vi phạm schema sẽ xuất hiện nếu dữ liệu
không đúng với quy luật đã có.
- Một entry là tập hợp của các thuộc tính, từng thuộc tính này mô tả một nét đặt trƣng
tiêu biểu của một đối tƣợng. Một entry bao gồm nhiều dòng :
+ dn : distinguished name - là tên của entry thƣ mục, tất cả đƣợc viết trên một
dòng.
+ Sau đó lần lƣợt là các thuộc tính của entry, thuộc tính dùng để lƣu giữ dữ liệu.
Mỗi thuộc tính trên một dòng theo định dạng là “kiểu thuộc tính : giá trị thuộc tính”.
+ Thứ tự các thuộc tính không quan trọng, tuy nhiên để dễ đọc đƣợc thông tin nên
đặt các giá trị objectclass trƣớc tiên và làm sao cho các giá trị của các thuộc tính cùng
kiểu ở gần nhau.
- Ví dụ: một mô tả của ldif
dn: o=it,dc=hcmute,dc=edu,dc=vn
objectClass: top
objectClass: organization
Chƣơng 4: Các dịch vụ mạng Trang 47
description: information technology
o: it
givenName: linh
uid: linh
cn: linh
telephoneNumber: 125698742
sn: tuanh
entryUUID: fbcb85d5-e17c-494e-a36d-5932fb503125
createTimestamp: 20100326000527Z
- Một số các thuộc tính của file ldif
Tên Mô tả
dn Distinguished name: tên gọi để phân biệt
c Country: 2 ký tự viết tắt của quốc gia
o Organization- tổ chức
ou Organization unit: đơn vị tổ chức
objectClass Mỗi giá trị objectClass hoạt động nhƣ một
khuôn mẫu cho các dữ liệu đƣợc lƣu giữ
trong một entry. Nó định nghĩa một bộ các
thuộc tính phải đƣợc trình bày trong entry
(Ví dụ : entry này có giá trị của thuộc tính
objectClass là eperson, mà trong eperson có
quy định cần có các thuộc tính là tên, email,
uid ,…thì entry này sẽ có các thuộc tính đó),
còn bộ các thuộc tính tùy chọn có thể có
hoặc có thể không có mặt.
givenName tên
uid id ngƣời dùng
cn common name – tên thƣờng gọi
telephoneNumber Số điện thoại
sn Surname: họ
userPassword Mật khẩu
mail Địa chỉ mail
Chƣơng 4: Các dịch vụ mạng Trang 48
facsimileTelephoneNumber Số fax
createTimestamp thời gian tạo ra entry này
creatorsName tên ngƣời tạo ra entry này
pwdChangedTime thời gian thay đổi mật khẩu
entryUUID id của entry
4.5.2. Cài đặt và cấu hình LDAP
Phần này trình bày các bƣớc cài đặt và cấu hình LDAP trên DC server.
4.5.2.1. Cài đặt Berkeley Database
- http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html
- Giải nén
- Vào thƣ mục db-<version>.NC/build_unix
- ../dist/configure
- make
- make install
- Thêm biến môi trƣờng trong file /etc/profile
- export
LD_LIBRARY_PATH="/usr/lib:/usr/local/lib:/usr/local/BerkeleyDB.4.8/lib:/usr/lib/open
ssl"
4.5.2.2. Cài đặt OpenLdap
- http://www.openldap.org/software/download/
- Vào thƣ mục giải nén
- LD_LIBRARY_PATH="/usr/lib:/usr/local/lib:/usr/local/BerkeleyDB.5.3/lib"
LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.5.3/lib" CPPFLAGS="-
I/usr/local/include -I/usr/local/BerkeleyDB.5.3/include" ./configure
- make depend
Chƣơng 4: Các dịch vụ mạng Trang 49
- make
- make test
- make install
- /usr/local/etc/openldap/slapd.conf: file cấu hình chính của dịch vụ ldap
- /usr/local/etc/openldap/schema: thƣ mục chứa các schema định nghĩa các objectclass
và attribute
- Start dịch vụ ldapd
- /usr/local/libexec/slapd -h "ldap:/// ldaps:///"
- Tạo script startup :
+ Vi /etc/init.d/openldap
+ #!/bin/bash
+ case “$1” in
+ ’start’)
+ /usr/local/libexec/slapd -h "ldap:/// ldaps:///" ;;
+ ’stop’)
+ pkill -9 slapd ;;
+ *)
+ echo “Usage: $0 { start | stop }”
+ exit 1
+ esac
+ exit 0
+ gán quyền thực thi: chmod 755 /etc/init.d/openldap
+ mở /etc/ld.so.conf – quy định những thƣ viện chia sẻ, thêm vào
/usr/local/lib/
/usr/local/BerkeleyDB.4.8/lib: để chỉ nơi chứa thƣ viện
+ Gõ ldconfig -v
- Cấu hình /usr/local/etc/openldap/slapd.conf
- Khai báo các schema
Chƣơng 4: Các dịch vụ mạng Trang 50
- slaptest –u : kiểm tra file cấu hình
- Thêm domain vào ldap
- Tạo file domain.ldif với nội dung sau
+ dn:dc=spkt,dc=com,dc=vn
+ objectclass:dcObject
+ objectclass:organization
+ o:DHSPKT
- ldapadd –D “cn=manager,dc=spkt,dc=com,dc=vn” –W –f domain.ldif
- Tạo file ou.ldif với nội dung sau
+ dn:ou=sinhvien,dc=spkt,dc=com,dc=vn
+ objectclass:OrganizationalUnit
+ ou:sinhvien
+ ldapadd –D “cn=manager, dc=spkt,dc=com,dc=vn” –W –f ou.ldif
- Tạo file user.ldif với nội dung sau
Chƣơng 4: Các dịch vụ mạng Trang 51
+ dn: uid=sv1,ou= sinhvien, dc=spkt,dc=com,dc=vn
+ uid: sv1
+ cn: Tran
+ givenName: linh
+ sn: Tran
+ objectClass: person
+ objectClass: organizationalPerson
+ objectClass: inetOrgPerson
+ objectClass: top
+ objectClass: posixAccount
+ objectClass: shadowAccount
+ userPassword: 123456
+ loginShell: /bin/bash
+ uidNumber: 501
+ gidNumber: 501
+ homeDirectory: /home/hv1
+ ldapadd –D “cn=manager, dc=spkt,dc=com,dc=vn” –W –f user.ldif
- Cấu hình client chứng thực bằng samba-ldap
+ Client cài gói :openldap, openldap-clients, authconfig, nss-pam-ldapd
- authconfig --enableldap --enableldapauth --ldapserver='ldap://<ldap-server>/' --
ldapbasedn='dc=spkt,dc=com,dc=vn' --enablemkhomedir --enableshadow --
enablelocauthorize –update
4.5.2.3. Cài đặt PHPLDAPADMIN để quản lý LDAP bằng giao diện web
- Download http://phpldapadmin.sourceforge.net/wiki/index.php/Download
- Yum install httpd php php-ldap
- Giải nén phpldapadmin
- Di chuyển vào /var/www/html
- Đổi tên thành phpldapadmin
- Vào phpldapadmin
Chƣơng 4: Các dịch vụ mạng Trang 52
- cp config/config.php.sample config/config.php
- vào /var/www/html/phpldapadmin/config/config.php
- chỉnh sửa dòng 300
- Chỉnh sửa các dòng 318,327,332
- Service httpd restart, /usr/local/libexec/slapd
- Giao diện web
Hình 4.25: Giao diện web phpldapadmin
4.5.2.4. Cài smbldap-tools để thêm, xóa, sửa user, group vừa cho samba,
ldap và hệ thống.
- Cài phần mềm phụ thuộc
- rpm -ivh http://download3.fedora.redhat.com/pub/epel/6/i386/epel-release-6-
8.noarch.rpm
Chƣơng 4: Các dịch vụ mạng Trang 53
- yum install smbldap-tools, openldap-clients, nss-pam-ldapd
- vi /etc/samba/smb.conf
2 [global]
3 workgroup = spkt.com.vn
4 server string = WINDOW8
5 netbios name = SAMBA
6 log file = /var/log/samba/log.%m
7 max log size = 50
8 security = user
9 ldap passwd sync = yes
10 passdb backend = ldapsam:ldap://127.0.0.1/
11 ldap admin dn = cn=manager,dc=spkt.dc=com,dc=vn
12 ldap ssl = off
13 ldap suffix = dc=spkt.dc=com,dc=vn
14 ldap group suffix = ou=Groups
15 ldap user suffix = ou=Users
16 ldap machine suffix = ou=Computers
17
18 add machine script = /usr/sbin/smbldap-useradd -w "%u"
19 add user script = /usr/sbin/smbldap-useradd -m "%u"
20 ldap delete dn = Yes
21 delete user script = /usr/sbin/smbldap-userdel "%u"
22 add group script = /usr/sbin/smbldap-groupadd -p "%g"
23 delete group script = /usr/sbin/smbldap-groupdel "%g"
24 add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
25 delete user from group script = /usr/sbin/smbldap-groupmod -x "%u"
"%g"
26 set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
27 domain master = yes
28 domain logons = yes
29 os level = 33
30 preferred master = yes
31 local master = yes
32
33 [homes]
34 comment = Home Directories
35 browseable = yes
36 writable = yes
37 ; valid users = %S
38 ; valid users = MYDOMAIN\%S
39
40 # Un-comment the following and create the netlogon directory for Domain
Chƣơng 4: Các dịch vụ mạng Trang 54
Logons
41 [netlogon]
42 comment = Network Logon Service
43 path = /netlogon
44 read only = yes
45 browseable = no
46
47 # Un-comment the following to provide a specific roving profile share
48 # the default is to use the user's home directory
49 ; [Profiles]
50 ; path = /var/lib/samba/profiles
51 ; browseable = no
52 ; guest ok = yes
53
54 # A publicly accessible directory, but read only, except for people in
55 # the "staff" group
56 [teacher]
57 path = /data/teacher
58 public = yes
59 read only = yes
60 write list = iforno
61 [student]
62 path = /data/student
63 public = yes
64 read only = yes
- mkdir /netlogon
- smbpasswd -W
- service nmb restart
- service smb restart
- reboot
- Thêm samba.schema vào LDAP
cp /etc/openldap/schema/samba.schema
/usr/local/etc/openldap/schema/
- authconfig --enableldap --enableldapauth --ldapserver='ldap://<ldap-server>/' --
ldapbasedn='dc=spkt,dc=com,dc=vn' --enablemkhomedir --enableshadow --
enablelocauthorize –update
Chƣơng 4: Các dịch vụ mạng Trang 55
- smbpasswd –W : đặt password cho user admin
- Lấy local SID
Net getlocalsid <WORKGROUP>
- Cấu hình smbldap-tools
perl /usr/share/doc/smbldap-tools-<version>/configure.pl
- smbldap-populate
- Thêm user linh vào nhóm Domain Admins smbldap-useradd –ma linh –G “Domain
Admins”
- Đặt mật khẩu: smbldap-passwd linh
- Cấp quyền cho user linh
net rpc rights grant -U linh “spkt.com.vn\Domain Admins"
SeMachineAccountPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege
SeDiskOperatorPrivilege SeRemoteShutdownPrivilege
- Khởi động lại ldap, samba để join domain “spkt.com.vn” bằng user linh
Chƣơng 4: Các dịch vụ mạng Trang 56
Hình 4.26: Màn hình join domain
- Join thành công
Hình 4.27: Màn hình join domain thành công
Chƣơng 4: Các dịch vụ mạng Trang 57
4.6. Dịch vụ NFS
4.6.1. Giới thiệu NFS
- Phát triển bởi Sun Microsystem năm 1984
- Cho phép client truy cập share file trên hệ thống mạng nhƣ local thông qua Open
Network Computing Remote Procedure Call (ONC RPC)
- Gồm các version 2, 3 và 4
+ NFSv2
Truyền dữ liệu bằng UDP
Truyền file với kích thƣớc tối đa 2GB
Đƣợc định nghĩa trong RFC1094
+ NFSv3
Truyền dữ liệu bằng UDP và TCP
Truyền file với kích thƣớc lớn hơn 2GB
Hỗ trợ chế độ asynchronous
Đƣợc định nghĩa trong RFC1813
Synchronous: Khi dữ liệu thay đổi thì NFS sẽ ghi vào server buffer cache và
sau đó server buffer cache sẽ ghi vào disk. Client phải đợi quá trình này hoàn tất
Asynchronous: Khi dữ liệu thay đổi thì NFS sẽ ghi vào server buffer cache.
Client không phải đợi quá trình ghi vào disk. Hệ thống hoàn toàn tin tƣởng server buffer
cache sẽ ghi thành công vào disk
+ NFSv4.1
Cải thiện performance
Nâng cao bảo mật
Hỗ trợ clustering giữa các server và truy cập song song
4.6.2. Cài đặt và cấu hình
- NFS chia sẽ file, thƣ mục theo qui định trong file /etc/exports
- /etc/exports là file chứa danh sách các mount point để client truy cập. Mỗi dòng là
một mount point
Chƣơng 4: Các dịch vụ mạng Trang 58
- Cấu trúc mỗi dòng /etc/exports nhƣ sau
- <share_folder> <host1>(<options>)…..<hostN>(<options>)
/data 192.168.1.1(rw) 192.168.1.2(ro)
+ Host: hostname và IP
+ Group: @<groupname>
+ Wildcard: ? *
+ Network: A.B.C.D/X
- Ngoài ra, NFS còn đỏi hỏi phải có một Daemon quan trọng dùng để quản lý các kết
nối đó là Portmap. Mặc định portmap đƣợc cài đặt sẳn trên hệ thống. Portmap listen trên
TCP port 111.
- Trên CentOS 6 thì Portmap đƣợc cài đặt bằng gói rpcbind
4.6.2.1. Các options
- secure (insecure): source port của client phải nhỏ hơn 1024
- Rw: cho phép client thay đổi trên share folder
- Ro: chỉ cho phép đọc
- noaccess: không cho phép truy cập
- sync (async): đồng bộ hay không đồng bộ
- root_squash: không ánh xạ uid, gid giữa server và client (tất cả đều là nfsnobody)
- no_root_squash: ánh xạ uid, gid giữa server và client
4.6.2.2. Cài đặt
- Server cài đặt
+ nfs-utils-lib
+ nfs-utils
+ rpcbind
- Client cài đặt: nfs-utils-lib
4.6.2.3. Cấu hình
- Mở file exports bằng lệnh vi /etc/exports. Nhập:
để share folder data cho mạng 192.168.1.0/24
Chƣơng 4: Các dịch vụ mạng Trang 59
- Tiến hành restart lại dịch vụ:
+ service rpcbind start
+ service nfs restart
- Trên client tiến hành kiểm tra thƣ mục chia sẻ trên server
- client mount thƣ mục chia sẻ
Trong đó: 192.168.1.34 là địa chỉ nfs server
:/data là thƣ mục share trên server
/data là mount về thƣ mục data trên client.
- Cấp quyền cho thƣ mục data: chmod 777 –R /data
- Cấu hình tự động mount trong quá trình khởi động thì sửa file
- /etc/fstab và thêm dòng
Hình 4.28: Nội dung file cấu hình fstab
- Do NFS cần mở một số port khi chạy nhƣ (111, 2049..), vì vậy cần cấu hình firewall
mở các port này hay tắt firewall.
- Kiểm tra trên server
Chƣơng 4: Các dịch vụ mạng Trang 60
Hình 4.29: Nội dung thƣ mục data trên server
- Trên client
Hình 4.30: Nội dung thƣ mục data trên client
4.7. Dịch vụ Samba
4.7.1. Giới thiệu SAMBA
- Samba đƣợc tạo ra bởi Andrew Tridgell 1991
- Đƣợc phát triển dựa trên giao thức SMB và CIFS
- Samba là giao thức dùng để giao tiếp giữa Linux và Window với một số chức năng
- Chia sẻ file, thƣ mục
- Distributed Filesystem (MS-DFS) namespace
- Quản lý printer, printer setting tập trung
- Chứng thực client login vào Window domain
- Cung cấp Windows Internet Name Service (WINS)
Chƣơng 4: Các dịch vụ mạng Trang 61
Hình 4.31: Mô hình samba
- Các thành phần cơ bản của SAMBA
+ Tiến trình smbd: Lắng nghe trên port 139, trực tiếp xử lí các request truy cập đến
thƣ mục chia sẻ trên Linux
+ Tiến trình nmbd: Lắng nghe trên port 137, chịu trách nhiệm cung cấp tên
NetBIOS của samba server cho các request kết nối.
+ Tiến trình Winbind: Giao tiếp với DC và cung cấp thông về nhóm của user
4.7.2. Cài đặt và cấu hình SAMBA
4.7.2.1. Cài đặt :
- Server cài đặt: yum install samba-common samba
- Client cài: yum install samba-client
4.7.2.2. Cấu hình:
- smbd -V : Kiểm tra version của samba
- testparm -s /etc/samba/smb.conf: Kiểm tra file cấu hình
Chƣơng 4: Các dịch vụ mạng Trang 62
Hình 4.32: Kiểm tra cấu hình samba
- Các port sử dụng trong SAMBA:
+ 137/udp: NetBIOS network browsing (nmbd).
+ 138/udp: NetBIOS name service (nmbd).
+ 139/tcp: File và printer sharing (smbd)
+ 445/tcp: NetBIOS-less CIFS port (smbd).
+ 901/tcp: SWAT giao diện web
- File cấu hình chính của SAMBA vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
netbios aliases = maychu
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
Chƣơng 4: Các dịch vụ mạng Trang 63
max log size = 1000
; hosts allow = 192.168.241. localhost; cac dia chi cho phep truy cap(quyen lon
hon so voi cac muc share)
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:*
%n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[data]
comment = Data share
host deny = 192.168.1.3
path = chiase/samba/data
writeable = yes
guest only = yes
public = yes
- Ý nghĩa các thông số:
+ Section share nằm trong dấu [ ] đƣợc xem là thƣ mục hoặc printer share ngoại trừ
section [global]
+ Các option trong section [global] có ảnh hƣởng đến tất cả section share
+ Nếu option đƣợc định nghĩa trong 2 section global và share thì option trong share
có hiệu lực
[global]
hosts allow = 192.168.2. 192.168.1.100
hosts deny = 192.168.1.
hosts deny = ALL EXCEPT .example.com
hosts allow = ALL EXCEPT 192.168.110.
+ Nếu không định nghĩa allow hoặc deny thì mặc định cho phép tất cả kết nối
Chƣơng 4: Các dịch vụ mạng Trang 64
+ Nếu allow hoặc deny định nghĩa trong section global thì không xét đến section
share
+ Nếu chỉ hosts allow đƣợc định nghĩa thì host nào có trong danh sách đƣợc truy
cập. Còn lại bị cấm
+ Nếu chỉ hosts deny đƣợc định nghĩa thì host nào có trong danh sách sẽ bị cấm .
Còn lại đƣợc truy cập
+ Nếu cả hai allow và deny đƣợc định nghĩa thì allow đƣợc xem xét trƣớc. Nhƣng
nếu host không tồn tại trong allow và deny thì đƣợc phép truy cập
+ Path: đƣờng dẫn đến thƣ mục share
+ Comment: mô tả của server
+ Read only: Client có quyền đọc hoặc ghi trên thƣ mục share
+ writable = yes == read only = no
+ read list, write list: Cho phép user hoặc group có quyền write
+ valid users, invalid users: Cho phép user hoặc group có quyền truy cập vào folder
share
+ admin users : Cho phép user toàn quyền trên thƣ mục share
+ max connections: Số lƣợng connection tối đa
+ browseable: share ẩn
- Cấu hình SAMBA client
+ smbclient –U username –L //ip: xem danh sách các folder share
Chƣơng 4: Các dịch vụ mạng Trang 65
Hình 4.33: Xem danh sách các folder share
+ Mount folder share window về linux
Mount –t cifs -o username=<?>,password=<?> //ip/foldershare /folderLinux
+ Từ máy client linux vào thƣ mục chia sẻ trên Windows
smbclient -U administrator(user) //192.168.241.129/share(diachitruycap)
Dùng lệnh mget vanban.txt để lấy file trên windows về linux
Dùng lệnh mput upload.txt để tải file upload lên máy chủ windows
- Nếu server muốn share thƣ mục cho mọi ngƣời truy cập mà không cần chứng thực.
- Cấu hình SAMBA bằng giao diện WEB
Chƣơng 4: Các dịch vụ mạng Trang 66
+ yum install –y xinetd samba-swat
+ Cấu hình vi /etc/xinetd.d/swat
Hình 4.34: Nội dung file cấu hình swat
+ Service xinetd restart
+ Dùng web browser truy cập http://ip-samba:901
Hình 4.35: Màn hình giao diện web swat
Chƣơng 4: Các dịch vụ mạng Trang 67
- Giới thiệu một số chức thao tác cơ bản trên Swat:
Trang chủ Swat: chứa các hƣớng dẫn sử dụng Swat.
Cấu hình Global strong file smb.conf của Sambaserver.
Cấu hình các Shares trong file smb.conf.
Cấu hình máy in(Printers) trong file smb.conf
Cấu hình Samba server theo từng bƣớc.
Chứa thong tin các kết nối, lệnh restart các dịch vụ của Samba
Xem toàn bộ cấu hình file Smb.conf
Đổi Password user hiện tại.
- Giao diện cấu hình bằng SWAT
Chƣơng 4: Các dịch vụ mạng Trang 68
Hình 4.36: Giao diện cấu hình swat
4.8. Dịch vụ firewall
4.8.1. Giới thiệu
- Firewall là thiết bị phần cứng hay phần mềm có khả năng ngăn chặn, kiểm tra thông
tin của các packet đi qua thiết bị đó nhƣ IP, port, header…
- Tùy theo từng loại firewall có thể lọc tới các layer khác nhau trong mô hình OSI
- Iptables là firewall mặc định trong mô hình OSI có thể lọc packet tới layer 4
- Bất kỳ Packet nào muốn đi vào firewall đều phải đi qua Input Chain.
- Bất kỳ Packet nào từ firewall muốn đi ra ngoài đều phải đi qua Output Chain
- Bất kỳ Packet nào từ PC khác gửi đếnmột Destination khác đều mà qua firewall phải
đi qua Forward Chain
Chƣơng 4: Các dịch vụ mạng Trang 69
- Theo mặc định thì InputChain và Output Chain luôn đƣợc cấu hình ở chế độ
Accept. Còn Forward luôn đƣợc thiết lập ở chế độ Deny
Hình 4.37: Luồng sự kiện đi qua firewall
- Các bảng trong IPTABLES
+ Mangle: chịu trách nhiệm thay đổi các bits dịch vụ trong TCP header
+ Filter: chịu trách nhiệm lọc gói dữ liệu. Dựa theo 3 cách sau:
Forward chain: lọc gói khi đến các server khác
Input chain: lọc gói khi vào trong firewall
Output chain: lọc gói khi ra khỏi firewall
+ NAT: gồm có 2 loại sau:
Pre-routing chain: thay đổi địa chỉ đích của gói tin trƣớc khi xảy ra quá
trình định tuyến (DNAT)
Post-routing chain: thay đổi địa chỉ nguồn của gói tin sau khi định tuyến
(SNAT)
4.8.2. Cài đặt và cấu hình
4.8.2.1. Cài đặt: IPTABLES mặc định đã đƣợc cài đặt trong hệ thống linux
4.8.2.2. Cấu hình
- Target là cơ chế hoạt động trong iptables, dùng để nhận diện và kiểm tra packet. Các
target đƣợc xây dựng sẵn trong iptables nhƣ:
+ ACCEPT: iptables chấp nhận chuyển data đến đích.
Chƣơng 4: Các dịch vụ mạng Trang 70
+ DROP: iptables sẽ xóa những packet này.
+ LOG: thông tin của packet sẽ gởi vào syslog daemon iptables tiếp tục xử lý luật
tiếp theo trong bảng mô tả luật. Nếu luật cuối cùng không match thì sẽ drop packet. Với
tùy chọn thông dụng là --log-prefix=”string”
+ REJECT: ngăn chặn packet và gởi thông báo cho sender. Với tùy chọn thông
dụng là --reject-with qualifier
+ DNAT: thay đổi địa chỉ đích của packet. Tùy chọn là --to-destination ipaddress.
+ SNAT: thay đổi địa chỉ nguồn của packet. Tùy chọn là
--to-source <address>[address][:<port>-<port>]
+ MASQUERADING: đƣợc sử dụng để thực hiện kỹ thuật NAT (giả mạo địa chỉ
nguồn với địa chỉ của interface của firewall). Tùy chọn là
[--to-ports <port>[-<port>]]chỉ định dãy port nguồn sẽ ánh xạ với dãy port ban
đầu.
- Các options trong iptables
+ t <table>: Chỉ định bảng cho iptables bao gồm: filter, nat, mangle tables.\
+ j <target>: Nhảy đến một target chain khi packet thỏa luật hiện tại.
+ A: Thêm luật vào cuối iptables chain.
+ F: Xóa tất cả các luật trong bảng lựa chọn
+ p <protocol-type>: Mô tả các giao thức bao gồm: icmp, tcp, udp và all
+ s <ip-address>: Chỉ định địa chỉ nguồn
+ d <ip-address>: Chỉ định địa chỉ đích
+ i <interface-name>: Chỉ định “input” interface nhận packet
+ o <interface-name>: Chỉ định “output” interface chuyển packet ra ngoài
- file cấu hình vi /etc/sysconfig/iptables
Chƣơng 4: Các dịch vụ mạng Trang 71
Hình 4.38: Nội dung file cấu hình iptables
- Bƣớc 1: Xóa tất cả các rules
+ iptables -t filter -F
+ iptables -t nat -F
+ iptables -t mangle –F
- Bƣớc 2: Đặt rules mặc định cho các chain là DROP hay ACCEPT
+ iptables -P INPUT DROP
+ iptables -P OUTPUT DROP
+ iptables -P FORWARD DROP
- Bƣớc 3: Có chép các gói tin liên quan ra vào hệ thống
+ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
+ iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
+ iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
- Bƣớc 4: Cấu hình các rules cho các tables và các chain theo ý muốn
+ vd1: cấu hình cho phép ssh vào firewall
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
+ vd2: cho phép từ iptables ping ra ngoài
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT
+ vd3: Cho phép mạng internal truy cập internet
echo 1 > /proc/sys/net/ipv4/ip_forward
Chƣơng 4: Các dịch vụ mạng Trang 72
iptables -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE
+ vd4: Chuyển đổi địa chỉ đích. Muốn truy cập google.com bằng địa chỉ 1.1.1.1
iptables -t nat -A PREROUTING -i eth1 -d 1.1.1.1 -j DNAT --to-destination
74.125.224.194
+ vd5: NAT webserver địa chỉ 172.16.1.152 ra mạng internet
iptables -A FORWARD -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -d 192.168.1.151 -p tcp --dport 80 -j
DNAT --to-destination 172.16.1.152:80
+ vd6: cấu hình proxy và iptables transparent
port mặc định của proxy 3128
+ cấu hình phân giải DNS
iptables -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
+ cấu hình cho ra web
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT
+ cấu hình forward DNS và Web giữa 2 interface của firewall
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
+ cấu hình NAT
iptables -A INPUT -i eth1 -p tcp -m multiport --dport 80,3128 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -d 0/0 -p tcp --dport 80 -j DNAT --to-
destination 192.168.1.151:3128
+ Đối với mô hình mạng đã đề xuất. Cấn cấu hình cho client mạng nội bộ truy cập
đến các sever. Đa phần các rule này là FORWARD vì firewall chỉ làm trung gian chuyển
tiếp giữa client và server. Tùy theo dịch vụ, sẽ mở port tƣơng ứng.
Chƣơng 4: Các dịch vụ mạng Trang 73
+ Danh sách mô tả các luật:
Client xin địa chỉ IP, firewall làm DHCP replay agent nhận yêu cầu từ client
và gởi đến DHCP server nên loại luật là INPUT và OUPUT, firewall mở port 67,68.
Client phân giải các địa chỉ IP trong nội bộ phải trỏ prefer DNS đến DNS
server. Ở đây firewall chỉ làm nhiệm vụ chuyển tiếp nên rule là FORWARD, mở port 53.
Để client sử dụng đƣợc dịch vụ SAMBA, server cần mở port 137,138,139 và
445. Rule là FORWARD.
Để client sử dụng đƣợc dịch vụ NFS, server cần mở port 111, 2049, 32803,
32769, 892, 875, 662. Rule là FORWARD. Trong NFS server, chỉnh sửa file
/etc/sysconfig/nfs. Uncommand các dòng sau:
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
Để client sử dụng truy cập web, server cần mở port 80. Rule là FORWARD.
Để client sử dụng truy cập FTP, server cần mở port 20, 21. Rule là
FORWARD.
Để client sử dụng đƣợc dịch vụ mail, server cần mở port 25, 110. Rule là
FORWARD.
Để client sử dụng đƣợc dịch vụ VPN, server cần mở port 1723. Rule là
FORWARD.
Để client sử dụng truy cập DC server, server cần mở port 389, 636. Rule là
FORWARD.
+ Cấu hình client xin ip
+ Cấu hình cho nội bộ ra ngoài internet
Chƣơng 4: Các dịch vụ mạng Trang 74
+ Cấu hình truy cập web
+ Cấu hình mở port ftp
+ Cấu hình truy cập DNS
4.9. Dịch vụ proxy
4.9.1. Giới thiệu proxy
- Proxy là một server để forward các request của client đến nơi nó cần đến và nhận kết
quả trả về cho client
- Những chƣơng trình client của ngƣời sử dụng sẽ qua trung gian proxy server thay thế
cho server thật sự mà ngƣời sử dụng cần giao tiếp.
- Proxy server xác định những yêu cầu từ client và quyết định đáp ứng hay không đáp
ứng, nếu yêu cầu đƣợc đáp ứng, proxy server sẽ kết nối với server thật thay cho client và
tiếp tục chuyển tiếp đến những yêu cầu từ clientđến server, cũng nhƣ đáp ứng những yêu
cầu của server đến client. Vì vậy, proxy server giống cầu nối trung gian giữa server và
client .
Chƣơng 4: Các dịch vụ mạng Trang 75
Hình 4.39: Vị trí proxy với client và server.
- Phân loại proxy
+ Theo mức độ ẩn danh
Anonymous: Đôi khi còn đƣợc gọi là web proxy, giúp ngƣời dùng giấu IP.
High Anonymity: Mức độ che dấu tung tích cao hơn anonymous. Http
Proxy hoàn toàn không gửi đi bất kì thông số nào của các biến
HTTP_X_FORWARDED_FOR, HTTP_VIA và HTTP_PROXY_CONNECTION. Do
vậy Internet Host không thể biết bạn đang dùng Proxy server, cũng nhƣ không phát hiện
đƣợc real IP của bạn.
Transparent: Proxy xuyên suốt, user không nhận thức đƣợc mình đang truy
cập internet qua một “cổng giám sát”. Yêu cầu truy cập của Client đƣớc chuyển đến
gateway sau đó gateway chuyển sang Proxy server xử lý. User chỉ cần thiết lập địa chỉ IP
của gateway do Admin cung cấp, mà không phải xác lập các thông số Proxy trong trình
duyệt cũng nhƣ Internet applications khác.
+ Theo khả năng hỗ trợ
HTTP/HTTPS Proxy: Các proxy servers sẵn sàng cho các dịch vụ thông
thƣờng trên internet, ví dụ nhƣ: một HTTP proxy đƣợc dùng cho truy cập Web, một FTP
proxy đƣợc dùng cho truyền File.
Chƣơng 4: Các dịch vụ mạng Trang 76
SOCKS hay Sockets: SOCKS ban đầu là hệ thống Proxy đƣợc sủ dụng cho
các traffic nhƣ FTP, Telnet, .., nhƣng không dành cho HTTP. SOCKS4 kiểm soát các
TCPconnections (là phần lớn các Application trên Internet), SOCKS5 còn hỗ trợ thêm
UDP, ICMP, xác thực User (user authentication) và giải quyết hostname (DNSservice).
SOCKS bắt buộc Client phải đƣợc cấu hình để chuyển trực tiếp các yêu cầu đến SOCKS
server, hoặc ngƣợc lại SOCKS driver sẽ ngăn chặn các Clients chuyểncác yêu cầu non-
SOCKS application.
CGI Proxy server: Hỗ trợ giao thức trên Net là HTTP (có khi hỗ trợ HTTPS
– HTTP Security & FTP). Đƣợc cung cấp qua 1 số website dƣới dạng nhập 1 URL vào 1
textbox. CGI proxy đƣợc biết đến nhƣ là một proxy web miễn phí. Chỉ cần mở trang này,
nhập URL trong "URL", và nhấp vào "Go" (hoặc "Surf" hoặc "Submit", vv ...). Bạn sẽ đi
đến các trang web yêu cầu, nhƣng URL sẽ là một "ảo thƣ mục con" của CGI proxy
FTP Proxy server: Loại proxy này đƣợc chuyên biệt hóa để chỉ làm việc với
các máy chủ truyền file (FTP servers).
SSL Proxy server: Hỗ trợ mã hóa dữ liệu trên đƣờng truyền, hỗ trợ xác thực
cả 2 phía.
- Các chức năng của proxy - squid
+ Cahing
+ NAT
+ Filtering
4.9.2. Cài đặt và cấu hình
4.9.2.1. Cài đặt: dùng lệnh yum install squid
4.9.2.2. Cấu hình
- File cấu hình chính vi /etc/squid/squid.conf
- /var/log/squid/cache.log: trạng thái hoạt động, warning và lỗi
- /var/log/squid/access.log: mỗi dòng là một request từ client đến log
- /var/log/squid/store.log: ghi nhận các đối tƣợng đƣợc lƣu và xóa khỏi cache
- Cấu hình bộ nhớ cache
Chƣơng 4: Các dịch vụ mạng Trang 77
+ Lƣu trữ các đối tƣợng cache theo kiểu ufs trong thƣ mục /var/spool/squid với
dung lƣợng ổ đĩa cho phép là 100MB
+ Trong thƣ mục /var/spool/squid sẽ chia làm 2 level thƣ mục con cấp thứ nhất có
16 thƣ mục cấp thứ 2 có 256 thƣ mục
+ Ta dùng lệnh squid –z để tạo cache, nếu trong quá trình tạo bị lỗi ta làm nhƣ sau:
chown squid:squid /var/spool/squid
chmod 770 /var/spool/squid
- http_port: mặc định là 3128
- icp_port : mặc định là 3130
- Nếu proxy không thể kết nối trực tiếp với Internet vì không có địa chỉ IP thực hoặc
proxy nằm sau một Firewall thì ta phải cho proxy query đến một proxy khác có thể dùng
Internet bằng tham số sau :
cache_peer linuxsrv.mcsevn.com parent 8080 8082
Cấu hình trên cho chúng ta thấy proxy sẽ query lên proxy “cha” là
linuxsrv.mcsevn.com với tham số parent thông qua http_port là 8080 và icp_port là 8082.
- Ngoài ra trong cùng một mạng nếu có nhiều proxy server thì ta có thể cho các proxy
server này query lẫn nhau nhƣ sau:
cache_peer proxy2.mcsevn.com sibling 8080 8082
cache_peer proxy3.mcsevn.com sibling 8080 8082
sibling dùng cho các proxy ngang hàng với nhau.
- Access Control List và Access Control Operators: ta có thể dùng hai chức năng trên
để ngăn chặn và giới hạn việc truy xuất dựa vào destination domain, IP address của máy
hoặc mạng. Mặc định squid sẽ từ chối phục vụ tất cả, vì vậy phải cấu hình lại tham số
này. Để đƣợc vậy, cấu hình thêm cho thích hợp với yêu cầu bằng hai tham số là : acl và
http_access.
- Ví dụ: chỉ cho phép mạng 172.16.1.0/24 đƣợc dùng proxy server bằng từ khoá src
trong acl.
Chƣơng 4: Các dịch vụ mạng Trang 78
acl MyNetwork src 172.16.1.0/24
http_access allow MyNetwork
http_access deny all
- Cấm các máy truy xuất đến những site không đƣợc phép bằng từ khoá dstdomain
trong acl, ví dụ:
acl BadDomain dstdomain yahoo.com
http_access deny BadDomain
- Nếu danh sách cấm truy xuất đến các site dài quá, có thể lƣu vào 1 file text, trong file
đó là danh sách các địa chủ nhƣ sau:
acl BadDomain dstdomain “/etc/squid/danhsachcam”
http_access deny BadDomain
Theo cấu hình trên thì file /etc/squid/danhsachcam là file văn bản lƣu các địa chỉ
không đƣợc phép truy xuất đƣợc ghi lần lƣợt theo từng dòng.
- Có thể có nhiều acl, ứng với mỗi acl phải có một http_access nhƣ sau:
acl MyNetwork src 172.16.1.0/255.255.255.0
acl BadDomain dstdomain yahoo.com
http_access deny BadDomain
http_access allow MyNetwork
http_access deny all
- Cấu hình trên cho thấy proxy cấm các máy truy xuất đến website Yahoo! và chỉ có
mạng 172.16.1.0/24 là đƣợc phép ra net. “http_access deny all”: cấm tất cả ngoại trừ
những acl đã đƣợc khai báo.
- acl name [days] [h1:m1-h2:m2]
+ S:Sunday;
+ M:Monday;
+ T: Tuesday;
+ W: Wednesday;
+ H: Thursday;
+ F: Friday;
+ A: Saturday;
Chƣơng 4: Các dịch vụ mạng Trang 79
+ D: All weekdays (M-F)
+ acl working MTWHF
08:00-17:00
acl working D 08:00-17:00
- ACL port
+ acl one port 123
+ acl serial port 1-1024
+ acl many port 443 563
- ví dụ : không cho mạng nội bộ truy cập facebook.com
- Cấu hình proxy cho web browser
Hình 4.40: Cấu hình proxy cho web browser
- Kiểm tra kết quả
Chƣơng 4: Các dịch vụ mạng Trang 80
Hình 4.41: Màn hình địa chỉ facebook bị chặn
- Không cho phép mạng nội bộ dùng ftp: Xóa dòng : acl Safe_ports port 21
- Cho phép download file có dung lƣợng không quá 10MB: reply_body_max_size 10
MB
- Cấu hình chứng thực
+ Tạo file cơ sở dữ liệu
+ Tạo user để đăng nhập
+ Cấu hình trong squid.conf
+ Trình duyệt yêu cầu chứng thực
Chƣơng 4: Các dịch vụ mạng Trang 81
Hình 4.42: Màn hình yêu cầu chứng thực
- Đăng nhập thành công
Hình 4.43: Màn hình chứng thực thành công
4.9.2.3. Cài đặt và cấu hình Squidclamav.
- Squidclamav là một phần mở rộng của squid kết hợp với antivirus để tạo thêm một
lớp bảo vệ cho hệ thống
- Squid proxy sẽ chuyển tất cả nội dung qua dịch vụ clamd. Nhƣng bản thân squid
không làm đƣợc nhƣ vậy cho nên ta cần một dịch vụ trung gian là c-icap.
- SquidClamav đƣợc cài nhƣ một module của c-icap
- Cài đặt clamav
Chƣơng 4: Các dịch vụ mạng Trang 82
+ Rpm –ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-
2.el6.rf.i686.rpm
+ yum --enablerepo=rpmforge -y install clamav
+ yum --enablerepo=rpmforge -y install clamd
+ freshclam – cập nhật cơ sở dữ liệu cho clamav
+ service clamd restart
- Cài đặt ICAP
+ http://sourceforge.net/projects/c-icap/files/c-icap/0.1.x/c_icap-
0.1.7.tar.gz/download
+ Giải nén bằng lệnh tar –xzvf c_icap-0.1.7.tar.gz
+ ./configure
+ make
+ make install
+ cp /usr/local/etc/c-icap.conf /etc/
- Cấu hình ICAP
+ Vi /etc/c-icap.conf
Dòng 140 sửa lại : ServerAdmin root@localhost
Dòng 149 sửa lại: ServerName <hostname> truyền vào hostname của
máy mình
Thêm vào dòng 497: Service squidclamav squidclamav.so
+ Tạo icap init script: vi /etc/rc.d/init.d/c-icap
#!/bin/bash
# c-icap: Start/Stop c-icap
# chkconfig: - 70 30
# description: c-icap is an implementation of an ICAP server.
# processname: c-icap
# pidfile: /var/run/c-icap/c-icap.pid
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
CONFIG_FILE=/etc/c-icap.conf
PID_DIR=/var/run/c-icap
RETVAL=0
Chƣơng 4: Các dịch vụ mạng Trang 83
start() {
echo -n $"Starting c-icap: "
daemon /usr/local/bin/c-icap -f $CONFIG_FILE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/c-icap
return $RETVAL
}
stop() {
echo -n $"Stopping c-icap: "
killproc c-icap
rm -f /var/run/c-icap/c-icap.ctl
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $PID_DIR/c-icap.pid /var/lock/subsys/c-icap
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status c-icap
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
esac
exit $?
+ Chmod 755 /etc/rc.d/init.d/c-icap
+ /etc/rc.d/init.d/c-icap start
Chƣơng 4: Các dịch vụ mạng Trang 84
- Cấu hình squid
+ Thêm vào cuối file /etc/squid/squid.conf
icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Authenticated-User
icap_service service_req reqmod_precache bypass=1
icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1
icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
+ khởi động lại dịch vụ
- Kiểm thử . vào trang http://eicar.org/85-0-Download.htmlđể test
Chƣơng 4: Các dịch vụ mạng Trang 85
Hình 4.44: Màn hình chặn trang web có chƣa virus
4.10. Mail server
4.10.1. Giới Thiệu Về Mail Server:
4.10.1.1. Mail Server
Mail server là máy chủ dùng để nhận và gửi mail, với các chức năng chính:
- Quản lý account
- Nhận mail của ngƣời gửi và gửi cho ngƣời nhận hoặc mail server của ngƣời nhận.
- Nhận mail từ mail server của ngƣời gửi (từ bên ngoài) và phân phối mail cho ngƣời
trong hệ thống.
- Tùy thuộc vào việc cài đặt mà mail-server cho phép ngƣời dùng sử dụng webmail để
nhận mail (giống yahoo), hay cho phép sử dụng outlook, hay cả 2 (giống nhƣ gmail).
4.10.1.2. Công việc cần để quản trị mail server:
- Thiết lập cấu hình và cấu trúc của của dịch vụ thƣ điện tử để máy chủ hoạt động tối
ƣu và phù hợp với năng lực của hệ thống để đảm bảo hoạt động ổn định của hệ thống.
Thiết lập các chính sách và các điều khiển chống Virus và chống Spam.
4.10.1.3. Postfix
- Postfix - Mail Transfer Agent (MTA) là một phần mềm mã nguồn mở (miễn phí)
dùng để gửi nhận email.
Chƣơng 4: Các dịch vụ mạng Trang 86
- Postfix đƣợc viết bởi Wietse Venema trong thời gian ở tại trung tâm Nghiên cứu
Thomas J. Watson (IBM), và tiếp tục đƣợc tích cực phát triển ngày hôm nay. Postfix lần
đầu tiên đƣợc phát hành vào giữa năm 1999.
- Ƣu điểm của Postfix: Nhanh chóng, dễ dàng để quản lý, an toàn và đƣợc sử dụng
rộng rãi.
- Cấu trúc của postfix
+ Postfix chia nhỏ công việc ra thành cách chức năng riêng biệt và đƣợc 1 chƣơng
trình riêng thực thi, hoàn toàn không liên quan tới các tiến trình khác. Hầu hết các
chƣơng trình đó có dạng daemons, nghĩa là chạy ở chế độ background trong hệ thống.
Master daemons đƣợc khởi động đầu tiên và nó sẽ gọi các chƣơng trình liên quan khi cần
thiết. Master daemons luôn hiện diện và nó lấy thông tin cấu hình khi khởi động từ 2 file
main.cf và master.cf.
+ Nhìn chung, có thể nói cấu trúc của Postfix nhƣ sau: nhận messages (receives
messages), đƣa vào hàng đợi (queue them) và cuối cùng là chuyển chúng đi (delivery
them). Ở mỗi một bƣớc, 1 tập hợp các chƣơng trình của postfix sẽ làm việc riêng biệt.
Hình 4.45: Thành phần postfix
4.10.1.4. Dovecot
- Dovecot là một Mail Delivery Agent, đƣợc viết rất bảo mật, nó hổ trợ cả hai định
dạng mailbox đó là mbox và maildir.
- Dovecot cũng là một phần mềm mã nguổn mở để xây POP và IMAP server cho hệ
thống Linux/Unix.
- Dovecot là một lựa chọn hoàn hỏa cho 1 hệ thống email nhỏ cũng nhƣ 1 hệ thống
email lớn bởi vì nó hoạt động nhanh, dễ dàng cài đặt và sử dụng rất ít bộ nhớ và tài
nguyên của hệ thống.
Chƣơng 4: Các dịch vụ mạng Trang 87
- Dovecot còn rất nhiều tính năng mạnh mẽ khác nhƣ: có thể hoạt động đƣợc với NFS
và clustered filesystems, hỗ trợ nhiều authentication databases và mechanisms, có thể làm
nhiệm vụ chứng thực smtp và có thể tích hợp nhiều plugins nhƣ quota và ACL.
4.10.2. Cài đặt
Phần này trình bày các bƣớc cài đặt các dịch vụ postfix, dovecot, thunderbird,
squirrel mail trên mail server.
4.10.2.1. Postfix
- Kiểm tra xem đã cài chƣa
- Cài đặt postfix (nếu chƣa cài đặt):
- Tắt dịch vụ sendmail:
- Chuyển qua MTA dùng postfix:
- Cấu hình:
Chƣơng 4: Các dịch vụ mạng Trang 88
- Gõ ESC: set nu để hiển thị số dòng
- Di chuyển tới dòng 76: Khai báo hostname bằng cách bỏ dấu # và sửa lại hostname
và thêm dòng 77 khai báo thêm thƣ mục chứa database của postfix:
- Di chuyển tiếp tới dòng 83: khai báo mydomain
- Di chuyển tiếp tới dòng 99: khai báo myorigin
- Di chuyển tiếp tới dòng 113: khai báo interface
- Di chuyển tiếp tới dòng 165: khai báo các đích đến có thể gửi mail
- Di chuyển tiếp tới dòng 264: khai báo lớp mạng
- Di chuyển tiếp tới dòng 419: khai báo thƣ mục lƣu thƣ là Maildir thay vì mặc định là
MailDir. Dạng lƣu trữ Maildir tốt hơn so với dạng lƣu trữ Mailbox, tuy nhiên tùy vào nhu
cầu cụ thể mà chọn kiểu lƣu trữ cho thích hợp.
- Khởi động lại postfix:
Chƣơng 4: Các dịch vụ mạng Trang 89
- Tạo hộp mail cho user:
- Bây giờ có thể dùng postfix đƣợc rồi Kiểm tra postfix đã hoạt động tốt chƣa bằng
cách kết nối thử đến cổng 25:
- Thử sử dụng bộ lệnh: Esmtp
Hình 4.46: Gừi mail ESMTP
- Nếu có lỗi phát sinh ta kiểm tra log tại /var/log/mailog.
- Kiểm tra mail mới gửi:
Chƣơng 4: Các dịch vụ mạng Trang 90
Hình 4.47: Kiểm tra mail
- Xem thƣ mới:
4.10.2.2. Dovecot
- Kiểm tra xem đã cài chƣa:
- Cài đặt từ gói rpm (nếu chƣa cài đặt):
- Cấu hình dovecot:
- Di chuyển tới dòng 25: chọn protocols = imap pop3 lmtp
- Tiến hành khởi động lại dovecot:
Chƣơng 4: Các dịch vụ mạng Trang 91
- Kiểm tra lại dovecot đã hoạt động tốt chƣa bằng cách kết nối đến cổng 110
4.10.2.3. Cài đặt và cấu hình Thunderbird trên linux
- Kiểm tra lại thunderbird đã đƣợc cài chƣa:
- Cài đặt (nếu chƣa cài đặt):
- Khởi động chƣơng trình Thu derbird:
Hình 4.48: Khởi động thunderbird
- Tạo tài khoản:
Chƣơng 4: Các dịch vụ mạng Trang 92
Hình 4.49: Tạo tài khoản thunderbird
- Giao diện làm việc:
Hình 4.50: Giao diện làm việc Thunderbird
4.10.2.4. Squirrelmmail
- Tải gói cài đặt squirrelmail (squirrelmail-1.4.20-RC2.tar.gz).
- Giải nén file cài đặt squirrelmail
- Đổi tên thƣ mục squirrelmail-1.4.20-RC2 thành webmail
Chƣơng 4: Các dịch vụ mạng Trang 93
- Cấu hình, phân quyền cho Squirrelmail cài đặt và hoạt động(ở đây phân quyền cho
Squirrelmail hoạt động bằng ngƣời dùng là apache).
- Tiến hành càiđặt và cấu hình.
- Trong quá trình cài đặt, hệ thống sẽ hiện ra menu cùng các tuỳ chọn cấu hình cho
phù hợp với máy chủ mail. Các thiết lập cần thay đổi là “Server Settings”. Ấn số 2 để tiến
hành thay đổi.
- Các thông số trong Server Settings đƣợc cấu hình nhƣ sau.
Chƣơng 4: Các dịch vụ mạng Trang 94
- Tiếp theo, cấu hình máy chủ Apache để có thể chạy đƣợc Webmail. Tạo Virtual host
để chạy webmail http://mail.spkt.com.vn: Vào file cấu hình của Apache, khai báo
Virtualhost với địa chỉ IP là 192.168.2.2 và Alias là mail.spkt.com.vn. DirectoryIndex
thêm vào index.php
- Thêm vào
- Khởi động lại daemon httpd.
- Đăng nhập vào webmail với địa chỉ http://mail.spkt.com.vn
Chƣơng 4: Các dịch vụ mạng Trang 95
Hình 4.51 : Giao diện đăng nhập squirrel mail
- Giao diện squirrel mail
Hình 4.52 : Giao diện squirrel mail
4.11. Web server
4.11.1. Giới thiệu
4.11.1.1. Giới thiệu Apache
- Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làm
Webserver.
Chƣơng 4: Các dịch vụ mạng Trang 96
- Cung cấp source code đầy đủ với license không hạn chế.
- Môi trƣờng tốt nhất để sử dụng Apache là Unix.
- Hỗ trợ đầy đủ các giao thức HTTP, HTTPS, FTP…
- Chạy trên nhiều hệ điều hành: Unix, Windows, Linux, Netware, OS/2.
4.11.1.2. Chứng thực
- Yêu cầu chứng thực khi ngƣời dùng truy xuất đến những thông tin cần bảo mật.
+ Thông tin chứng thực gồm:Username và Password.
- Có 2 loại chứng thực:
+ Xác thực thông thƣờng (Basic Authentication)
Đây là cách xác thực đƣợc sử dụng phổ biến. Trong đó, username và
password mà bạn đã cung cấp chỉ có tác dụng trong lần giao dịch của web browser với
web server lúc đó. Nếu lần sau truy cập lại website này, phải nhập lại username và
password.
Giúp kiểm tra user nào đƣợc phép truy cập trang web.
Có thể giới hạn truy cập qua thông tin users. Những user đƣợc kiểm tra
username/pass đúng mới đƣợc truy cập.
Gồm 3 bƣớc:
Bƣớc 1: Tạo user và file password.
Bƣớc 2: tạo tập tin group.
Bƣớc 3: Cấu hình chứng thực trên apache.
+ Xác thực mã hóa (digest authentication)
Digest authentication cung cấp một phƣơng pháp bảo vệ nội dung web một
cách luân phiên. Digest authentication đƣợc cung cấp bởi module mod_auth_digest, với
phƣơng pháp này username và password sẽ không đƣợc gởi ở dạng plain text mà chúng
đƣợc mã hóa (thông qua thuật toán MD5). Giống nhƣ xác thực thông thƣờng, gồm 3
bƣớc:
Bƣớc 1: Tạo user và file password.
Bƣớc 2: tạo tập tin group.
Bƣớc 3: Cấu hình chứng thực trên apache.
Chƣơng 4: Các dịch vụ mạng Trang 97
4.11.1.3. Virtual Host
- Là tính năng cho phép tạo ra nhiều hơn một website trên server.
+ IP-based virtual host: Nhiều địa chỉ ip khác nhau cho từng domain.
+ Names-based virtual host: nhiều tên miền cùng chia sẽ một địa chỉ IP.
4.11.1.4. Bảo mật Web với Modsecurity
- ModSecurity là một tƣờng lửa mức ứng dụng đƣợc Ivan Ristic phát triển dành cho
Web Server Apache đứng trƣớc Webserver và có khả năng xử lý traffic trƣớc khi đƣa vào
Webserver. Mọi yêu cầu gửi đến Webserver từ phía client sẻ đƣợc gửi qua modsecurity.
- Các khả năng của modsecurity
+ Request filtering: Tất cả các request gửi đến web server đều đƣợc phân tích và
lọc trƣớc khi chúng đƣợc đƣa đến các modules khác để xử lý.
+ Understanding of the HTTP protocol: ModSecurity có khả năng cản lọc dựa trên
các thông tin ở HTTP Header hay có thể xem xét đến từng thông số hay cookies của các
request...
+ POST payload analysis: Ngoài việc cản lọc dựa trên HTTP Header, ModSecurity
có thể dựa trên nội dung của POST requests.
+ Audit logging: Mọi requests đều có thể đƣợc ghi lại (bao gồm cả POST) để ngƣời
quản trị có thể theo dõi nếu cần.
+ HTTPS filtering: ModSecurity có thể phân tích HTTPS.
+ Compressed content filtering: ModSecurity sẽ phân tích sau khi đã giải nén các
các dữ liệu đƣợc yêu cầu.
4.11.2. Cài đặt
4.11.2.1. Web server
- Trong terminal gõ: rpm –qa | grep httpd để kiểm tra xem đã cài đặt chƣa.
- Nếu chƣa thì dùng lệnh: yum install httpd để cài đặt.
- Tạo một trang web
Chƣơng 4: Các dịch vụ mạng Trang 98
- Mở file httpd.conf
- Thêm vào:
4.11.2.2. Chứng thực
- Tạo user:
- Tạo file password:
- Mở file http.conf và thêm vào các dòng sau:
Chƣơng 4: Các dịch vụ mạng Trang 99
4.11.2.3. Modsecurity
- Cài đặt các gói hỗ trợ
- Download gói modsecurity-apache_2.6.3.tar.gz
- Giải nén và tiến hành cài đặt
- Thêm vào file http.conf
- Tạo riêng một file là modsecurity.conf trong thƣ mục conf của apache và include nó
từ file cấu hình của apache httpd.conf:
- Enable filtering: thêm dòng sau vào file modsecurity.conf
SecFilterengine on ( or off , dynamiconly )
- Cấu hình cho mod_security để hạn chế những kiểu tấn công cơ bản:
SecFilter xp_regdeletekey
#chống spam mail
<Location /cgi-bin/FormMail>
SecFilterSelective "ARG_recipient" "[email protected]$"
Chƣơng 4: Các dịch vụ mạng Trang 100
</Location>
#phát hiện xâm nhập
SecFilterSelective OUTPUT "Volume Serial Number"
SecFilterSelective OUTPUT "Command completed"
SecFilterSelective OUTPUT "Bad command or filename"
SecFilterSelective OUTPUT "file(s) copied"
SecFilterSelective OUTPUT "Index of /cgi-bin/"
SecFilterSelective OUTPUT ".*uid=("
#Nếu muốn ghi lại log
SecAuditLog logs/audit.log
SecFilterDebugLog logs/modsec.log
SecFilterDebugLevel 0
#Muốn mod_security phân tích POST request, dùng:
SecFilterScanPOST On
# để mod_security *kiểm tra* URL encoding và UTF-8.
SecFilterCheckURLEncoding On
SecFilterCheckUnicodeEncoding On
4.12. FTP server
4.12.1. Giới thiệu FTP
4.12.1.1. FTP (File Transfer Protocol)
- FTP (File Transfer Protocol) là một trong những dịch vụ thông dụng để truyền
(upload) và nhận (download) tập tin giữa máy cục bộ (Local) và máy ở xa (Remote).
- Giao thức FTP đƣợc xây dựng dựa trên chuẩn TCP/IP.
- FTP có 2 thành phần chính: FTP Client và FTP Server.
Chƣơng 4: Các dịch vụ mạng Trang 101
Hình 4.53: Mô hình dịch vụ FTP
- Dịch vụ FTP sử dụng 2 port:
+ Port 20: dùng để truyền dữ liệu (data port).
+ Port 21: dùng để truyền lệnh (command port).
- Có 2 cơ chế hoạt động: Active (Chủ động) và Passive (Bị động)
4.12.1.2. FTP server
- FTP Server là máy chủ lƣu giữ những tài nguyên và hỗ trợ giao thức FTP để giao
tiếp với những máy tính khác cho phép truyền dữ liệu trên Internet.
+ Một số chƣơng trình FTP Server sử dụng trên Linux: Vsftpd, wu-ftpd, pureFTPd,
proFTPD , …
- Có 3 cách cài đặt FTP server:
+ Anonymous ftp: Khi thiết lập Anonymous FTP. Mọi ngƣời có thể truy cập tới
Server chỉ
+ Với Anonymous acount mà không có password, ngƣời quản trị server sẽ thiết lập
giới hạn để hạn chế các user upload những files không đƣợc phép upload lên Server nhƣ:
Music, Films, games…
+ FTP với anonymous access và users account có password: Khi sử dụng giao thức
này để các truy cập vào server thì chỉ cần truy cập tới Directory (ngoại trừ user root),
chúng ta có thể view/modify/delete tất cả các files hay tất cả các forders.
Chƣơng 4: Các dịch vụ mạng Trang 102
+ FTP với Mysql hỗ trợ Virtual users authentication: Giao thức này chỉ cho phép
một số nhóm ngƣời dùng truy cập tới Server.
4.12.1.3. FTP client
- FTP Client: là máy khách đăng truy xuất vào FTP Server.
- Chƣơng trình FTP Client: là chƣơng trình giao tiếp với FTP Server.
+ Hầu hết các hệ điều hành đều hỗ trợ FTP Client: Command terminal, Command
Dos, Internet Explore, Windows Commander.
- Để mở kết nối tới FTP Server ta dùng lệnh: #ftp <ftp_address>
- Để thiết lập một phiên giao dịch, ta cần phải có địa chỉ IP (hoặc tên máy tính), một
tài khoản (username, password).
- Username mà FTP hỗ trợ sẵn cho ngƣời dùng để mở một giao dịch FTP có tên là
anonymous với password rỗng.
4.12.1.4. Giới thiệu vsftpd
- vsftpd (Very secure file transfer protocol deamon) là một package giúp cấu hình FTP
Server
- vsftpd đƣợc phát triển xoay quanh tính năng nhanh, ổn định và an toàn.
- vsftpd có khả năng quản lý số lƣợng kết nối lớn một cách hiệu quả và an toàn.
- Mặc định, gói vsftpd cho phép các user download và upload ở thƣ mục home của họ
với một FTP Client bằng cách xác thực username và password khi login.
- Ngoài ra, Vsftpd còn tự động tạo ra một FTP anonymous cho phép ngƣời dùng nặc
danh truy cập vào FTP Server mà không cần xác thực. Anonymous chỉ yêu cầu username
và email.
- Những tập tin đƣợc cài đặt liên quan đến vsftpd:
+ /etc/pam.d/vsftpd: tập tin cấu hình PAM cho vsftpd. Tập tin này định nghĩa
những yêu cầu mà ngƣời dùng phải cung cấp khi đăng nhập vào ftp server.
+ /etc/vsftpd/vsftpd.conf: tập tin cấu hình chính.
+ /etc/vsftpd/ftpusers: liệt kê những ngƣời dùng không đƣợc phép login vào
+ vsftpd. Mặc định danh sách này gồm: root, bin, deamon và những ngƣời khác.
Chƣơng 4: Các dịch vụ mạng Trang 103
+ /etc/vsftpd/user_list: tập tin này đƣợc cấu hình để cấm hay cho phép những ngƣời
dùng đƣợc liệt kê trong user_list truy cập vào ftp server. Điều này phụ thuộc vào tuỳ
chọn userlist_deny đƣợc xét là YES hay NO trong tập tin vsftpd.conf. Những ngƣời dùng
đã liệt kê trong tập tin này thì không đƣợc xuất hiện trong /etc/vsftpd/ftpusers
+ /var/ftp/: thƣ mục chứa những tập tin đáp ứng cho vsftpd. Nó cũng chứa thƣ mục
public cho ngƣời dùng anonymous. Thƣ mục này chỉ có thể đọc, chỉ có root mới có khả
năng ghi.
- Mặc định dịch vụ FTP sử dụng phần mềm vsftpd cho phép ngƣời dùng anonymous,
ngƣời dùng cục bộ trong hệ thống quyền login vào FTP server, chỉ có user root và những
uer khác có UID < 100 không đƣợc login.
+ Đối với anonymous đƣợc login vào FTP server và có thƣ mục gốc /var/ftp với
quyền truy xuất read (đọc và truy xuất tài liệu).
+ Đối với ngƣời dùng cục bộ đƣợc quyền login vào dịch vụ FTP và có thƣ mục
root là /home/username (username là tên user login) với quyền read, write.
4.12.2. Cài đặt
Phần này trình bày các bƣớc cấu hình dịch vụ ftp trên FTP server.
- Kiểm tra vsftpd đã đƣợc cài đặt chƣa
- Cài đặt vsftpd (nếu chƣa cài đặt)
- Disable selinux
Chƣơng 4: Các dịch vụ mạng Trang 104
Hình 4.54: File selinux
- Sửa file cấu hình vsftpd.conf
+ anonymous_enable=YES: cho phép anonymous login vào.
+ anon_root=/home/ftp/public: chỉ ra thƣ mục vsftpd trao đổi khi ngƣời anonymous
login vào.
+ local_enable=YES: cho phép ngƣời dùng cục bộ login vào.
+ local_root=/home/ftp/local: chỉ ra thƣ mục vsftpd trao đổi khi ngƣời cục bộ login
vào.
+ write_enable=YES: cung cấp quyền ghi cho ngƣời dùng.
- Ngƣời dùng anonymous đƣợc phép upload tập tin trong thƣ mục cha với quyến ghi.
Chƣơng 4: Các dịch vụ mạng Trang 105
- xferlog_enable=YES: cho phép login
- connect_from_port_20=YES: sử dụng cổng 20 cho FTP – Data.
- xferlog_file=/var/log/vsftpd.log: vị trí file log
- ftp_banner=Welcome to spkt FTP service: banner
- Userlist_enable=YES: những ngƣời dùng trong user_list bị cấm truy cập
- Start vsftpd
- Kiểm tra biến ftp_home_dir
- Set biến ftp_home_dir = on
- Kiểm tra lại biến ftp_home_dir
- Tạo ftp_home_dir
Chƣơng 4: Các dịch vụ mạng Trang 106
- Truy cập từ windows
Hình4.55: Truy cập FTP server từ Windows
4.13. Virtual Private Network (VPN)
4.13.1. Giới thiệu
4.13.1.1. Giới thiệu Virtual Private Network (VPN)
- VPN (Virtual Private Network) là một mạng riêng sử dụng hệ thống mạng công cộng
(thƣờng là Internet) để kết nối các địa điểm hoặc ngƣời sử dụng từ xa với môt mạng
LAN ở trụ sở trung tâm.
- VPN tạo ra các liên kết ảo đƣợc truyền qua Internet giữa mạng riêng của một tổ chức
với địa điểm hoặc ngƣời sử dụng từ xa.
- Phân loại:
Chƣơng 4: Các dịch vụ mạng Trang 107
+ VPN truy cập từ xa ( Remote Access):hay còn gọi là Virtual Private Dial-up
Network (VPDN), đây là kết nối User to LAN dành cho nhân viên muốn kết nối từ xa
đến mạng cục bộ công ty bằng Dial-up.
+ VPN cục bộ (INTRANET): Intranet VPN mở rộng các dịch vụ của mạng nội bộ
tới các trụ sở ở xa, đây là một mô hình liên mạng hƣớng phi kết nối qua một mạng WAN
dùng chung.
+ VPN mở rộng (EXTRANET VPN): Tƣơng tự nhƣ INTRANET, nhƣng điểm
khác biệt cơ bản giữa chúng là phạm vi các ứng dụng cho phép các đối tác EXTRANET
- Lợi ích:
+ Giảm chi phí.
+ Nâng cao khả năng kết nối.
+ Bảo mật các giao dịch.
+ Sử dụng hiệu quả băng thông.
+ Nâng cao khả năng mở rộng.
+ Một số bất lợi của VPN nhƣ phụ thuộc nhiều vào Internet, khi sự thực thi trên
Internet không đảm bảo có thể ảnh hƣởng hoặc từ chối hoạt động của toàn bộ mạng dựa
trên VPN.
4.13.1.2. OpenVPN
- OpenVPN là một giải pháp dựa trên nền tảng SSL/TLS, sử dụng để xây dựng VPN
cho Intranet với đƣờng hầm dữ liệu thông qua một cổng TCP/UDP trên một mạng không
an toàn nhƣ Internet.
- OpenVPN có thể đƣợc cài đặt trên gần nhƣ bất kỳ nền tảng bao gồm cả Linux,
Windows 2000/XP/Vista, OpenBSD, FreeBSD, NetBSD, Mac OS X và Solaris.
- OpenVPN dựa trên kiến trúc client / server. Nó phải đƣợc cài đặt trên các thành viên
VPN, đƣợc chỉ định trong những máy chủ cũng nhƣ máy khách.
- OpenVPN tạo ra một đƣờng hầm TCP hoặc UDP, sau đó mã hóa dữ liệu bên trong
đƣờng hầm.
- Cổng mặc định của OpenVPN là UDP 1194, dựa trên một cổng đƣợc gán bởi tổ chức
cấp phát số hiệu Internet IANA (Internet Assigned Numbers Authority).
Chƣơng 4: Các dịch vụ mạng Trang 108
- Có thể xây dựng Ethernet (Bridged) hoặc IP (Routed) VPN với sự trợ giúp tƣơng
ứng của trình điều khiển mạng TAP hoặc TUN.
- Ƣu điểm:
+ OpenVPN sử dụng các mô-đun chuẩn, nên đảm bảo cho cả hệ thống an toàn và
hoạt động tốt
+ OpenVPN sử dụng công cụ SSL/TLS an toàn, ổn định.
4.13.2. Cài đặt và cấu hình
4.13.2.1. Cài đặt VPN server
- Copy các gói cài đặt lzo-1.08, openvpn-2.0.9 vào thƣ mục tmp (/tmp)
- cd /root
- Giải nén và cài lzo-1.08
tar –xvzf lzo-1.08.tar.gz
cd lzo-1.08
./configure (kiểm tra các thƣ viện đã đủ chƣa)
make (thực hiện biên dịch)
make install (thực hiện cài đặt)
- Giải nén và cài đặt openvpn :
cd ..
tar -xzvf openvpn-2.0.9.tar.gz
cd openvpn-2.0.9
./configure
Make
make install
- Tạo thƣ mục /etc/openvpn:
mkdir /etc/openvpn
4.13.2.2. Tạo CA Certificate Server và Key
- Copy thƣ mục easy-rsa từ thƣ mục giải nén vào /etc/openvpn
- Tạo CA Certifiacte Server:
+ cd /etc/openvpn/easy-rsa/2.0/
Chƣơng 4: Các dịch vụ mạng Trang 109
+ mv * ../ (move toàn bộ file trong thƣ mục 2.0/ ra thƣ mục easy-rsa/)
+ cd .. (chuyển đến thƣ mục easy-rsa/)
+ mkdir keys (tạo thƣ mục /etc/openvpn/easy-rsa/keys để chứa keys, certificate)
+ vi vars (sửa các thông số mặc định)
- Cấu hình CA:
- Tạo CA server: Tạo private key lƣu trong file 'ca.key' cho CA
Chƣơng 4: Các dịch vụ mạng Trang 110
Hình 4.56: Tạo private key
Xem các file đƣợc tạo ra trong thƣ mục keys
- Tạo certificate và private key cho server (xin CA cho server).
Ở bƣớc trên chúng ta đã tạo CA Server tƣơng tự nhƣ server của các tổ chức bán
Certificate (Verizon,…), trong bƣớc này ta sẽ tạo Private Key cho các server có nhu cầu
sử dụng việc chứng thực bằng Certificate (các ngân hàng, ..) ở đây server chúng ta là
OpenVPN.
Chƣơng 4: Các dịch vụ mạng Trang 111
Hình 4.57: Tạo certificate và private key cho server
Xem các file đƣợc tạo ra trong thƣ mục keys
- Tạo Diffie Hellman ( DH ): băm keys
Chƣơng 4: Các dịch vụ mạng Trang 112
- Tạo Client Certificate và Private key cho Client (để thực hiện chứng thực 2 chiều). Ở
đây mình tạo 2 keys cho 2 user nv1 và nv2
Hình 4.58: Tạo certificate và private key cho client
Chƣơng 4: Các dịch vụ mạng Trang 113
Tƣơng tự tạo thêm cho nv2
Xem các file đƣợc tạo ra trong thƣ mục keys
4.13.2.3. Cấu hình chức năng Forwarding (dùng để thực hiện Lan Routing)
- Mở file sysctl.conf vả điều chỉnh nội dung
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
- sysctl –p (để cho các thông số có hiệu lực)
- echo 1 > /proc/sys/net/ipv4/ip_forward
4.13.2.4. Cấu hình VPN Server
- Copy file cấu hình server.conf mẫu từ source cài đặt vào /etc/openvpn/
- Chỉnh sửa file cấu hình:
25: local 192.168.1.200 (chọn card mạng user quay VPN đến)
32: port 1723 (default là 1194, thƣờng port này bị firewall block nên đặt 1723)
36: proto udp (protocol udp)
53: dev tun (dùng tunnel)
78: ca /etc/openvpn/easy-rsa/keys/ca.crt (khai báo đuờng dẫn cho file ca.crt)
79: cert /etc/openvpn/easy-rsa/keys/openvpnserver.crt
80: key /etc/openvpn/easy-rsa/keys/openvpnserver.key
87: dh /etc/openvpn/easy-rsa/keys/dh1024.pem
Chƣơng 4: Các dịch vụ mạng Trang 114
96: server 10.8.0.0 255.255.255.0 (khai báo dãy IP cần cấp cho VPN Client, mặc
định VPN Server sẽ lấy IP đầu tiên – 10.8.0.1)
103: ;ifconfig-pool-persist ipp.txt (dùng để cho VPN Client lấy lại IP trƣớc đó nếu bị
đứt kết nối với VPN server)
124: push “route 192.168.2.0 255.255.255.0” (lệnh này sẽ đẩy route mạng
192.168.2.0 đến Client, giúp cho VPN Client thấy đƣợc mạng bên trong)
138: client-config-dir ccd (dùng để khai báo cấp IP tĩnh cho VPN Client)
196: client-to-client (cho phép các VPN client nhìn thấy nhau)
181 ;push “redirect-gateway” (mọi traffic của VPN Client – http, dns, ftp, … đều
thông qua đuờng Tunnel)
187, 188: push “dhcp-option DNS (WINS) 10.8.0.1” đẩy DNS or WINS config vào
VPN Client
- Cấu hình file IP tĩnh tƣơng ứng với từng User: Sau khi đã cấu hình server, tiếp đó ta
sẽ cấu hình các file đặt trong thƣ mục cdd/ tƣơng ứng với từng User VPN.
+ Tạo thƣmục ccd (/etc/openvpn/ccd)
mkdir /etc/openvpn/ccd
+ Tạo profile cho user nv1
vi /etc/openvpn/ccd/nv1
1: ifconfig-push 10.8.0.2 10.8.0.1
+ Tạo profile cho user nv2
vi /etc/openvpn/ccd/kuteo
1: ifconfig-push 10.8.0.6 10.8.0.5
4.13.2.5. Start VPN Server và kết nối từ client
- Start OpenVPN Server
Chƣơng 4: Các dịch vụ mạng Trang 115
- Cài đặt, config OpenVPN GUI cho Client
+ Chạy file openvpn-2.0.9-gui-1.0.3-install.exe, cài đặt mặc định.
+ Chép các file key, certificate cần thiết ca.crt, nv1.crt, nv1.key vào đƣờng
dẫnC:\Program Files\OpenVPN\config
+ Copy file client.ovpn từ đƣờng dẫn C:\Program Files\OpenVPN\sample-config
vào C:\Program Files\OpenVPN\config
+ Edit file client.ovpn:
Client
dev tun (tunnel)
proto udp (upd protocol)
remote 192.168.1.200 1723 (khai báo IP:Port server OpenVPN)
nobind
persist-key
persist-tun
ca ca.crt (khai báo CA server)
cert kuti.crt (certificate user kuti)
key kuti.key (private key kuti)
comp-lzo
verb 3
- Kết nối từ user
Chƣơng 4: Các dịch vụ mạng Trang 116
Hình 4.59: OpenVPN Connection
4.14. IDS-IPS
4.14.1. Giới thiệu
- IDS Là một thiết bị hay software có khả năng theo dõi các gói tin xảy ra trên hệ
thống mạng để phát hiện ra các hoạt động xâm nhập vào hệ thống dựa vào các rules đã đề
ra.
- Hệ thống IDS sẽ thu thập thông tin từ nhiều nguồn trong hệ thống, sau đó phân tích
thông tin đó theo các cách khác nhau để phát hiện những xâm nhập trái phép.
- Khi một hệ thống có khả năng ngăn chặn những xâm nhập mà nó phát hiện thì đƣợc
gọi là một hệ thống phòng chống xâm nhập hay IPS.
- Sự khác nhau giữa IDS và IPS
+ Các hệ thống IDS đƣợc thiết kế nhằm phát hiện và cảnh báo các xâm nhập trái
phép. Trong khi đó một hệ thống IPS ngoài khả năng phát hiện còn có thể tự động chống
lại các nguy cơ xâm nhập này theo các quy định đã đƣợc thiết lập của nhà quản trị.
+ Tuy nhiên trong thực tế sự khác biệt này không thật rõ ràng. Các hệ thống IDS
cũng đƣợc thiết lập chức năng ngăn chặn nhƣ một chức năng tùy chọn, còn hệ thống IPS
lại không mang chức năng phòng chống theo đúng nghĩa.
Chƣơng 4: Các dịch vụ mạng Trang 117
+ Dựa vào mô hình, tính chất từng mạng cụ thể và các chính sách an ninh để ngƣời
ta chọn giữa IDS hay IPS. Thông thƣờng, với mạng nhỏ ngƣởi ta chọn IPS do tích hợp
các tính chất vừa phát hiện vừa ngăn chặn, với quy mô mạng lớn, các chức năng phát
hiện và ngăn chặn sẽ đƣợc tách riêng cho từng máy. Ngăn chặn sẽ đƣợc giao cho firewall.
Sự phân chia trách nhiệm sẽ an ninh hơn và linh động hơn.
4.14.1.1. Phân loại IDS/IPS
Ngƣời ta dựa vào đặc điểm của nguồn dữ liệu thu đƣợc để phân chia IDS (cũng nhƣ
IPS) thành các loại:
- Host-based IDS (HIDS): sử dụng dữ liệu kiểm tra từ một máy trạm đơn.
+ NIDS thƣờng có 2 thành phần:
Bộ cảm biến- sensor: đặt tại một đoạn mạng.
Trạm quản lý: nhận các tín hiệu từ bộ cảm biến và thông báo cho ngƣời quản
trị
+ Ƣu điểm
Chi phí thấp: chỉ cần cài đặt NIDS ở những vị trí trọng yếu có thể giám sát
toàn lƣu lƣợng mạng.
Phát hiện các tấn công mà HIDS bỏ qua. NIDS kiểm tra header của tất cả gói
tin vì thế nó không bỏ sót các dấu hiệu khả nghi nào
Khó xóa bỏ dấu vết. Các file log có thể bị hacker xóa bỏ gây khó khăn cho
HIDS, nhƣng NIDS sử dụng lƣu thông hiện hành nên kẻ đột nhập không thể xóa đƣợc
dấu vết.
Phát hiện và đối phó kịp thởi. NIDS phát hiện tấn công ngay nên cảnh báo và
ngăn chặn sẽ nhanh hơn.
Có tính độc lập cao: lỗi hệ thống không ảnh hƣởng đến các sensor trên mạng
+ Nhƣợc điểm:
Bị hạn chế bởi switch. Switch chia hệ thống mạng thành nhiều nhánh khác
nhau, gây khó khăn cho NIDS thu thập dữ liệu. Do NIDS chỉ kiểm tra các đoạn mạng nối
trực tiếp với nó.
Chƣơng 4: Các dịch vụ mạng Trang 118
Hạn chế về hiệu suất: NIDS gặp khó khi phải xử lý tất cả các gói tin trên
mạng diện rộng hoặc mật độ lƣu thông cao.
Tăng thông lƣợng mạng: với một gói tin sẽ sinh ra một lƣợng lớn tải phân
tích
Gặp khó khăn trong các cuộc tấn công có mã hóa
NIDS gặp khó khăn với các gói tin phân mảnh, làm cho NIDS hoạt động sai
hoặc đổ vỡ.
- Network-based IDS (NIDS): sử dụng dữ liệu trên toàn bộ lƣu thông mạng, cùng với
dữ liệu lấy từ một vài máy trạm để phát hiện xâm nhập.
+ Tìm kiếm sự xâm nhập từ một máy cục bộ. Nó thƣờng kiểm tra, tìm kiếm các
hoạt động bất thƣờng nhƣ login, truy nhập file không thích hợp, leo thang các đặc quyền
không đƣợc chấp nhận. Ví dụ: đặc quyền của ngƣời sử dụng cao cấp đƣợc thực hiện
thông qua lệnh su- user, nhƣ vậy những cố gắng liên tục để login vào tài khoản root đƣợc
xem nhƣ là một tấn công.
+ Ƣu điểm:
Xác định đƣợc kết quả của tấn công: có thể biết đƣợc kết quả tấn công hay
thất bại cao hơn NIDS. Do đó, có thể kết hợp với NIDS bổ sung thông tin tiếp theo khi
cuộc tấn công xảy ra.
Giám sát đƣợc các hoạt động của hệ thống. HIDS có thể giám sát các hoạt
động mà NIDS không làm đƣơc nhƣ truy nhập file, thay đổi quyền,..
Phát hiện các xâm nhập mà NIDS bỏ qua nhƣ kẻ xâm nhập sử dụng bàn phím
truy nhập
Việc chuyển mạch và mã hóa trên mạng không ảnh hƣởng đến HIDS
Không yêu cầu thêm phần cứng.
+ Nhƣợc điểm:
Khó quản trị: Các HIDS phải đƣợc cài đặt trên tất cả các máy muốn bảo vệ
Thông tin nguồn không an toàn: HIDS phải tin vào nhật ký và mức độ an
toàn của sererver.
Chƣơng 4: Các dịch vụ mạng Trang 119
Hệ thống HIDS tƣơng đối đắt.
Chiếm tài nguyên hệ thống.
4.14.1.2. Cơ chế hoạt động của hệ thống IDS/IPS
- Có 2 cách tiếp cận đối với việc phát hiện xâm nhập là:
+ Phát hiện sự lạm dụng: hệ thống sẽ so sánh hành động với các kỹ thuật xâm nhập
đã biết trƣớc hoặc các điểm dễ bị tấn công của hệ thống để phát hiện sự xâm nhập
+ Phát hiện sự bất thƣờng: hệ thống sẽ tìm kiếm các hành động khác với các hành
vi thông thƣờng của ngƣời dùng hoặc của hệ thống.
4.14.1.3. Snort
- Snort là phần mềm IDS mã nguồn mở, đƣợc phát triển bởi Martin Roesh. Snort đầu
tiên đƣợc xây dựng trên nền UNIIX sau đó đƣợc phát triển sang các nền tảng khác. Snort
đƣợc đánh giá là IDS mã nguồn mở đáng chú ý nhất với tính năng rất mạnh. Với kiến
trúc thiết kế theo module, ngƣời dùng có thể tự tăng cƣờng tính năng cho hệ thống snort
của mình bằng việc thêm các module mới. Cơ sở dữ liệu luật của snort đã lên đến 2930
luật và đƣợc cập nhật thƣờng xuyên bởi một cộng đồng ngƣời sử dụng.
- Khi snort hoạt động nó sẽ thực hiện việc lắng nghe và bắt giữ các gói tin. Các gói tin
này sẽ đƣợc đƣa vào module giải mã gói tin. Tiếp theo sẽ đƣa vào module tiền xử lý
nhằm kết hợp các gói tin đã phân mảnh, giải mã và chuẩn hóa giao thức các dịch vụ, phát
hiện các xâm nhập bất thƣờng. Sau khi tiền xử lý, gói tin sẽ đƣa vào module phát hiện,
module này dựa vào các luật đƣợc định nghĩa sẵn để phát hiện ra xâm nhập. Nếu không
phát hiện xâm nhập sẽ cho gói tin đi qua, nếu có sẽ đƣa gói tin vào module log và cảnh
báo để xử lý. Khi các cảnh báo đƣợc xác định, module kết xuất thông tin sẽ đƣa ra các
cảnh báo theo đúng định dạng mong muốn.
4.14.2. Cài đặt và cấu hình snort
- Cài đặt các phần mềm phụ thuộc:
+ rpm -ivh http://download3.fedora.redhat.com/pub/epel/6/i386/epel-release-6-
8.noarch.rpm
+ yum -y install gcc make rpm-build autoconf automake flex libpcap-devel bison
libdnet libdnet-devel mysql-devel pcre-devel php-mysql mysql-server
Chƣơng 4: Các dịch vụ mạng Trang 120
+ Cài đặt Daq:
wget http://www.snort.org/downloads/858 -O daq-0.5-1.src.rpm
rpm -ivh daq-0.5-1.src.rpm
cd rpmbuild/SPECS
rpmbuild -bb daq.spec
rpm -ivh ../RPMS/i686/daq-0.5-1.i686.rpm
+ Cài đặt snort
cd ~
wget http://www.snort.org/downloads/865 -O snort-2.9.0.5-1.src.rpm
rpm -ivh snort-2.9.0.5-1.src.rpm
cd rpmbuild/SPECS
vi snort.spec
chỉnh sửa dòng 280 nhƣ sau
rpmbuild -bb --with mysql snort.spec
rpm -ivh ../RPMS/i686/snort-2.9.0.5-1.i686.rpm
rpm –ivh ../RPMS/i686/snort-mysql-2.9.0.5-1.i686.rpm
lƣu ý: tủy theo máy mà có thể là i386 hoặc i686
+ Các chế độ hoạt động của snort
Sniffer mode : lắng nghe các gói tin trên card mạng và hiển thị lên màn hình
snort –dev
-v: hiển thị TCP/UDP/ICMP header
-d: hiển thị packet data
-e: Hiển thị data link header layer
Chƣơng 4: Các dịch vụ mạng Trang 121
Packet logger mode: ghi lại các packet trên ổ đĩa
snort –dev -l </path/to/log/directory>
snort –dev -r </path/to/log/file>
NIDS mode : phân tích các gói tin trên mạng và cảnh báo
+ Cấu hình snort NIDS: lần lƣợt gõ các dòng sau
service mysqld restart
mysqladmin –u root password root
mysql –p
create database snort;
grant all privileges on snort.* to snort@localhost identified by 'password';
mysql -u snort -p snort < /usr/share/snort-2.9.0.5/schemas/create_mysql
Mở file vi /etc/snort/snort.conf
Dòng 39: lắng nghe trên mạng nào
Bỏ dòng này
Cấu hình database
Mở /etc/sysconfig/snort
Bỏ dòng ALERTMODE=fast để lƣu log xuống database.
+ Download snortrules-snapshot-2905.tar.gz
+ Giải nén
+ cp rules/* /etc/snort/rules/
+ service snortd start
+ Cài đặt snort base để quản lý trên giao diện web
Chƣơng 4: Các dịch vụ mạng Trang 122
yum -y install php-adodb php-pear-Image-Graph
wget http://jaist.dl.sourceforge.net/sourceforge/secureideas/base-1.4.5.tar.gz
tar zxvf base-1.4.5.tar.gz
mv base-1.4.5 /var/www/html/base
chown -R apache. /var/www/html/base
cp/var/www/html/base/base_conf.php.dist
/var/www/html/base/base_conf.php
mở file /var/www/html/base/base_config.php cấu hình nhƣ sau
dòng 50 : $BASE_urlpath = '/base’;
dòng 80: $DBlib_path = '/usr/share/php/adodb';
dòng 102 : $alert_dbname = 'snort';
$alert_host = 'localhost';
$alert_port = “”;
$alert_user = 'snort';
$alert_password = 'password’;
+ Lúc này snort vẫn chƣa phát hiện đƣợc scan port, ta phải download community.
rules từ www.snort.org/snort-rules/ . Sau đó copy file này vào /etc/snort/rules và khai báo
community.rules trong snort.conf
+ Khai báo thêm vào snort.conf
+ Để xem lỗi của snort : snort –c /etc/snort/snort.conf
Chƣơng 4: Các dịch vụ mạng Trang 123
Hình 4.60: Màn hình quét NMap
+ Kiểm thử: ping và dùng phần mềm nmap để kiểm thử snort.
Hình 4.61: Màn hình giao diện snort base
Chƣơng 5: Kết luận - Hƣớng phát triển Trang 124
CHƢƠNG 5: KẾT LUẬN - HƢỚNG PHÁT TRIỂN
5.1. Tổng kết những công việc đã làm
- Tìm hiểu kiến trúc mạng doanh nghiệp.
- Đề xuất mô hình mạng cho doanh nghiệp.
- Tìm hiểu, cài đặt và cấu hình các dịch vụ mạng cơ bản trên sơ đồ đã đề xuất.
5.2. Kết quả đạt đƣợc:
- Nắm đƣợc lý thuyết cơ bản về kiến trúc mạng doanh nghiệp.
- Cài đặt và cấu hình cơ bản cho các dịch vụ DNS, LDAP, DHCP, SAMBA, NFS,
Web server, Mail server, FTP server, Firewall, IDS/IPS, SSH, Telnet, Proxy, VPN trên
mô hình đã đề xuất.
5.3. Hƣớng phát triển
- Cài đặt thêm một số dịch vụ khác nhƣ: Syslog, VNC, NTP, Storage server,…
- Tìm hiểu sâu hơn và thiết lập security cho các dịch vụ.
- Cấu hình chứng thực openldap cho các dịch vụ cần thiết nhƣ apache, mail, vsftp,
squid, vpn.
Tài liệu tham khảo Trang 125
TÀI LIỆU THAM KHẢO
[1] A. Anthony Bruno and Jacqueline Kim, CCDA Exam Certification Guide, Cisco
Press
[2] http://www.server-world.info/en/note?os=CentOS_6, Truy cậpngày 10/05/2013
[3] http://2mit.org/forum/showthread.php/14254-Qmail-Phan-7-Cai-dat-webmail-voi-
Squirrelmail, Truy cậpngày 20/04/2013
[4] http://www.gocit.vn/bai-viet/cai-dat-va-cau-hinh-modsecurity-tren-centos/, Truy cập
ngày 20/05/2013
[5] http://nhatnghe.com/forum/showthread.php?t=136475, truy cập ngày 15/05/2013
[6] Nguyễn Hồng Thái, Cài đặt và cấu hình iptables, 2006
[7] Rafeeq Rehman, Intrusion Detection Systemswith Snort, NXB Prentice Hall – 2003