Sau khi ta hồn tất quá trình tạo zone thuận, zone nghịch, và mơ tả một số RR cần thiết (tham khảo Hình 1.30).
Hình 1.30: Một số cơ sở dữ liệu cơ bản của dịch vụ DNS.
Muốn kiểm tra quá trình hoạt động của dịch vụ DNS ta thực hiện các bước sau: Khai báo Resolver:
- Để chỉ định rõ cho DNS Client biết địa chỉ máy chủ DNS Server hỗ trợ việc phân giải tên miền. - Để thực hiện khai báo Resolver ta chọn Start | Settings | Network Connections | Chọn
Properties của Local Area Connection | Chọn Properties của Internet Control (TCP/IP) (ta tham khảo Hình 1.31), sau đĩ chỉ định hai thơng số .
- Referenced DNS server: Địa chỉ của máy chủ Primary DNS Server.
- Alternate DNS server: Địa chỉ của máy chủ DNS dự phịng hoặc máy chủ DNS thứ hai. Hình 1.31: Khai báo Resolver cho máy trạm.
Kiểm tra hoạt động. Ta cĩ thể dùng cơng cụ nslookup để kiểm tra quá trình hoạt động của dịch vụ DNS, phân giải resource record hoặc phân giải tên miền. để sử dụng được cơng cụ
nslookup ta vào Start | Run | nslookup. Hình 1.32: Kiểm tra DNS.
Cần tìm hiểu một vài tập lệnh của cơng cụ nslookup.
>set type=<RR_Type> Trong đĩ <RR_Type> là loại RR mà ta muốn kiểm tra, sau đĩ gõ tên của RR hoặc tên miền cần kiểm tra
>set type=any: Để xem mọi thơng tin về RR trong miền, sau đĩ ta gõ <domain name> để xem thơng tin về các RR như A, NS, SOA, MX của miền này.
Hình 1.33: Ví dụ về nslookup. Hình 1.34: Xem RR MX.
Hình 1.35: Xem địa chỉ IP của một hostname.
Một số thơng số cấu hình cần thiết cho DNS Client: Hình 1.37: Một số thơng tin cấu hình khác.
VII.2.5 Tạo miền con(Subdomain).
Trong miền cĩ thể cĩ nhiều miền con, việc tạo miền con giúp cho người quản trị cung cấp tên miền cho các tổ chức, các bộ phận con trong miền của mình thơng qua đĩ nĩ cho phép người quản trị cĩ thể phân loại và tổ chức hệ thống dễ dàng hơn. Để tạo miền con ta chọn Forward Lookup Zone, sau đĩ ta click chuột phải vào tên Zone chọn New Domain...(tham khảo Hình 1.38)
Hình 1.38: Tạo miền con. VII.2.6 Ủy quyền cho miền con.
Giả sử ta ủy quyền tên miền subdomain hbc.csc.com cho server serverhbc cĩ địa chỉ 172.29.14.150 quản lý, ta thực hiện các thao tác sau:
- Tạo resource record A cho serverhbc trong miền csc.com(tham khảo trong phần tạo RR A). - Chọn Forward Lookup Zone, sau đĩ Click chuột phải vào tên Zone chọn New delegation... | Next (tham khảo Hình 1.39),.
Hình 1.39: delegation domain.
- Add Name Server quản lý cơ cở dữ liệu cho miền con hbc.csc.com trong hộp thoại Name Server (tham khảo Hình 1.40).
Hình 1.40: Add Name Server.
- Sau khi add xong Name Server ở bước trên ta chọn Next | Finish để hồn tất. VII.2.7 Tạo Secondary Zone.
Thơng thường trong một domain ta cĩ thể tổ chức một Primary Name Server(PNS) và một Secondary Name Server(SNS), SNS đĩng vai trị là máy dự phịng, nĩ lưu trữ bảng sao dữ liệu từ máy PNS, một khi PNS bị sự cố thì ta cĩ thể sử dụng SNS thay cho máy PNS.
Sau đây ta sử dụng máy chủ server1 cĩ địa chỉ 172.29.14.151 làm máy chủ dự phịng (SNS) cho miền csc.edu từ Server chính (PNS) cĩ địa chỉ 172.29.14.149.
- Click chuột phải vào tên Name Server trong giao diện DNS management console chọn New Zone | Next | Secondary Zone (tham khảo Hình 1.41)
- Secondary Zone : Khi ta muốn sao chép dự phịng cơ sở dữ liệu DNS từ Name Server khác, SNS hỗ trợ cơ chế chứng thực, cân bằng tải với máy PNS, cung cấp cơ chế dung lỗi tốt. - Stub Zone: Khi ta muốn sao chép cơ sở dữ liệu chỉ từ PNS, Stub Zone sẽ chỉ chứa một số RR cần thiết như NS, SOA, A hỗ trợ cơ chế phân giải được hiệu quả hơn.
Hình 1.41: Tạo Secondary Zone
- Chọn Forward Lookup Zone nếu ta muốn tạo sao chép Zone thuận, chọn Reverse Lookup Zone nếu ta muốn sao chép Zone nghịch. Trong trường hợp này ta chọn Forward Lookup Zone | Next.
- Chỉ định Zone Name mà ta muốn sao chép (ví dụ csc.edu), tiếp theo ta chọn Next.
- Chỉ định địa chỉ của máy chủ Master Name Server(cịn gọi là Primary Name Server), sao đĩ chọn Add | Next (tham khảo Hình 1.42).
Hình 1.42: Tạo Secondary Zone
- Chọn Finish để hồn tất quá trình. ta kiểm tra xem trong Zone csc.edu mới tạo sẽ cĩ cơ sở dữ liệu được sao chép từ PNS, ngược lại trong zone csc.edu khơng cĩ cơ sở dữ liệu thì ta hiệu chỉ lại thơng số Zone Transfer trên máy Master Name Server để cho phép máy SNS được sao chép cơ sở dữ liệu, ta thực hiện điều này bằng cách Click chuột phải vào Zone csc.edu trên máy Master Name Server, chọn Properties | chọn Tab Zone Transfer (Tham khảo Hình 1.43). Hình 1.43: Allow Zone Transfer.
- Sau khi ta hiệu chỉ xong thơng tin Zone Transfer ta Reload cơ sở dữ liệu từ máy SNS để cho máy SNS sao chép lại cơ sở dữ liệu từ PNS (Tham khảo hình 1.44)
Hình 1.44: Reload Secondary Zone.
VII.2.8 Tạo zone tích hợp với Active Directory.
Trong q trình nâng cấp máy Stand-Alone Server thành Domain Controller bằng cách cài Active Directory ta cĩ thể chọn cơ chế cho phép hệ thống tự động cài đặt và cấu hình dịch vụ DNS tích hợp chung với Active Directory, nếu ta chọn theo cách này thì sau khi quá trình nâng cấp hồn tất, ta cĩ thể tham khảo cơ sở dữ liệu của DNS tích hợp chung với Active Directory thơng qua trình quản lý dịch vụ DNS(tham khảo Hình 1.45).
Trong Hình 1.45 này ta tham khảo cơ sở dữ liệu của DNS quản lý tên miền csc.com được tích hợp chung với Active Directory.
Hình 1.45: Active Integrated zone.
Tuy nhiên khi ta cho hệ thống tự động cấu hình cơ sở dữ liệu cho zone thì nĩ chỉ tạo một số cơ sở dữ liệu cần thiết ban đầu để nĩ thực hiện một số thao tác truy vấn và quản lý cơ sở dữ liệu cho Active Directory. Để cho DNS hoạt động tốt hơn thì ta mơ tả thêm thơng tin resource record cần thiết vào, điều cần thiết nhất là ta tạo Reverse Lookup Zone cho Active Integrated Zone vì ban đầu hệ thống khơng tạo ra zone này, mơ tả thêm thơng tin record PTR cho từng resource record A trong Forward Lookup Zone.
Ta cĩ thể tạo một zone mới tích hợp với Active Directory theo các bước sau:
Bấm chuột phải vào tên DNS Server trong DNS management console, chọn New Zone...| chọn Next. Trong hộp thoại zone type ta chọn Primary Zone với cơ chế lưu trữ zone trong AD(tham khảo hình 1.46), tiếp tục chọn Next.
Hình 1.46: Chọn zone type
Chọn cơ chế nhân bản dữ liệu tới tất cả các Domain Controller trong Active Directory Zone | Next (tham khảo Hình 1.47)
Hình 1.47: Nhân bản dữ liệu cho zone.
Chọn tạo zone thuận (Forward Lookup Zone) | Next. Chỉ định tên zone (Zone Name) | Next. Chỉ định Dynamic Update trong trường hợp ta muốn tạo DDNS cho zone này (tham khảo Hình 1.48), trong trường hợp này ta chọn Allow both nonsecure and secure dynamic updates | Next. Hình 1.48: Dynamic update
Chọn Finish để hồn tất quá trình, sau khi hồn thành ta cĩ thể mơ tả resource record cho zone này, tạo thêm Reverse Lookup Zone trong trường hợp ta muốn hỗ trợ phân giải nghịch.
Hình 1.49: Cơ sở dữ liệu zone.
VII.2.9 Thay đổi một số tùy chọn trên Name Server.
Trong phần này ta khảo sát một vài tùy chọn cần thiết để tạo hiệu chỉnh thơng tin cấu hình cho DNS. Thơng thường cĩ ba phần chính trong việc thay đổi tùy chọn.
- Tùy chọn cho Name Server. - Tùy chọn cho từng zone name.
- Tùy chọn cho từng RR trong zone name.
Tùy chọn cho Name Server. Cho phép thay đổi một số tùy chọn chính của Name Server bao gồm: Cấu hình Forwarder, Cấu hình Root hints, đặt một số tùy chọn cho phép theo dõi log (Event Logging), quản lý các truy vấn (Monitoring query), debug logging,... và một số hiệu chỉnh khác. Để sử dụng tùy chọn này ta chọn Properties của tên server trong DNS management console (tham khảo Hình 1.50).
Hình 1.50: Name server properties.
- Cấu hình Forwader: Chọn Tab Forwarders từ màn hình properties của Name Server (tham khảo hình 1.51).
Hình 1.51: Cấu hình Forwarder.
- Cấu hình Root hints: Ta cĩ thể tham khảo danh sách các Root name server quản lý các Top- Level domain, thơng qua hộp thoại này ta cĩ thể thêm, xĩa, hiệu chỉnh địa chỉ của Root hints, thơng thường các địa chỉ này hệ thống cĩ thể tự nhận biết (tham khảo hình 1.52).
Hình 1.52: Root Name Server.
- Hiệu chỉnh một số thơng số cấu hình nâng cao như (tham khảo Hình 1.53):
- Disable recursion: bỏ cơ chế truy vấn đệ qui, nếu ta chọn tùy chọn này thì Forwarder cũng bị disable.
- BIND secondaries: Cho phép secondary là Name server trên mơi trường Unix.
- Fail on load if bad zone data : Nếu zone data bị lỗi thì khơng cho name server load dữ liệu. - Enable round robin: Cho phép cơ chế luân chuyển giữa các server trong quá trình phân giải tên miền.
- Enable netmask ordering: Cho phép client dựa vào local subnet để nĩ lựa chọn host gần với client nhất (một khi client nhận được câu trả lời truy vấn ánh xạ một hostname cĩ nhiều địa chỉ IP)
- Secure cache agianst pollution: Bảo mật vùng nhớ tạm lưu trữ các RR đã phân giải trước. Hình 1.53: Tùy chọn nâng cao.
Tùy chọn cho từng Zone. Để sử dụng tùy chọn này ta chọn Properties của tên zone trong DNS management console.
- Trong phần này ta cĩ thể :
- Thay đổi Zone Type, cho phép zone hỗ trợ hay khơng hỗ trợ Dynamic update (DDNS) (tham khảo Hình 1.54)
Hình 1.54: Tùy chọn chung của zone name.
- Thay đổi thơng tin resource record SOA, NS (ta cĩ thể tham khảo trong phần cấu hình trước) - Cho phép hay khơng cho phép sao chép dữ liệu zone giữa các Name Server (tham khảo hình 1.55).
Hình 1.55: Zone transfer.
Tùy chọn cho từng Resource Record. Thơng qua tùy chọn này ta cĩ thể thay đổi thơng tin của từng resource record cho zone name, mỗi một resource record cĩ thơng tin khác nhau: để thực hiện điều này ta chỉ cần bấm đơi vào tên resource record tưng ứng (tham khảo ví dụ trong Hình 1.56 về RR MX)
Hình 1.56: Thuộc tính của MX record. VII.2.10 Theo dõi sự kiện log trong DNS.
Khi quản trị dịch vụ DNS, việc ghi nhận và theo dõi sự kiện xảy ra cho dịch vụ DNS là rất quan trọng, thơng qua đĩ ta cĩ thể đưa ra một số giả pháp khác phục một khi cĩ sự cố xảy
ra,...Trong DNS management console cung cấp mục Event Viewer để cho ta cĩ thể thực hiện điều này, trong phần này ta cần lưu ý một số biểu tượng như:
Theo dõi sự kiện:
- : Chỉ thị lỗi nghiêm trọng, đối với lỗi này ta cần theo xử lý nhanh chĩng. Hình 1.57: Theo dõi sự kiện lỗi
- : Thơng tin ghi nhận các sự kiện bình thường như shutdown, start, stop DNS,....
Bài 19
DỊCH VỤ FTP
I. Giới thiệu FTP
II. Chương trình FTP client. III. Giới thiệu FTP server. III. Giới thiệu FTP server. I. Giới thiệu về FTP. I.1. Giao thức FTP.
FTP là từ viết tắt của File Transfer Protocol. Giao thức này được xây dựng dựa trên chuẩn TCP, FTP cung cấp cơ chế truyền tin dưới dạng tập tin (file) thơng qua mạng TCP/IP, FTP là 1 dịch vụ đặc biệt vì nĩ dùng đến 2 cổng: cổng 20 dùng để truyền dữ liệu (data port) và cổng 21 dùng để truyền lệnh (command port).
Ở chế độ chủ động (active), máy khách FTP (FTP client) dùng 1 cổng ngẫu nhiên khơng dành riêng
(cổng N > 1024) kết nối vào cổng 21 của FTP Server. Sau đĩ, máy khách lắng nghe trên cổng N+1 và gửi lệnh PORT N+1 đến FTP Server. Tiếp theo, từ cổng dữ liệu của mình, FTP Server sẽ kết nối ngược lại vào cổng dữ liệu của Client đã khai báo trước đĩ (tức là N+1) Ở khía cạnh firewall, để FTP Server hỗ trợ chế độ Active các kênh truyền sau phải mở:
- Cổng 21 phải được mở cho bất cứ nguồn gửi nào (để Client khởi tạo kết nối) - FTP Server's port 21 to ports > 1024 (Server trả lời về cổng điều khiển của Client)
- Cho kết nối từ cổng 20 của FTP Server đến các cổng > 1024 (Server khởi tạo kết nối vào cổng dữ liệu của Client)
- Nhận kết nối hướng đến cổng 20 của FTP Server từ các cổng > 1024 (Client gửi xác nhận ACKs đến cổng data của Server)
Sơ đồ kết nối:
Hình 2.1: Mơ hình hoạt động của Active FTP.
- Bước 1: Client khởi tạo kết nối vào cổng 21 của Server và gửi lệnh PORT 1027. - Bước 2: Server gửi xác nhận ACK về cổng lệnh của Client.
- Bước 3: Server khởi tạo kết nối từ cổng 20 của mình đến cổng dữ liệu mà Client đã khai báo trước đĩ.
- Bước 4: Client gửi ACK phản hồi cho Server. Khi FTP Server hoạt động ở chế độ chủ động, Client khơng tạo kết nối thật sự vào cổng dữ liệu của FTP server, mà chỉ đơn giản là thơng báo cho Server biết rằng nĩ đang lắng nghe trên cổng nào và Server phải kết nối ngược về Client vào cổng đĩ. Trên quan điểm firewall đối với máy Client điều này giống như 1 hệ thống bên ngồi khởi tạo kết nối vào hệ thống bên trong và điều này thường bị ngăn chặn trên hầu hết các hệ thống Firewall.
Ví dụ phiên làm việc active FTP:
Trong ví dụ này phiên làm việc FTP khởi tạo từ máy testbox1.slacksite.com (192.168.150.80), dùng chương trình FTP Client dạng dịng lệnh, đến máy chủ FTP testbox2.slacksite.com (192.168.150.90). Các dịng cĩ dấu --> chỉ ra các lệnh FTP gửi đến Server và thơng tin phản hồi từ các lệnh này. Các thơng tin người dùng nhập vào dưới dạng chữ đậm. Lưu ý là khi lệnh PORT được phát ra trên Client được thể hiện ở 6 byte. 4 byte đầu là địa chỉ IP của máy Client cịn 2 byte sau là số cổng. Giá trị cổng đuợc tính bằng (byte_5*256) + byte_6, ví dụ ((14*256) + 178) là 3762. Phiên làm việc active FTP.
I.1.2 Passive FTP.
Để giải quyết vấn đề là Server phải tạo kết nối đến Client, một phương thức kết nối FTP khác đã được phát triển. Phương thức này gọi là FTP thụ động (passive) hoặc PASV (là lệnh mà Client gửi cho Server để báo cho biết là nĩ đang ở chế độ passive). Ở chế độ thụ động, FTP Client tạo kết nối đến Server, tránh vấn đề Firewall lọc kết nối đến cổng của máy bên trong từ Server. Khi kết nối FTP được mở, client sẽ mở 2 cổng khơng dành riêng N, N+1 (N > 1024). Cổng thứ nhất dùng để liên lạc với cổng 21 của Server, nhưng thay vì gửi lệnh PORT và sau đĩ là server kết nối ngược về Client, thì lệnh PASV được phát ra. Kết quả là Server sẽ mở 1 cổng khơng dành riêng bất kỳ P (P > 1024) và gửi lệnh PORT P ngược về cho Client.. Sau đĩ client sẽ khởi tạo kết nối từ cổng N+1 vào cổng P trên Server để truyền dữ liệu. Từ quan điểm Firewall trên Server FTP, để hỗ trợ FTP chế độ passive, các kênh truyền sau phải được mở: - Cổng FTP 21 của Server nhận kết nối từ bất nguồn nào (cho Client khởi tạo kết nối)
- Cho phép trả lời từ cổng 21 FTP Server đến cổng bất kỳ trên 1024 (Server trả lời cho cổng
control của Client)
- Nhận kết nối trên cổng FTP server > 1024 từ bất cứ nguồn nào (Client tạo kết nối để truyền dữ liệu đến cổng ngẫu nhiên mà Server đã chỉ ra)
- Cho phép trả lời từ cổng FTP Server > 1024 đến các cổng > 1024 (Server gửi xác nhận ACKs đến cổng dữ liệu của Client)
Hình 2.2: Mơ hình hoạt động của Active FTP.
- Bước 2: Server trả lời bằng lệnh PORT 2024, cho Client biết cổng 2024 đang mở để nhận kết nối dữ liệu.
- Buớc 3: Client tạo kết nối truyền dữ liệu từ cổng dữ liệu của nĩ đến cổng dữ liệu 2024 của Server.
- Bước 4: Server trả lời bằng xác nhận ACK về cho cổng dữ liệu của Client. Trong khi FTP ở chế độ thụ động giải quyết được vấn đề phía Client thì nĩ lại gây ra nhiều vấn đề khác ở phía Server. Thứ nhất là cho phép máy ở xa kết nối vào cổng bất kỳ > 1024 của Server. Điều này khá nguy hiểm trừ khi FTP cho phép mơ tả dãy các cổng >= 1024 mà FTP Server sẽ dùng (ví dụ WU-FTP Daemon). Vấn đề thứ hai là một số FTP Client lại khơng hổ trợ chế độ thụ động. Ví