Giáo trình Quản trị Linux Server - Trường Cao đẳng công nghiệp và thương mại

pdf 44 trang Gia Huy 16/05/2022 4390
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Quản trị Linux Server - Trường Cao đẳng công nghiệp và thương mại", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_quan_tri_linux_server_truong_cao_dang_cong_nghiep.pdf

Nội dung text: Giáo trình Quản trị Linux Server - Trường Cao đẳng công nghiệp và thương mại

  1. BỘ CÔNG THƢƠNG TRƢỜNG CAO ĐẲNG CÔNG NGHIỆP VÀ THƢƠNG MẠI GIÁO TRÌNH MÔ ĐUN: QUẢN TRỊ LINUX SERVER NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG NGHỀ (Ban hành kèm theo Quyết định số: /QĐ-CDCN&TM ngày tháng năm 2018 của Hiệu trưởng Trường Cao đẳng Công nghiệp và Thương Mại Vĩnh phúc, năm 2018 1
  2. MỤC LỤC BÀI 1: CÀI ĐẶT HỆ ĐIỀU HÀNH, THIẾT LẬP CÁC THÔNG SỐ MẠNG, THIẾT LẬP HỆ THỐNG BẢO MẬT 5 1.1 Cài đặt và nâng cấp phiên bản 5 1.2. Cấu hình IP 9 1.3. Cấu hình DHCP 12 1.4. Cấu hình DNS 14 1.5.Quản trị ngƣời dùng , phân quyền 18 1.6. Console Security – Bảng điều khiển bảo mật 24 1.7. Firewall 24 Bài tập thực hành 25 BÀI 2 : CÀI ĐẶT VÀ CẤU HÌNH CÁC DỊCH VỤ NÂNG CAO 26 3.1. Cài đặt và cấu hình máy chủ Web server 26 3.2. Cài đặt và cấu hình máy chủ Email server 34 3.3. Window networking 37 3.4. Cài đặt và cấu hình VPN 42 TÀI LIỆU THAM KHẢO 44 2
  3. CHƢƠNG TRÌNH MÔ ĐUN Tên mô đun: Quản trị Linux Server Mã số mô đun: MDCC13030221 Thời gian thực hiện mô đun: 90h (Lý thuyết:30; Thực hành: 57; Kiểm tra: 3) I. Vị trí, tính chất của mô đun: - Vị trí của mô đun: Mô đun này giúp ngƣời học cho sinh viên những kiến thức về các dịch vụ DNS, GPO, RODC, WEB Server, Windows Firewall với Advance Security, Windows Server core; cài đặt và cấu hình các dịch vụ trên. - Tính chất của mô đun: là mô đun cơ sở bắt buộc. II. Mục tiêu mô đun: - Về kiến thức: Mô tả đƣợc các công việc cần làm trong quá trình quản trị mạng với máy chủ DEBIAN SERVER. - Về kỹ năng: Sinh viên cài đặt và quản trị đƣợc những dịch vụ thông dụng trong mạng máy tính với máy chủ DEBIAN SERVER - Về năng lực tự chủ và trách nhiệm: Ngƣời học có thái độ đúng đắn cẩn thận, chủ động trong việc lĩnh hội kiến thức III. Nội dung mô đun: 1. Nội dung tổng quát và phân phối thời gian: Thời gian (giờ) Kiểm Thực tra* TT Nội dung mô đun Tổng Lý hành (LT số thuyết Bài hoặcT tập H) 1 Bài 1: Cài đặt hệ điều hành, thiết lập các thông số mạng, thiết lập hệ 40 20 19 1 thống bảo mật 2 Bài 2: Cài đặt và cấu hình các dịch vụ 50 10 38 2 Tổng cộng 90 30 57 3 2. Nội dung chi tiết: Bài 1: Cài đặt và cấu hình DNS, GPO và RODC Mục tiêu : + Kiến thức: Mô tả đƣợc các thông số khi cài đặt HĐH, các thông số mạng và trình bày đƣợc chức năng của DHCP và DNS + Kỹ năng: Cài đặt đƣợc HĐH, cấu hình đƣợc các thông số mạng. Cài đặt và cấu hình đƣợc DHCP và DNS + Thái độ: Nhiệt tình, tích cực trong học tập Nội dung bài: 1.1 Cài đặt và nâng cấp phiên bản 1.2 Cấu hình IP 1.3 Cấu hình DHCP 1.4. Cấu hình DNS 3
  4. 1.5. Quản trị ngƣời dùng, phân quyền 1.6. Console Security – Bảng điều khiển bảo mật 1.7. Firewall Bài 2 : Cài đặt và cấu hình các dịch vụ nâng cao Mục tiêu : + Kiến thức: Mô tả đƣợc quá trình hoạt động của máy chủ Web server, Email server, VPN + Kỹ năng: Cài đặt và cấu hình đƣợc máy chủ Web server, Email server, Window networking, VPN + Thái độ: Cẩn thận khi cài đặt làm việc với Server Nội dung bài: 2.1. Cài đặt và cấu hình máy chủ Web server 2.2. Cài đặt và cấu hình máy chủ Email server 2.3. Window networking 2.4. Cài đặt và cấu hình VPN IV. Điều kiện thực hiện chƣơng trình: 1. Phòng học chuyên môn hóa, nhà xƣởng: Phòng máy tính có kết nối Internet, máy chủ, PC cấu hình cao đáp ứng giả lập 2. Trang thiết bị máy móc: 01 máy chiếu đa năng, máy in 3. Học liệu, dụng cụ, nguyên vật liệu: Giấy in, bút, phấn, bảng V. Nội dung và phƣơng pháp đánh giá: 1. Nội dung: - Kiến thức: - Kỹ năng: - Năng lực tự chủ và trách nhiệm: tính tích cực tham gia trong quá trình học tập, chủ động giải quyết vấn đề và trách nhiệm cộng tác trong học tập 2. Phƣơng pháp: Đánh giá thông qua quá trình học tập và các bài kiểm tra, thi - Đánh giá định kỳ: 02 bài - Đánh giá thƣờng xuyên: 1 bài - Kiểm tra, thi kết thúc mô đun: Hình thức đánh giá: Trắc nghiệm và thực hành VI. Hƣớng dẫn thực hiện mô đun 1. Phạm vi áp dụng mô đun: Chƣơng trình mô đun đƣợc sử dụng để giảng dạy cho trình độ cao đẳng. 2. Hƣớng dẫn về phƣơng pháp giảng dạy, học tập mô đun: - Đối với giáo viên, giảng viên: Cần chuẩn bị slide đề cƣơng bài giảng, câu hỏi và bài tập thực hành cho mỗi buổi học. - Đối với ngƣời học: Tích cực trao đổi với giáo viên, ngƣời học khác, thực hiện các bài thực hành và trình bày theo nhóm; Thực hiện các bài tập thực hành đƣợc giao 3. Những trọng tâm cần chú ý: 4. Tài liệu tham khảo: Các sách, Ebook về quản trị mạng Canonical - Ltd, (DEBIAN Server Guide) 4
  5. BÀI 1: CÀI ĐẶT HỆ ĐIỀU HÀNH, THIẾT LẬP CÁC THÔNG SỐ MẠNG, THIẾT LẬP HỆ THỐNG BẢO MẬT 1.1 Cài đặt và nâng cấp phiên bản Yêu cầu đối với hệ thống Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu hình thấp quá thì có thể không chạy đƣợc X Window hay các ứng dụng có sẵn. Cấu hình tối thiểu nên dùng: - CPU: Pentium MMX trở lên. - RAM: 64 MB trở lên cho Text mode, 192MB cho mode Graphics. - Đĩa cứng: Dung lƣợng đĩa còn phụ thuộc vào loại cài đặt. + Custom Installation (minimum): 520MB. + Server (minimum): 870MB. + Personal Desktop: 1.9GB. + Workstation: 2.4GB. + Custom Installation (everything): 5.3GB. - 2M cho card màn hình nếu muốn sử dụng mode đồ họa. Quá trình cài đặt 1. Chọn phƣơng thức cài đặt Nguồn cài đặt từ: - CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot. - Đĩa cứng: Cần sử dụng đĩa mềm boot (dùng lệnh dd hoặc mkbootdisk để tạo đĩa mềm boot). - FS image: Sử dụng đĩa khởi động mạng. Kết nối tới NFS sever. - FTP: Sử dụng đĩa khởi động mạng. Cài trực tiếp qua kết nối FTP. - HTTP: Sử dụng đĩa khởi động mạng. Cài trực tiếp qua kết nối HTTP. 2. Chọn chế độ cài đặt Chúng ta có thể chọn các chế độ: - Linux text: chế độ text (Text mode). - [Enter]: chế độ đồ họa (Graphical mode) 3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt Chọn ngôn ngữ “English” rồi chọn Next 4. Cấu hình bàn phím Chọn loại bàn phím của mình, chọn Next 5
  6. 5. Chọn cấu hình mouse Chọn loại Mouse phù hợp với mouse của mình. Khi chọn lƣu ý cổng gắn mouse là serial hay PS/2, chọn Next. 6. Lựa chọn loại màn hình Thông thƣờng hệ điều hành sẽ tự động nhận đúng loại màn hình hiển thị, nếu không ta phải cấu hình lại màn hình hiển thị trong hộp thoại bên phải. Chọn Next. 7. Lựa chọn loại cài đặt Một số loại cài đặt thông dụng: - Workstation: Cài đặt hệ điều hành phục vụ cho công việc của một máy trạm. - Server: Cài đặt hệ điều hành phục vụ cho máy chủ. - Custom: có thể tích hợp các tùy chọn trên một cách tùy ý. 8. Chia Partition 6
  7. - Automatically partition: hệ thống tự động phân vùng ổ đĩa hợp lý để cài hệ điều hành (thông thƣờng theo cách này thì hệ thống sẽ tạo ra hai phân vùng: /boot, /, swap) - Manually partition with Disk Druid: Chia partition bằng tiện ích Disk Druid. Đây là cách chia partition dƣới dạng đồ họa dễ dùng. - Nếu ta là ngƣời mới học cách cài đặt thì nên lựa chọn Automatically partition. 9. Lựa chọn Automatically partition - Remove all Linux partitions on this system: loại bỏ tất cả các Linux partition có sẵn trong hệ thống. - Remove all partitions on this system: loại bỏ tất cả các partition có sẵn trong hệ thống. - Keep all partitions and use existing free space: giữ lại tất cả các partition có sẵn và chỉ sử dụng không gian trống còn lại để phân chia phân vùng. Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next. 10. Chia Partition bằng Disk Druid Trong bƣớc 8 ta chọn Manually partition with Disk Druid để thực hiện phân chia phân vùng sử dụng tiện ích Disk Druid. Disk Druid hiển thị các partition của đĩa dƣới chế độ đồ họa ở phía trên, ta có thể chọn từng partition để thao tác. 7
  8. Chi tiết các partition gồm kích thƣớc, loại hệ thống tập tin, thƣ mục đƣợc mount vào đƣợc mô tả trong hình sau: - New: Tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem (ext3) và kích thƣớc (size) tính bằng Mbyte (tùy chọn). - Edit: Thay đổi lại các tham số của phân vùng đƣợc chọn. - Delete: Xóa phân vùng đƣợc chọn. - Reset: Phục hồi lại trạng thái đĩa nhƣ trƣớc khi thao thác. - Make RAID: Sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng. 8
  9. 1.2. Cấu hình IP Cấu hình địa chỉ IP cho card mạng 1. Xem địa chỉ IP Lệnh ifconfig cho phép xem thông tin địa chỉ IP của PC. Ví dụ: để xem thông tin cấu hình mạng, dùng lệnh ifconfig -a # ifconfig –a eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224 inet6 addr: fe80::20c:29ff:fe6d:f03d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6622 errors:0 dropped:0 overruns:0 frame:0 TX packets:1425 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:793321 (774.7 Kb) TX bytes:240320 (234.6 Kb) Interrupt:10 Base address:0x1080 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:76 errors:0 dropped:0 overruns:0 frame:0 TX packets:76 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8974 (8.7 Kb) TX bytes:8974 (8.7 Kb) Trong đó, eth0 là tên của card mạng trong, lo là tên của loopback interface. 2. Thay đổi địa chỉ IP Trong bài 4 – mục 4, trình tiện ích cho phép thiết lập cấu hình mạng; ngoài ra, có thể sử dụng các cách sau để thay đổi địa chỉ IP: Sử dụng lệnh: ifconfig netmask up Ví dụ: [root@bigboy tmp]# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up 9
  10. Chú ý: Sau khi dùng lệnh này, hệ thống lƣu trữ tạm thời thông tin cấu hình này trong bộ nhớ và sẽ bị mất khi hệ thống reboot lại; để thông tin này có thể đƣợc lƣu giữ lại sau khi reboot hệ thống, phải thêm lệnh trên vào tập tin /etc/rc.local. Hoặc: Thay đổi thông tin cấu hình mạng trực tiếp trong file /etc/sysconfig/network-scripts/ifcfg-eth0 Gán địa chỉ IP tĩnh (tham khảo file ifcfg-eth0) #Advanced Micro Devices [AMD]|79c970 [PCnet32LANCE] DEVICE=eth0 BOOTPROTO=static BROADCAST=172.29.14.159 HWADDR=00:0C:29:6D:F0:3D IPADDR=172.29.14.150 NETMASK=255.255.255.224 NETWORK=172.29.14.128 ONBOOT=yes TYPE=Ethernet Gán địa chỉ IP động (tham khảo file ifcfg-eth0) DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes Sau đó dùng lệnh: # ifdown eth0 # ifup eth0 3. Tạo nhiều địa chỉ IP trên card mạng Phƣơng thức tạo nhiều địa chỉ IP trên card mạng đƣợc gọi là IP alias. Alias này phải có tên dạng: parent-interface-name:X, trong đó X là chỉ số của interface thứ cấp (subinterface number). Sử dụng một trong các cách sau để tạo Alias IP: Cách 1: - Bƣớc 1: Đảm bảo rằng tên interface thật phải tồn tại, và kiểm tra các IP Alias trong hệ thống có tồn tại hay không. - Bƣớc 2: Tạo Virtual interface dùng lệnh ifconfig: # ifconfig ifcfg-eth0:0 192.168.1.99 netmask 255.255.255.0 up 10
  11. Hoặc tạo một tên file /etc/sysconfig/network-scripts/ifcfg-eth0:0 từ file /etc/sysconfig/network-scripts/ifcfg-eth0; sau đó, thay đổi thông tin địa chỉ trong file này. - Bƣớc 3: Bật và tắt alias interface thông qua lệnh ifconfig # ifup eth0:0 # ifdown eth0:0 Hoặc dùng lệnh /etc/init.d/network restart - Bƣớc 4: Kiểm tra thông tin cấu hình alias interface dùng lệnh ifconfig: # ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224 inet6 addr: fe80::20c:29ff:fe6d:f03d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7137 errors:0 dropped:0 overruns:0 frame:0 TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb) Interrupt:10 Base address:0x1080 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.15.150 Bcast:172.29.15.159 Mask:255.255.255.224 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7137 errors:0 dropped:0 overruns:0 frame:0 TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb) Interrupt:10 Base address:0x1080 Cách 2: - Tạo tập tin parent-interface-name:X bằng cách copy file /etc/sysconfig/network-scripts/ifcfg-eth0 thành file /etc/sysconfig/network- scripts/ifcfg-eth0:X (trong đó X là số thứ tự của subinterface). - Thay đổi thông tin cấu hình mạng trong file ifcfg-eth0:X (các thông tin in đậm là thông tin bắt buộc phải thay đổi) DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=172.29.14.151 11
  12. NETMASK=255.255.255.224 GATEWAY=172.29.129 4. Lệnh netstat Lệnh netstat cho phép kiểm tra trạng thái của tất cả các card mạng. Cú pháp: #netstat –in Ngoài ra, có thể dùng lệnh netstat –rn để xem bảng routing table của router. 1.3. Cấu hình DHCP Dịch vụ DHCP Mục tiêu: Trình bày cơ chế hoạt động của dịch vụ DHCP, cách cấu hình dịch vụ DHCP trong việc quản trị hệ thống mạng. DHCP – Dynamic Host Configuration Protocol – là một dịch vụ hữu ích trong việc quản trị những mạng lớn hay mạng có những ngƣời dùng di động. DHCP Server là máy cấp phát địa chỉ IP cho những máy tính khác trong mạng, DHCP client là các máy nhận địa chỉ IP và những thông tin về mạng khác từ DHCP Server. Một số lƣu ý trên DHCP - Phải có một địa chỉ IP tĩnh; - Không phải là một DHCP client; - Cấp phát địa chỉ IP cho những máy tính trong một khoảng địa chỉ IP mà ngƣời quản trị đã định nghĩa; - Có thể cung cấp địa chỉ default gateway, DNS server, tên domain và NetBIOS name server cho máy tính; - Không có hai máy nhận cùng địa chỉ IP; - Địa chỉ IP cấp cho DHCP client sẽ đƣợc làm mới khi máy tính khởi động lại. Ƣu điểm của DHCP Ngƣời quản trị không cần đặt địa chỉ IP cho từng máy tính trong mạng. Ngƣời quản trị không cần cung cấp thông tin cho từng máy điều này tiết kiệm đƣợc thời gian và một số chi phí khác. Cấu hình DHCP server Để cấu hình DHCP server cần phải cài package dhcpd.*.rpm này trong đĩa CD Linux. 12
  13. Cài đặt DHCP bằng lệnh: #rpm –ivh dhcpd.*.rpm Để hoàn thành việc cấu hình DHCP cần phải tạo ra tập tin cấu hình /etc/dhcpd.conf và chỉnh sửa tập tin này. Ví dụ về nội dung cấu hình chính của tập tin dhcpd.conf ddns-update-style interim; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "example.com"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; } Tập tin /var/lib/dhcp/dhcpd.leases. Tập tin này đƣợc sử dụng bởi daemon dhcpd để lƣu những thông tin về các địa chỉ IP đã đƣợc cấp phát Khởi động DHCP Sau khi thiết lập những tập tin cấu hình, ta cần khởi động dịch vụ bằng lệnh: #/etc/init.d/dhcpd start Configure using DHCP: Có thể chọn cấu hình TCP/IP động qua dịch vụ DHCP hoặc cấu hình cụ thể. Khi cấu hình cụ thể, phải nhập những thông số cấu hình mạng trong mục chọn edit: 13
  14. - IPAddress: Chỉ định địa chỉ IP của host cài đặt. - Netmask Address: subnet mask cho địa chỉ IP trên. Active on boot: Card mạng đƣợc kích hoạt khi hệ điều hành khởi động. Host name: Nếu có tên dns đầy đủ thì khai báo tên đầy đủ. Trong trƣờng hợp không kết nối vào mạng, chúng ta cũng đặt tên cho máy thông qua mục manually. Nếu không điền tên nào vào thì giá trị mặc nhiên là localhost. Miscellaneous Settings: chỉ định địa chỉ gateway và Primary DNS, và một số thông số khác. Các trƣờng không có giá trị thì các trƣờng đó không đƣợc sử dụng trong hệ thống. 1.4. Cấu hình DNS Dịch vụ DNS Giới thiệu về DNS Các máy tính trong mạng muốn liên lạc hay trao đổi thông tin, dữ liệu cho nhau cần phải biết địa chỉ IP của nhau. Nếu số lƣợng máy tính nhiều thì việc nhớ những địa chỉ IP này là rất khó. Mỗi máy tính ngoài địa chỉ IP còn có tên (computer name). Đối với con ngƣời việc nhớ những cái tên này dù sao cũng dễ dàng hơn vì chúng có tính trực quan và gợi nhớ hơn địa chỉ IP. Vì thế, ngƣời ta nghĩ ra cách làm sao ánh xạ địa chỉ IP thành tên máy tính. Ban đầu do quy mô mạng ARPAnet (tiền thân của mạng Internet) còn nhỏ chỉ vài trăm máy, nên chỉ có một tập tin đơn HOSTS.TXT lƣu thông tin về ánh xạ tên máy thành địa chỉ IP. Trong đó tên máy là chuỗi văn bản không phân cấp (flat name). Tập tin này đƣợc duy trì tại 1 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 HOSTS.TXT có các nhƣợc điểm nhƣ sau: - Lƣu lƣợng mạng và máy chủ duy trì tập tin HOSTS.TXT bị quá tải do hiệu ứng “cổ chai”. - Xung đột tên: Không thể có 2 máy tính có cùng tên trong tập tin HOSTS.TXT. Tuy nhiên do tên máy không phân cấp và không có gì đảm bảo để 14
  15. ngăn chặn việc tạo 2 tên trùng nhau vì không có cơ chế uỷ quyền 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ì 1 tập tin trên mạng lớn rất khó khăn. Ví dụ nhƣ khi tập tin HOSTS.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. Tóm lại, việc dùng tập tin HOSTS.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. Ngƣời thiết kế cấu trúc của dịch vụ DNS là Paul Mockapetris - USC's Information Sciences Institute, và các khuyến nghị RFC của DNS là RFC 882 và 883, sau đó là RFC 1034 và 1035 cùng với 1 số RFC bổ sung nhƣ bảo mật trên hệ thống DNS, cập nhật động các bản ghi DNS Lưu ý: Hiện tại trên các máy chủ vẫn sử dụng đƣợc tập tin hosts.txt để phân giải tên máy tính thành địa chỉ IP (trong Linux là /etc/hosts) Dịch vụ DNS hoạt động theo mô hình Client - Server: phần Server gọi là máy chủ phục vụ tên nameserver, còn phần Client là trình phân giải tên resolver. Nameserver chứa các thông tin CSDL của DNS, còn resolver chỉ là các hàm thƣ viện dùng để tạo các truy vấn (query) và gửi chúng đến name server. DNS đƣợc thi hành nhƣ một giao thức tầng Application trong mạng TCP/IP. DNS là 1 CSDL phân tán. Điều này cho phép ngƣời quản trị cục bộ quản lý phần dữ liệu nội bộ thuộc phạm vi của họ, đồng thời dữ liệu này cũng dễ dàng truy cập đƣợc trên toàn bộ hệ thống mạng theo mô hình Client - Server. Hiệu suất sử dụng dịch vụ đƣợc tăng cƣờng thông qua cơ chế nhân bản (replication) và lƣu tạm (caching). Một hostname trong domain là sự kết hợp giữa những từ phân cách nhau bởi dấu chấm. Ví dụ hostname là cntt.danavtc.edu, trong đó cntt là hostname và danavtc.edu là domain name. Domain name phân bổ theo cơ chế phân cấp tƣơng tự nhƣ sự phân cấp của hệ thống tập tin Unix/Linux. 15
  16. Cơ sở dữ liệu (CSDL) của DNS là một cây đảo ngƣợc. Mỗi nút trên cây cũng lại là gốc của 1 cây con. Mỗi cây con là 1 phân vùng con trong toàn bộ CSDL DNS gọi là 1 miền (domain). Mỗi domain có thể phân chia thành các phân vùng con nhỏ hơn gọi là các miền con (subdomain). Mỗi domain có 1 tên (domain name). Tên domain chỉ ra vị trí của nó trong CSDL DNS. Trong DNS tên miền là chuỗi tuần tự các tên nhãn tại nút đó đi ngƣợc lên nút gốc của cây và phân cách nhau bởi dấu chấm. Tên nhãn bên phải trong mỗi domain name đƣợc gọi là top-level domain. Trong ví dụ trƣớc cntt.danavtc.edu, vậy .edu là top-level domain. Bảng sau đây liệt kê top-level domain Tên miền Mô tả .com Các tổ chức, công ty thƣơng mại .org Các tổ chức phi lợi nhuận .net Các trung tâm hỗ trợ về mạng 16
  17. .edu Các tổ chức giáo dục .gov Các tổ chức thuộc chính phủ .mil Các tổ chức quân sự .int Các tổ chức đƣợc thành lập bởi các hiệp ƣớc quốc tế Vì sự quá tải của những domain name đã tồn tại, do đó đã làm phát sinh những top-level domain mới. Bảng sau đây liệt kê những top-level domain mới. Tên miền Mô tả .arts Những tổ chức liên quan đến nghệ thuật và kiến trúc .nom Những địa chỉ cá nhân và gia đình .rec Những tổ chức có tính chất giải trí, thể thao .firm Những tổ chức kinh doanh, thƣơng mại .info Những dịch vụ liên quan đến thông tin Bên cạnh đó, mỗi nƣớc cũng có một top-level domain. Ví dụ top-level domain của Việt Nam là vn, Mỹ là us Mỗi nƣớc khác nhau có cơ chế tổ chức phân cấp domain khác nhau. Ví dụ về tổ chức domain của Việt Nam: . Cách phân bố dữ liệu quản l ý Domain Name Những root name server (.) quản lý những top-level domain trên Internet. Tên máy và địa chỉ IP của những name server này đƣợc công bố cho mọi ngƣời biết và chúng đƣợc liệt kê trong bảng sau. Những name server này cũng có thể đặt khắp nơi trên thế giới. Tên máy tính Địa chỉ IP 17
  18. H.ROOT-SERVERS.NET 128.63.2.53 B.ROOT-SERVERS.NET 128.9.0.107 C.ROOT-SERVERS.NET 192.33.4.12 D.ROOT-SERVERS.NET 128.8.10.90 E.ROOT-SERVERS.NET 192.203.230.10 I.ROOT-SERVERS.NET 192.36.148.17 F.ROOT-SERVERS.NET 192.5.5.241 F.ROOT-SERVERS.NET 39.13.229.241 G.ROOT-SERVERS.NET 192.112.88.4 A.ROOT-SERVERS.NET 198.41.0.4 Thông thƣờng một tổ chức đƣợc đăng ký một hay nhiều domain name. Sau đó, mỗi tổ chức sẽ cài đặt một hay nhiều name server và duy trì cơ sở dữ liệu cho tất cả những máy tính trong domain. Những name server của tổ chức đƣợc đăng ký trên Internet. Một trong những name server này đƣợc biết nhƣ là Primary Name Server. Nhiều Secondary Name Server đƣợc dùng để làm backup cho Primary Name Server. Trong trƣờng hợp Primary bị lỗi, Secondary đƣợc sử dụng để phân giải tên. Primary Name Server có thể tạo ra những subdomain và ủy quyền những subdomain này cho những Name Server khác. 1.5.Quản trị ngƣời dùng, phân quyền 1. Thông tin của ngƣời dùng Superuser Trong Linux, tài khoản root có quyền cao nhất đƣợc sử dụng bởi ngƣời quản trị. Tài khoản này thƣờng đƣợc sử dụng vào các mục đích cấu hình, bảo trì hệ thống. Khi quản trị hệ thống, cần tạo ra các tài khoản (account) cho ngƣời sử dụng thƣờng sớm nhất có thể đƣợc. Với những server quan trọng và có nhiều dịch vụ khác nhau, có thể tạo ra các superuser thích hợp cho từng dịch vụ, tránh dùng root cho các công việc này. Ví dụ nhƣ superuser cho công việc backup chỉ cần chức năng đọc (read-only) mà không cần chức năng ghi. Tài khoản root có quyền hạn rất lớn nên nó thƣờng là mục tiêu chiếm đoạt; do vậy, ngƣời sử dụng tài khoản root phải cẩn thận, không sử dụng bừa bãi trên qua telnet hay kết nối từ xa mà không có công cụ kết nối an toàn. Trong Linux, chúng ta có thể tạo tài khoản có tên khác nhƣng có quyền của root, bằng cách tạo user có UserID bằng 0. Cần phân biệt tài khoản đang đăng nhập sử dụng là tài khoản root hay ngƣời sử dụng thƣờng thông qua dấu nhắc của shell. Để thay đổi tài khoản đăng nhập, sử dụng lệnh su [tên tài khoản] 18
  19. Ví dụ: login: nsd1 Password: [nsd1@DanaVTC nsd1]$ su - Password: [root@DanaVTC /root]# Trong ví dụ trên, dòng thứ ba ([nsd1@DanaVTC nsd1]$) với dấu $ cho thấy ngƣời sử dụng thƣờng (nsd1) đang kết nối; dòng cuối cùng với dấu # cho thấy đang thực hiện các lệnh với root. User Để đăng nhập và sử dụng hệ thống Linux cần phải có 1 tài khoản. Trừ tài khoản root, các tài khoản khác do ngƣời quản trị tạo ra. Mỗi tài khoản ngƣời dùng cần có tên sử dụng (username) và mật khẩu (password) riêng. Các thông tin về tài khoản ngƣời dùng của hệ thống chứa trong tập tin /etc/passwd. Tập tin /etc/passwd Tập tin /etc/passwd đƣợc lƣu dƣới dạng văn bản, nó có vai trò rất quan trọng trong hệ thống Unix/Linux. Mọi ngƣời đều có thể đọc đƣợc tập tin này nhƣng chỉ có root mới có quyền thay đổi nó. Ví dụ sau cho thấy nội dung của một tập tin passwd: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: ftp:x:14:50:FTP User:/var/ftp: nobody:x:99:99:Nobody:/: nscd:x:28:28:NSCD Daemon:/:/bin/false mailnull:x:47:47::/var/spool/mqueue:/dev/null rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false 19
  20. nthung:x:525:526:nguyen tien hung:/home/nthung:/bin/bash natan:x:526:527::/home/natan:/bin/bash Trong đó, các thông tin bao gồm: - Dòng đầu tiên của tập tin /etc/passwd mô tả thông tin user root (tất cả những tài khoản có user_ID = 0 đều là root hoặc có quyền nhƣ root), tiếp theo là các tài khoản khác của hệ thống (đây là các tài khoản không có thật và không thể login vào hệ thống), cuối cùng là các tài khoản ngƣời dùng thƣờng. - Cột 1: Tên ngƣời sử dụng; - Cột 2: Mã liên quan đến mật khẩu của tài khoản và “x” đối với Linux. Linux lƣu mã này trong một tập tin khác /etc/shadow mà chỉ có root mới có quyền đọc; - Cột 3, cột 4: Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID); - Cột 5: Tên đầy đủ của ngƣời sử dụng; - Cột 6: Thƣ mục cá nhân (Home Directory); - Cột 7: Chƣơng trình sẽ chạy đầu tiên sau khi ngƣời dùng đăng nhập vào hệ thống. Username và UserID Để quản lý ngƣời dùng, Linux sử dụng tên ngƣời dùng (user name) và định danh ngƣời dùng (user ID) để đăng nhập và truy xuất tài nguyên. Trong đó, tên ngƣời dùng là chuỗi ký tự xác định duy nhất một ngƣời dùng; số định danh ngƣời dùng dùng để kiểm soát hoạt động của ngƣời dùng. Theo qui định, ngƣời dùng có định danh 0 là ngƣời dùng quản trị (root); số định danh từ 1- 99 sử dụng cho các tài khoản hệ thống, số định danh của ngƣời dùng bình thƣờng sử dụng giá trị bắt đầu từ 100-500. Mật khẩu người dùng Mỗi ngƣời dùng có mật khẩu tƣơng ứng, mật khẩu có thể đƣợc thay đổi tùy theo ngƣời dùng; tuy nhiên, ngƣời quản trị có thể thay đổi mật khẩu của những ngƣời dùng khác. Mật khẩu ngƣời dùng đƣợc lƣu trong tập tin /etc/passwd. Group ID Group ID (GID) dùng để định danh nhóm của ngƣời dùng. Thông qua Group ID có thể xác định ngƣời dùng đó thuộc nhóm nào. Thông thƣờng, trên Linux, GID đƣợc mặc định tạo ra khi tạo một user và có giá trị >= 500. 20
  21. Home directory Khi login vào hệ thống ngƣời dùng đƣợc đặt làm việc tại thƣ mục cá nhân của mình (home directory). Thông thƣờng mỗi ngƣời dùng có một thƣ mục cá nhân riêng và ngƣời dùng có toàn quyền trên đó. Nó dùng để chứa dữ liệu cá nhân và các thông tin hệ thống cho hoạt động của ngƣời dùng nhƣ biến môi trƣờng, script khởi động, profile khi sử dụng X Window, Home directory của ngƣời dùng thƣờng là /home, của root là /root. Tuy nhiên, chúng ta cũng có thể đặt vào vị trí khác thông qua lệnh useradd hoặc usermod. 2. Quản lý ngƣời dùng Mục tiêu: Trình bày các thao tác quản trị người dùng thông qua tài khoản người dùng. Tạo tài khoản ngƣời dùng Để tạo tài khoản, root có thể sử dụng lệnh useradd với cú pháp: #useradd [-c mô_tả_ngƣời_dùng] [-d thƣ_mục_cá_nhân] [-m] [-g nhóm_ngƣời_dùng] [tên_tài_khoản] Trong đó: - Tham số –m sử dụng để tạo thƣ mục cá nhân nếu nó chƣa tồn tại. - Chỉ có root đƣợc phép sử dụng lệnh này. Ví dụ: # useradd –c “Nguyen van B“ nvb Để đặt mật khẩu cho tài khoản, dùng lệnh passwd . Ví dụ: # passwd nvb Changing password for user nvb New password: Retype new password: passwd: all authentication tokens updated successfully Lƣu ý: Khi đặt password nên: - Đặt với độ dài tối thiểu 6 ký tự; - Phối hợp giữa ký tự hoa, thƣờng, ký số và ký tự đặc biệt. - Không nên đặt password liên quan đến tên tuổi, ngày sinh, của mình và ngƣời thân. Khi nhiều ngƣời dùng có cùng một chức năng và cùng chia xẻ nhau dữ liệu, nên nhóm những ngƣời dùng này vào trong cùng nhóm. Mặc định, khi tạo 21
  22. một tài khoản, Linux sẽ tạo cho mỗi tài khoản một nhóm, tên nhóm trùng với tên tài khoản. Chẳng hạn, đọc tập tin /etc/passwd ta thấy: nvb:x:1013:1013::/home/nvb:/bin/bash nghĩa là ngƣời dùng nvb có user_ID 1012 và thuộc nhóm 1013. Xem tập tin /etc/group ta thấy: # more /etc/group root:x:0:root users:x:100: nvb:x:1013: Lúc này, có thể kết nạp tài khoản nvb vào nhóm users bằng cách thay số 1013 bằng 100, là group_ID của nhóm users. Có thể dùng lệnh useradd –d để xem các thông số mặc định khi ta tạo tài khoản ngƣời dùng (các thông tin này đƣợc lƣu trong thƣ mục /etc/default/useradd): # useradd -d GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel Thay đổi thông tin của tài khoản Để thay đổi thông tin của tài khoản, có thể thay đổi từ tập tin /etc/passwd hoặc dùng lệnh usermod. Cú pháp lệnh usermod: #usermod [-c thông_tin_ngƣời_dùng] [-d thƣ_mục_cá_nhân] [-m] [-g nhóm_ ngƣời_dùng] [tên_tài_khoản] Ví dụ: Cho tài khoản nvb vào nhóm admin #usermod –g admin nvb Tạm khóa tài khoản ngƣời dùng Để tạm thời khóa tài khoản trong hệ thống ta có thể dùng nhiều cách: Khóa (locking) Mở khóa (unlock) passwd –l passwd –u usermod –L usermod –U 22
  23. Có thể tạm khóa tài khoản bằng cách chỉnh sửa tập tin /etc/shadow và thay thế từ khóa x bằng từ khóa * hoặc có thể gán /bin/false vào shell mặc định của user trong file /etc/passwd. Hủy tài khoản Lệnh userdel dùng để xóa một tài khoản. Ngoài ra, cũng có thể xóa một tài khoản bằng cách xóa đi dòng dữ liệu tƣơng ứng với tài khoản đó trong tập tin /etc/passwd. Cú pháp: #userdel [username] Ví dụ: xóa tài khoản nvb (dùng tùy chọn –r để xóa toàn bộ thông tin liên quan tới user đó): #userdel –r nvb Nhóm ngƣời dùng Mục tiêu: Khi nhiều người dùng có cùng một chức năng, cùng chia xẻ nhau dữ liệu, có chung quyền trên tài nguyên, thường được nhóm thành một nhóm. Trong Linux, mỗi nhóm đƣợc xác định bởi tên riêng và định danh nhóm; một nhóm có thể có nhiều ngƣời dùng và ngƣời dùng có thể là thành viên của nhiều nhóm khác nhau. Tuy nhiên tại một thời điểm, một ngƣời dùng chỉ có thể là thành viên của một nhóm duy nhất. Thông tin về nhóm lƣu tại tập tin /etc/group. Mỗi dòng định nghĩa một nhóm, các trƣờng trên dòng cách nhau bởi dấu : : : Tạo nhóm Để tạo một nhóm, có thể chỉnh sửa trực tiếp trong tập tin /etc/group hoặc dùng lệnh groupadd. Cú pháp: #groupadd [tên-nhóm] Thêm ngƣời dùng vào nhóm Khi muốn thêm ngƣời dùng vào nhóm, có thể sửa từ tập tin /etc/group, các tên tài khoản ngƣời dùng cách nhau bằng dấu “;”, hoặc có thể thêm ngƣời dùng vào nhóm bằng lệnh: #usermod –g [tên-nhóm tên-tài-khoản] Hủy nhóm Để hủy nhóm, có thể xóa trực tiếp nhóm trong tập tin /etc/group, hoặc dùng lệnh: #groupdel [ tên-nhóm] 23
  24. Xem thông tin về user và group Cú pháp: #id Lệnh cho phép xem thông tin về tài khoản hay nhóm trong hệ thống. Trong đó, tham số -g cho phép xem thông tin về nhóm. Ví dụ: xem groupID của một user vanphong: #id –g vanphong Để xem tên nhóm của một user nào đó, dùng lệnh: groups Ví dụ: [root@server root]# groups root root: root bin daemon sys adm disk wheel Thông tin mô tả hv1 là học viên thứ nhất, hv2 là học viên thứ 2, hv3 là học viên thứ 3 Thông tin mô tả admin1 là ngƣời quản trị 1, admin2 là ngƣời quản trị 2 - Thay đổi mật khẩu cho những ngƣời dùng trên - Khóa tài khoản ngƣời dùng hv3 - Thử đăng nhập bằng tài khoản hv3 - Mở khóa tài khoản ngƣời dùng hv3 - Thử đăng nhập bằng tài khoản hv3 - Xóa tài khoản ngƣời dùng hv3 1.6. Console Security – Bảng điều khiển bảo mật Trên Linux ngƣời quản trị đƣợc gọi là ngƣời root. Mật khẩu của user root bắt buộc có chiều dài tối thiểu của password là 6 ký tự. Lƣu ý password phân biệt chữ hoa và thƣờng. Khi có thông báo “Root password accepted” là đƣợc. 1.7. Firewall Trong Linux có tích hợp Firewall để bảo vệ hệ thống chống lại một số truy xuất bất hợp pháp từ bên ngoài. Ta chọn Enable Firewall, sau đó chọn loại dịch vụ cần cho phép bên ngoài truy cập vào Firewall. Câu hỏi: 1. Trình bày hệ thống tập tin và thƣ mục trong Linux. Cho biết các thành phần của hệ thống tập tin. 24
  25. 2. Trình bày hệ thống thƣ mục trong Linux; cho biết các thƣ mục cơ bản và chức năng của mỗi loại. Bài tập thực hành 1. Login vào chế độ text với user root và thực hiện các lệnh cơ bản: + Đổi mật khẩu + Hiển thị thƣ mục hiện tại đang truy xuất + Hiển thị thông tin chi tiết về cấu hình mạng trên máy tính cục bộ + Xem tên máy đang dùng, đổi tên máy thành linux + Kiểm tra kết nối mạng – ping. Xem địa chỉ cục bộ Kiểm tra máy có liên thông internet hay không + Xem và đặt lại ngày giờ hệ thống + Khởi động lại hệ thống + Thiết lập shutdown hệ thống sau khoảng thời gian 1 phút 2. Thực hiện các thao tác trên file system + Xác định thƣ mục hiện hành của user root + mount đĩa CD3 của Fedora Core 2 vào thƣ mục /mnt/cdrom + Tạo thƣ mục /root/software, /root/dataserver + Copy tập tin có ký tự bắt đầu là mc trong thƣ mục /mnt/cdrom/Fedora/RPMS của đĩa CDROM vào thƣ mục /root/software + Cho biết hai tập tin passwd và group đƣợc lƣu tại vị trí nào. Sau đó, copy chúng vào thƣ mục /root/dataserver + Trong thƣ mục /root tạo thƣ mục data. Sau đó, copy hai tập tin trong thƣ mục dataserver về thƣ mục này với tên mới là pwd và grp + Tạo tập tin lylich.txt lƣu trong thƣ mục data với nội dung khoảng 5 dòng + Thêm dòng “Chao cac ban” vào cuối tập tin lylich.txt + Gom các tập tin trong thƣ mục data thành tập tin backup.tar. Sau đó, nén tập tin này thành backup.tar.gz 25
  26. BÀI 2 : CÀI ĐẶT VÀ CẤU HÌNH CÁC DỊCH VỤ NÂNG CAO 2.1. Cài đặt và cấu hình máy chủ Web server Giao thức HTTP HTTP là một giao thức cho phép trình duyệt Web Browser và server có thể giao tiếp với nhau. Nó chuẩn hoá các thao tác cơ bản mà một Web Server phải làm đƣợc. HTTP bắt đầu là 1 giao thức đơn giản giống nhƣ với các giao thức chuẩn khác trên Internet, thông tin điều khiển đƣợc truyền dƣới dạng văn bản thô thông qua kết nối TCP. Do đó, kết nối HTTP có thể thay thế bằng cách dùng lệnh "telnet" chuẩn. Ví dụ: > telnet www.extropia 80 GET /index.html HTTP/1.0 Cổng 80 là cổng mặc định dành cho Web server "lắng nghe" các kết nối đƣợc gửi đến. Để đáp ứng lệnh HTTP GET, Web server trả về cho client trang "index.html" thông qua phiên làm việc telnet này, và sau đó đóng kết nối. Thông tin trả về dƣới dạng code HTML: eXtropia Homepage Giao thức chỉ thực thi đơn giản hai thao thác yêu-cầu/đáp-ứng (request/response). Một trong các thay đổi lớn nhất trong HTTP/1.1 là nó hỗ trợ kết nối lâu dài (persistent connection). Trong HTTP/1.0, một kết nối phải đƣợc thiết lập đến server cho mỗi đối tƣợng mà Browser muốn download. Nhiều trang Web có rất nhiều hình ảnh, ngoài việc tải trang HTML cơ bản, browser phải lấy về một số lƣợng hình ảnh. Nhiều cái trong chúng thƣờng là nhỏ hoặc chỉ đơn thuần là để trang trí cho phần còn lại của trang HTML. Thiết lập một kết nối cho mỗi hình ảnh thật là phí phạm, vì sẽ có nhiều gói thông tin mạng sẽ đƣợc luân chuyển giữa Web browser và Web server trƣớc khi dữ liệu ảnh đƣợc truyền về. Ngƣợc lại, mở một kết nối TCP truyền tài liệu HTML và sau đó mỗi hình ảnh sẽ truyền nối tiếp theo nhƣ thế sẽ thuận tiện hơn và quá trình thiết lập các kết nối TCP sẽ đƣợc giảm xuống. 26
  27. Web Server và cách hoạt động Ở mức độ cơ bản, Web server chỉ phục vụ các nội dung tĩnh. Nghĩa là khi Web server nhận 1 yêu cầu từ Web browser, nó sẽ ánh xạ đƣờng dẫn này (Uniform Resource Locator - URL) thành một tập tin cục bộ trên máy Web server. Máy chủ sau đó sẽ nạp tập tin này từ đĩa và đƣa nó thông qua mạng đến Web browser của ngƣời dùng. Web browser và web server sử dụng giao thức HTTP trong quá trình trao đổi dữ liệu. Các trang tài liệu HTML là một văn bản thô (raw text) chứa các thẻ định dạng (HTML tag). Ví dụ: WWW Ngày nay, Web Server đã đƣợc phát triển với nhiều thông tin phức tạp hơn đƣợc chuyển giữa Web Server và Web Browser, trong đó quan trọng nhất là nội dung động (dynamic content). Với phiên bản đầu tiên, Web server hoạt động theo mô hình sau: - Tiếp nhận các yêu cầu từ browsers. - Trích nội dung từ đĩa. - Chạy các chƣơng trình CGI. - Truyền dữ liệu ngƣợc lại cho client. - Chạy càng nhanh càng tốt. Điều này sẽ thực hiện tốt đối với các Web site đơn giản, nhƣng server sẽ bắt đầu gặp phải vấn đề khi có nhiều ngƣời truy cập hoặc có quá nhiều trang web động phải mất thời gian để tính toán cho ra kết quả. Ví dụ: Nếu một chƣơng trình CGI mất 30 giây để sinh ra nội dung, trong thời gian này Web server có thể sẽ không phục vụ các trang khác nữa. Do vậy, mặc dù mô hình này hoạt động đƣợc, nhƣng nó vẫn cần phải thiết kế lại để phục vụ đƣợc nhiều ngƣời trong cùng 1 lúc. Web server có xu hƣớng tận dụng ƣu điểm 27
  28. của 2 phƣơng pháp khác nhau để giải quyết vấn đề này là: đa tiểu trình (multi- threading) hoặc đa tiến trình (multi-processing) hoặc các hệ lai giữa multi- processing và multi-threading. Web client Web client là những chƣơng trình duyệt Web ở phía ngƣời dùng (Internet Explorer, Netscape Communicator ) để hiển thị những thông tin trang Web cho ngƣời dùng. Web client sẽ gửi yêu cầu đến Web Server. Sau đó, đợi Web Server xử lý trả kết quả về cho web client hiển thị cho ngƣời dùng. Tất cả mọi yêu cầu đều đƣợc xử lý bởi Web Server. Web động Một trong các nội dung động (gọi tắt là Web động) cơ bản là các trang Web đƣợc tạo ra để đáp ứng các dữ liệu nhập vào của ngƣời dùng trực tiếp hay gián tiếp. Cách cổ điển nhất đƣợc dùng phổ biến nhất cho việc tạo nội dung động là sử dụng Common Gateway Interface (CGI). Cụ thể là CGI định nghĩa cách thức Web server chạy một chƣơng trình cục bộ, sau đó nhận kết quả và trả về cho Web browser của ngƣời dùng đã gửi yêu cầu. Web browser thực sự không biết nội dung của thông tin là động, bởi vì CGI về cơ bản là một giao thức mở rộng của Web Server. Hình vẽ sau minh họa khi Web browser yêu cầu một trang Web động phát sinh từ chƣơng trình CGI. Một giao thức mở rộng nữa của HTTP là HyperText Transmission Protocol Secure (HTTPS) dùng để bảo mật các các thông tin “nhạy cảm” khi chuyển chúng qua mạng. 28
  29. Cấu hình Web server Các tập tin và thƣ mục cấu hình của Apache: - /etc/httpd/conf: thƣ mục lƣu giữ các tập tin cấu hình nhƣ httpd.conf. - /etc/httpd/modules: lƣu các module của Web Server. - /etc/httpd/logs: lƣu các tập tin log của Apache. - /var/www/html: lƣu các trang Web. - /var/www/cgi-bin: lƣu các script sử dụng cho các trang Web. Tập tin cấu hình Apache đƣợc tạo thành từ nhiều chỉ dẫn (directive) khác nhau. Mỗi dòng/một đoạn là một directive và phục vụ cho một cấu hình riêng biệt. Có những directive có ảnh hƣởng với nhau. Những dòng bắt đầu bằng dấu # là những dòng chú thích. Định nghĩa về ServerName Chỉ định một số thông tin cơ bản Cấu hình tên máy tính (hostname) của server. Nó đƣợc dùng trong việc tạo ra những URL chuyển tiếp (redirection URL). Nếu không chỉ ra, server sẽ cố gắng suy luận từ địa chỉ IP của nó. Tuy nhiên, điều này có thể không tin cậy hoặc không trả ra tên máy tính đúng. Cú pháp khai báo: ServerName Ví dụ: ServerName www.soft.com ServerAdmin: Địa chỉ Email của ngƣời quản trị hệ thống Cú pháp: ServerAdmin Ví dụ: ServerAdmin root@soft.com ServerType: Qui định cách nạp chƣơng trình. Có hai cách: + inetd: chạy từ hệ thống. + standalone: chạy từ các init level. Cú pháp: ServerType Ví dụ: 29
  30. ServerType standalon Thƣ mục Webroot và một số thông tin cần thiết Chỉ định DocumentRoot: Cấu hình thƣ mục gốc lƣu trữ nội dung của Website. Web Server sẽ lấy những tập tin trong thƣ mục này phục vụ cho yêu cầu của client. Cú pháp: DocumentRoot Ví dụ: DocumentRoot /usr/web Một yêu cầu sẽ đƣợc đƣa vào trang web /usr/web/index.html ServerRoot: Vị trí cài đặt web server. Cú pháp: ServerRoot Mặc định: ServerRoot /usr/local/apache (trong Linux là /etc/httpd) Error log: Chỉ ra tập tin để server ghi vào bất kỳ những lỗi nào mà nó gặp phải Cú pháp: ErrorLog Ví dụ: ErrorLoglogs/error_log Nếu đƣờng dẫn vị trí không có dấu / thì vị trí tập tin log liên quan đến ServerRoot. DirectoryIndex: Các tập tin mặc định khi truy cập tên web site. Cú pháp: DirectoryIndex Ví dụ: DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi Cấu hình mạng 30
  31. MaxClients: Qui định số yêu cầu tối đa từ các client có thể gởi đồng thời đến server. Cú pháp: MaxClients Ví dụ: MaxClients 256 Listen: Qui định địa chỉ IP hoặc Cổng mà Apache nhận kết nối từ Client. Cú pháp: Listen Ví dụ: Listen 80 BindAddress: Qui định địa chỉ card mạng để chạy Apache trên Server. Cú pháp: BindAddress Sử dụng dấu “*” để có thể sử dụng tất cả các địa chỉ có trên máy. Ví dụ: BindAddress172.29.7.225 Mặc định là: BindAddress * TimeOut: quy định thời gian sống của một kết nối (đƣợc tính bằng giây). Cú pháp: TimeOut Ví dụ: TimeOut 300 KeepAlive: cho phép hoặc không cho phép Client gửi đƣợc nhiều yêu cầu dựa trên một kết nối với Web Server. Cú pháp: KeepAlive Ví dụ: KeepAlive On MaxKeepAliveRequests: số Request tối đa trên một kết nối (nếu cho phép nhiều Request trên một kết nối). 31
  32. Cú pháp: MaxKeepAliveRequests Ví dụ: MaxKeepAliveRequests KeepAliveTimeout: qui định thời gian để chờ cho một Request kế tiếp từ cùng một Client trên cùng một kết nối (đƣợc tính bằng giây). Cú pháp: KeepAliveTimeout Ví dụ: KeepAliveTimeout Alias Cung cấp cơ chế ánh xạ đƣờng dẫn cục bộ (không nằm trong DocumentRoot) thành đƣờng dẫn địa chỉ URL. Cú pháp: Alias Ví dụ: Alias /doc /usr/share/doc Khi truy cập sẽ đƣa vào /usr/share/doc Để giới hạn việc truy cập của ngƣời dùng ta có thể kết hợp với Directory directive. Ví dụ: Alias /usr/share/doc AuthType Basic AuthName intranet AuthUserFile /etc/httpd/passwd Require userhally tom Allow from internal.com UserDir Cho phép ngƣời dùng tạo Home page của user trên WebServer Cấu hình: 32
  33. #UserDir disable UserDir www; thƣ mục Web của user. Trong thƣ mục Home Directory của ngƣời dùng tạo thƣ mục www. Ví dụ /home/nva/www. Khi đó cú pháp truy cập từ Web Browser có dạng: . Ví dụ: Khi ngƣời dùng cố gắng truy cập đến thƣ mục của mình có thể gặp một message lỗi “Forbidden”. Điều này có thể là quyền truy cập đến home directory của ngƣời dùng bị giới hạn. Lúc này có thể giới hạn lại quyền truy cập home directory của ngƣời dùng với những câu lệnh nhƣ sau: chown jack /home/jack /home/jack/www chmod 750 /home/jack /home/jack/www VirtualHost Là tính năng của Apache giúp ta duy trì nhiều hơn một web server trên một máy tính. Nhiều tên cùng chia xẻ một địa chỉ IP gọi là named-based virtual hosting, và sử dụng những địa chỉ IP khác nhau cho từng domain gọi là IP-based virtual hosting. IP-based Virtual Host VirtualHost dựa trên IP yêu cầu những server phải có một địa chỉ IP khác nhau cho mỗi virtualhost dựa trên IP. Nhƣ vậy, một máy tính phải có nhiều interface hay sử dụng cơ chế virtual interface mà những hệ điều hành sau này hỗ trợ. Nếu máy có một địa chỉ IP: 97.158.253.26, chúng ta có thể cấu hình một địa chỉ IP khác trên cùng một card mạng nhƣ sau: ifconfig eth0:1 97.158.253.27 netmask 255.255.255.0 up Sau đó ta mô tả thông tin cấu hình trong file httpd.conf ; VirtualHost default DocumentRoot /tmp 33
  34. ServerName www.domain ; VirtualHost cho site1 DocumentRoot /home/www/site1 ServerName www1.domain ; VirtualHost cho site2 DocumentRoot /home/www/site2 ServerName www2.domain Named-based Virtual Hosts: IP-based Virtual Host dựa vào địa chỉ IP để quyết định Virtual Host nào đúng để truy cập. Vì thế, cần phải có địa chỉ IP khác nhau cho mỗi Virtual Host. Với Named-based Virtual Host, server dựa vào HTTP header của client để biết đƣợc hostname. Sử dụng kỹ thuật này, một địa chỉ IP có thể có nhiều tên máy tính khác nhau. Named-based Virtual Host rất đơn giản, chỉ cần cấu hình DNS sao cho nó phân giải mỗi tên máy đúng với một địa chỉ IP và sau đó cấu hình Apache để tổ chức những web server cho những miền khác nhau. 2.2. Cài đặt và cấu hình máy chủ Email server Mail server là gì? Cách cài đặt mail server (set up mail server) và cách quản lý mail server nhƣ thế nào? Trong nội dung bài viết này Longvan.net sẽ trình bày chi tiết những vấn đề về mail server cùng tìm hiểu nhé! Ngày nay với sự phát triển không ngừng của công nghệ thông tin, việc giao tiếp và truyền tải thông tin của con ngƣời trở nên nhanh chóng, chính xác và hiệu quả hơn rất nhiều. Một trong những công cụ giao tiếp, truyền tài thông tin hữu hiệu đƣợc nhiều doanh nghiệp và cá nhân sử dụng chính là Email. Các bài viết bạn nên tham khảo: + Có nên sử dụng email server hosting? + Tìm hiểu về email server và t-online email server + Tìm hiểu về hai chuẩn bảo mật cho email Mail Server là gì? 34
  35. Mail server đƣợc hiểu đơn giản giống nhƣ 1 cái bƣu điện trên mạng internet vậy, mail server là một trung tâm lƣu trữ, truy xuất thông tin trên mạng internet. Mail của bạn gửi trƣớc khi đến hộp thƣ email của ngƣời nhận thì nó đều phải qua mail server. Khi bạn gửi mail cho một ngƣời nào đó thì email sẽ gửi đến hộp thƣ mail của ngƣời đó trong tích tắc tuy nhiên bản chất thì mail của bạn đã phải qua mail server mới đến hộp thƣ của ngƣời nhận. Vì vậy mail server có vai trò rất quan trọng trong quản lý và truyền thông nội bộ, giao dịch thƣơng mại, đồng thời mail server luôn đảm bảo tính an toàn với khả năng backup cao. Với hệ thống mail server sẽ hạn chế và phòng tránh đƣợc một số vấn đề nhƣ mail bị virus, spam, bị đƣa vào danh sách đen hay không check đƣợc webmail, Các thuật ngữ liên quan đến mail server cac-thuat-ngu-ve-mail-server Trƣớc khi đi sâu vào giải thích mail server là gì, ta điểm qua một số thuật ngữ cơ bản về mail server SMTP là gì? SMTP là giao thức dịch chuyển Mail đơn giản (Simple Mail Transfer Protocol): là giao thức sử dụng để gửi mail đi (Outgoing Mail servers) POP3, IMAP là gì? Cả POP3 và IMAP là mail server đến (Incoming Mail servers) POP3 (Post Office Protocol version 3) là giao thức đƣợc dùng để lấy mail từ mail server. Đây là giao thức đơn giản nhất để di chuyển thƣ từ máy chủ SMTP đến ứng dụng thƣ của bạn. POP Server đơn giản và nhẹ; bạn có thể phục vụ hàng nghìn ngƣời dùng từ một hộp duy nhất. IMAP (Internet Message Access Protocol) là giao thức dùng để truy cập và lấy mail từ mail server. Hầu hết các doanh nghiệp sử dụng IMAP vì mail luôn có trên máy chủ nhƣ vậy ngƣời dùng không phải lo lắng về việc mất mail. Máy chủ IMAP yêu cầu rất nhiều bộ nhớ và bộ nhớ. >>>>Xem thêm: Dịch vụ Hosting TLS là gì? TLS là bảo mật tầng truyền tải (Transport Layer Security) hoạt đồng cùng với tầng ổ bảo mật SSL (Secure Sockets Layer) cung cấp phƣơng thức vận chuyển mã hoá cho đăng nhập đƣợc chứng thực của SASL. SASL là gì? 35
  36. SASL là Lớp xác thực và bảo mật đơn giản (Simple Authentication and Security Layer), để xác thực ngƣời dùng. SASL thực hiện xác thực, sau đó TLS cung cấp vận chuyển mã hoá dữ liệu xác thực. Webmail là gì? Webmail là email trên nền web. Một số webmail mà các bạn có thƣờng thấy nhƣ hotmail, gmail, yahoo mail. Webmail cho phép ngƣời dùng truy cập email bất cứ lúc nào. Cách quản trị mail server cach-quan-tri-mail-server Tạo mail mới trên Webadmin Mdaemon Bƣớc #1: Đăng nhập webadmin. Bƣớc #2: Thêm account mới: Vào mục Account > New > Điền đầy đủ các thông tin ngƣời dùng mới tại mục Account Details gồm có: - First and Last Name: họ và tên - Email address: Địa chỉ mail - Email password (twice): nhập 2 lần password. Sau đó lƣu lại thông tin, ấn Save. Thay đổi password trên Webadmin Mdaemon Account > Chọn Email cần đổi password > Edit Tại mục Account Details nhập password mới và Save Trong trƣờng hợp sử dụng dịch vụ thuê mail server có nhiều tình năng mà khách hàng có thể sử dụng nhƣ: webmail, mobile webmail, address book, POP mail, IMAP, có thể tự quản lý mail server. Việc cài đặt mail server, cài đặt mail server nội bộ sẽ đƣợc hỗ trợ bởi nhà cung cấp dịch vụ. Tính năng nổi bật của mail server tinh-nang-noi-bat-cua-mail-server1 Mail server có một số tính năng nổi bật nhƣ sau: - Có server riêng, tăng cƣờng tính bảo mật và an toàn dữ liệu cho email. - Có thể quản lý và tạo các tài khoản email cho nhân viên một cách dễ dàng. 36
  37. - Ngƣời quản trị có thể kiểm tra và quản lý nội dung email của nhân viên - Cho phép thiết lập dung lƣợng tối đa cho từng email. - Hạn chế tối đa các thứ spam, tăng cƣờng khả năng chống virus - Mail server có tính năng lƣu trữ thông tin tự động giúp bạn lƣu trữ tốt các thông tin cần thiết. - Cho phép ngƣời dùng check mail trên cả webmail và Outlook Express. 2.3. Window networking Thiết lập chia sẻ trong Linux và truy cập nó từ Windows bằng Samba Cách tốt nhất và nhanh nhất để làm điều này là cài đặt Samba. Samba là một giải pháp lý tƣởng để chia sẻ các file giữa các thiết bị khác nhau nhƣ máy Windows, Linux hoặc Mac. Các máy cần phải đƣợc nối mạng với một router chung. Các máy tính Windows có chức năng cho phép chúng hoạt động với Samba, vì vậy chỉ cần cài đặt gói cho máy tính Linux. 1. Trên máy tính Linux, mở vị trí chứa các file muốn chia sẻ. 2. Nhấp chuột phải vào file và chọn “Sharing Options”. 37
  38. 3. Nếu nhận đƣợc lời nhắc yêu cầu cài đặt các Samba service, hãy nhấp vào “Install service”. 4. Nhấp vào Restart session sau khi Samba service đƣợc cài đặt để cho phép chia sẻ. 5. Tích vào các hộp “Share this folder” và “Allow others to create and delete files in this folder”. 6. Nhấp vào “Create Share” để hoàn tất quy trình. 7. Mở Terminal và gõ các lệnh sau: sudo smbpasswd –a USERNAME Thay thế USERNAME bằng tên ngƣời dùng. sudo cp /etc/ samba/ smb.conf /etc/samba/smb.conf.old sudo nano /etc/samba/smb.conf 8. Tìm phần Global và thêm các dòng sau: encrypt passwords = true wins support = yes 9. Nhấn Ctrl + O và Ctrl + X để lƣu và thoát. 10. Khởi động lại Samba: sudo service smbd restart 11. Chuyển sang máy tính Windows và nhấp chuột phải vào Start, sau đó chọn Run. 12. Trong hộp Run, nhập lệnh: \\computer_name\share_name5 Lƣu ý: Tên máy tính trong trƣờng hợp này có thể là địa chỉ IP của máy Linux. Bạn có thể tìm thấy địa chỉ này bằng cách vào máy tính Linux và mở terminal, sau đó nhập ipconfig. 13. Nhập tên máy tính Linux và chia sẻ tên tài nguyên. 14. Một dấu nhắc sẽ đƣợc hiển thị yêu cầu thông tin đăng nhập. 15. Nhập tên ngƣời dùng và mật khẩu Linux, sau đó nhấn OK. 16. Thử truy cập vào các share (thiết lập chia sẻ) từ máy tính Windows. Máy chủ mới sẽ đƣợc hiển thị trong “My Network Places” trên Windows. Hoặc làm nhƣ sau: Nhấp chuột phải vào Start và chọn Run, sau đó nhập: //server. Thay thế “server” bằng tên hoặc địa chỉ IP của máy tính chạy Samba server. Một cửa sổ với các share có thể duyệt từ máy chủ sẽ mở ra. Lƣu ý: Để truy cập vào các share không thể duyệt, hãy sử dụng code này: \\server\share name Thiết lập chia sẻ trong Windows để truy cập từ Linux Thiết lập này sẽ đƣợc thực hiện trong ba bƣớc nhƣ sau: Cho phép chia sẻ trên Windows Chia sẻ thƣ mục 38
  39. Truy cập thƣ mục từ Linux Cho phép chia sẻ trên Windows Bắt đầu bằng cách đảm bảo các cài đặt mạng đƣợc cấu hình để cho phép kết nối từ hệ thống Linux. Để làm điều này, hãy thực hiện nhƣ sau: 1. Đi đến Control Panel và nhấp vào “Network and Internet”. 2. Chọn “Network and Sharing Center”. 39
  40. 3. Cửa sổ Network and Sharing Center sẽ mở. Nhấp vào “Change Advanced Settings”. 4. Kích hoạt hai cài đặt này: “Network Discovery” và “Turn on file and printer sharing”. 40
  41. 5. Nhấp vào Save changes. 6. Tính năng chia sẻ đã đƣợc kích hoạt. Chia sẻ thư mục Tạo một thƣ mục chia sẻ cho hệ thống Linux để xem, kết nối và truy cập. Bạn có thể chia sẻ bất cứ điều gì, vì vậy hãy làm theo các bƣớc sau: 1. Tìm thƣ mục muốn chia sẻ và nhấp chuột phải vào thƣ mục đó.2. Chọn “Properties”. 3. Trong tab Sharing, nhấp vào “Advanced Sharing”. 4. Trong cửa sổ Advanced Sharing, kích hoạt tùy chọn “Share this folder”. 5. Nhấp vào “Permissions”. Lƣu ý: Trong cửa sổ “Permissions”, bạn có thể hạn chế quyền truy cập vào thƣ mục đối với ngƣời dùng hoặc tài khoản cụ thể. Chọn “Full Control permission to Everyone” để cung cấp cho bất kỳ ngƣời dùng nào quyền truy cập. Bằng cách này, bất cứ ai cũng có thể đọc và ghi các thay đổi đối với các file trong thƣ mục bạn chia sẻ. Tuy nhiên, nếu bạn muốn hạn chế quyền truy cập vào các tài khoản ngƣời dùng cụ thể, hãy xóa “Everyone”, thêm ngƣời dùng mong muốn và sau đó gán các quyền liên quan cho họ. Các tài khoản ngƣời dùng là những tài khoản trên hệ thống Windows (không phải hệ thống Linux). 6. Nhấp OK để đóng cửa sổ Permissions. 7. Nhấp OK để đóng cửa sổ Advanced Sharing. 8. Chuyển đến tab Security trong cửa sổ Properties chính. Lƣu ý: Hãy cấu hình các quyền tƣơng tự nhƣ trong cài đặt quyền chia sẻ để ngƣời dùng Linux có thể truy cập thƣ mục dùng chung. Nếu các quyền không khớp với nhau, các cài đặt hạn chế nhất sẽ đƣợc áp dụng. 41
  42. Tuy nhiên, nếu ngƣời dùng bạn định chia sẻ đã có quyền bảo mật, hãy đóng cửa sổ và chuyển sang bƣớc thứ ba. Nếu không, hãy nhấp vào “Edit” để thêm ngƣời dùng, nhấp vào “Add” trong cửa sổ Permissions và nhập chi tiết ngƣời dùng. 9. Nhấp vào OK trên tất cả các cửa sổ. Thƣ mục sẽ đƣợc chia sẻ với mạng. Truy cập từ Linux Ngƣời dùng có thể mount thƣ mục đƣợc chia sẻ bằng Linux GUI hoặc sử dụng một dòng lệnh. Trong ví dụ này, ta sẽ sử dụng Terminal vì công cụ này hoạt động trên nhiều bản phân phối và nhanh hơn việc sử dụng Linux GUI. Để làm điều này, ta cần gói cifs-utils để mount các SMB share. Làm theo các bƣớc sau. 1. Trong terminal, hãy nhập: sudo apt-get install cifs-utils 2. Tạo một thƣ mục. 3. Mount share vào thƣ mục. 4. Tạo một thƣ mục trên desktop. (Sẽ dễ dàng truy cập hơn từ desktop). 5. Tạo và mount thƣ mục bằng các lệnh sau: mkdir ~/Desktop/Windows-Share sudo mount.cifs //WindowsPC/Share/home/username/Desktop/Windows-Share –o user=username Lƣu ý: Nếu đƣợc nhắc nhập mật khẩu root của hệ thống Linux và mật khẩu cho tài khoản ngƣời dùng trên Windows, hãy nhập từng mật khẩu và chạy lệnh. Bây giờ bạn sẽ thấy nội dung của Windows share và sẽ có thể thêm dữ liệu vào đó. 2.4. Cài đặt và cấu hình VPN Mạng riêng ảo hay VPN (Virtual Private Network) là một mạng dành riêng để kết nối các máy tính lại với nhau thông qua mạng Internet công cộng. Những máy tính tham gia mạng riêng ảo sẽ “nhìn thấy nhau” nhƣ trong một mạng nội bộ – LAN (Local Area Network). VPN cho phép các máy tính truyền thông với nhau thông qua một môi trƣờng chia sẻ nhƣ mạng Internet nhƣng vẫn đảm bảo đƣợc tính riêng tƣ và bảo mật dữ liệu. Gồm 2 kiểu kết nối chính là : 42
  43. 1. Client to Site Áp dụng cho từng cá nhân truy cập dữ liệu và các ứng dụng từ bên ngoài để luôn đảm bảo tính bảo mật thông tin. 2. Site to Site Áp dụng cho các tổ chức chi nhánh liên kết với nhau để trao đổi thông tin nhƣ một mạng local. Giao thức : Các giao thức chủ yếu đƣợc sử dụng là : PPTP, L2TP, IPSEC và IP-IP PPTP Point-to-Point Tunneling Protocol (PPTP) là một mở rộng của PPP, nó đóng gói các khung PPP vào gói tin IP (IP datagram) để truyền đi trên mạng công cộng nhƣ là Internet. Một ngƣời dùng từ xa muốn nối với một mạng LAN cộng tác từ một vị trí mà bình thƣờng là phải sử dụng đến một cuộc quay số đƣờng dài, thay vì vậy ngƣời dùng nối kết vào ISP tại địa phƣơng. Sau đó thiết lập một liên kết ảo băng qua Internet để đến mạng LAN nầy. Nhƣ vậy, chỉ cần tạo ra một liên kết cục bộ và ngƣời dùng có thể có đƣợc một nối kết đƣờng dài thông qua Internet. Việc xác thực quyền và mã hóa có thể yêu cầu thêm trong các phiên quay số ảo để hỗ trợ các nối kết riêng tƣ hay bảo mật. Hƣớng dẫn Bước 1 : Cài đặt PPTPD Để xác định đƣợc bạn đang sử dụng OS nào bạn có thể dùng lệnh sau ƣớc 2 : Cấu hình IP /etc/pptpd.conf 43
  44. TÀI LIỆU THAM KHẢO [1]. Phan Vĩnh Thịnh - Tự học sử dụng Linux, 2011. [2]. Trung tâm Tin học, Đại học Khoa học Tự nhiên thành phố Hồ Chí Minh - Hướng dẫn giảng dạy Quản trị mạng Linux, 2011. [3]. Trƣờng Đại học công nghệ, Đại học quốc gia Hà Nội - Giáo trình hệ điều hành Unix – Linux, 2004. [4]. VSIC Education Corp - Tài liệu Linux Fundamentals & Lan management. 44