1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình dịch vụ mạng trên linux (nghề quản trị mạng trình độ cao đẳng)

122 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dịch Vụ Mạng Trên Linux
Trường học Trường Cao Đẳng
Chuyên ngành Quản Trị Mạng
Thể loại Giáo Trình
Định dạng
Số trang 122
Dung lượng 2,84 MB

Cấu trúc

  • BÀI 1: CÀI ĐẶT SERVER (7)
    • 1. Giới thiệu về Ubuntu Server 18.04 LTS (7)
    • 3. Kết nối với Ubuntu (16)
      • 3.1. Cấu hình địa chỉ IP cho card mạng (16)
      • 3.2. Truy cập từ xa (16)
  • BÀI 2. CÀI ĐẶT DỊCH VỤ TRÊN MÁY CHỦ LINUX (24)
    • 1.1. Quá trình khởi động linux (24)
    • 1.2. Dịch vụ (service) (25)
    • 1.3. Quản lý dịch vụ (25)
    • 2.1. Một số khái niệm về mạng IP (26)
    • 2.2. Các tập tin cấu hình mạng (26)
    • 2.3. Dịch vụ mạng (network) (27)
  • BÀI 3. DỊCH VỤ SAMBA (33)
    • 1. Cài đặt SAMBA (33)
    • 2. Khởi động SAM BA (33)
    • 3. Cấu hình SAMBA (34)
      • 3.1. Đoạn [global] (34)
      • 3.2. Đoạn [homes] (35)
      • 3.3. Chia sẻ máy in dùng SMB (35)
      • 3.4. Chia sẻ thư mục (36)
    • 4. Sử dụng SAMBA SWAT (36)
      • 4.1. Tập tin cấu hình SAMBA SWAT (36)
      • 4.2. Truy xuất SWAT từ Internet Explorer (37)
      • 4.3. Cấu hình SAMBA SWAT (37)
    • 5. Thực hành (39)
  • BÀi 4. Dịch vụ DNS (Domain Name System) (52)
    • 1. Giới thiệu về DNS (52)
    • 2. Cách phân bố dữ liệu quản l ý Domain Name (55)
    • 3. Cơ chế phân giải tên (56)
      • 3.1. Phân giải tên thành IP (56)
      • 3.2. Phân giải IP thành tên máy tính (57)
    • 4. So sánh Domain Name – Zone (58)
    • 5. Phân loại Domain Name Server (59)
      • 5.1. Primary Name Server (59)
      • 5.2. Secondary Name Server (59)
      • 5.3. Caching Name Server (59)
  • BÀI 5. Dịch vụ DHCP (66)
    • 1. Một số lưu ý trên DHCP (66)
    • 2. Ưu điểm của DHCP (66)
    • 3. Cấu hình DHCP server (66)
    • 4. Khởi động DHCP (67)
  • BÀI 6. DỊCH VỤ WEB SERVER (74)
    • 1. Web server (74)
      • 1.1. Giao thức HTTP (74)
      • 1.2. Web Server và cách hoạt động (75)
      • 1.3. Web client (76)
      • 1.4. Web động (76)
    • 2. Apache (77)
      • 2.1. Giới thiệu Apache (77)
      • 2.2. Cài đặt Apache (77)
      • 2.3. Tạm dừng và khởi động lại Apache (77)
      • 3.4. Sự chứng thực, cấp phép, điều khiển việc truy cập (78)
      • 3.5. Điều khiển truy cập (81)
      • 3.6. Khảo sát log file trên apache (82)
    • 3. Cấu hình Web server (83)
      • 3.1. Định nghĩa về ServerName (83)
      • 3.2. Thư mục Webroot và một số thông tin cần thiết (84)
      • 3.3. Cấu hình mạng (85)
      • 3.4. Alias (86)
      • 3.5. UserDir (87)
      • 3.6. VirtualHost (87)
  • BÀI 7. FIREWALL (93)
    • 1. Giới thiệu (93)
      • 1.1. FireWall là gì ? (93)
      • 1.2. Chức năng chính của Firewall (95)
      • 2.1. Giới thiệu (95)
      • 2.2. Cấu Trúc Iptable (96)
      • 2.3. Trình tự xử lý gói tin của iptables (96)
  • BÀI 8: QUẢN LÝ MÁY CHỦ LINUX BẰNG WEBMIN (104)
    • 2. Cài đặt Webmin (104)
      • 2.1. Cài đặt từ file nhị phân (104)
      • 2.2. Cài đặt từ file nguồn *.tar.gz (104)
    • 3. Cấu hình Webmin (105)
      • 3.1. Đăng nhập W ebmin (105)
      • 3.2. Cấu hình Webmin (105)
      • 3.3. Cấu hình Webmin qua Web Browser (107)
      • 3.4. Quản l ý Webmin (111)
        • 3.4.1. Quản lý Webmin User (111)

Nội dung

CÀI ĐẶT SERVER

Giới thiệu về Ubuntu Server 18.04 LTS

Ubuntu Server là phiên bản tùy chỉnh của Ubuntu, được thiết kế đặc biệt cho máy chủ và dịch vụ Phiên bản này không chỉ hỗ trợ chạy máy chủ tệp đơn lẻ mà còn có khả năng hoạt động trong môi trường máy chủ đám mây Khác với Ubuntu Desktop, Ubuntu Server không bao gồm chương trình cài đặt đồ họa.

• Nhà phát triển: Canonical Ltd / Quỹ Ubuntu

• Loại hệ điều hành: Linux/Unix

• Kiểu mã nguồn: Phần mềm tự do

• Phát hành lần đầu: 20 tháng 10, 2004

• Nền tảng hỗ trợ: IA-32, x86-64, lpia, SPARC, PowerPC, ARM, IA-64

• Giao diện mặc định: Unity trên nền GNOME 3

1 File iso của Ubuntu Server 18.04 Link download tại đây: http://releases.ubuntu.com/18.04/

2 Máy ảo VirtualBox, VMWare hoặc có thể ghi file iso ra đĩa và cài trên máy tính thật

Cài đặt Ubuntu Server 18.04 LTS

Sau khi boot vào máy chủ với file iso hoặc đĩa cài đặt Ubuntu Server, chúng ta thực hiện các bước cài đặt như sau:

=> Chọn ngôn ngữ mặc định là “English” hoặc ngôn ngữ nào mà bạn mong muốn.

=> Chọn mặc định là English US

Cấu hình Network Để mặc định => Bấm [ Done ] để tiếp tục

Cấu hình Ubuntu Mirror Đây là dường dẫn tên miền đặt máy chủ có chứa các package của Ubuntu, phục vụ cho việc cài đặt,nâng cấp Ubuntu.

Để cài đặt và nâng cấp các gói Ubuntu nhanh chóng tại Việt Nam, chúng ta nên sử dụng địa chỉ máy chủ tại Việt Nam là http://opensource.xtdv.net/ubuntu.

Phân vùng ổ địa và hệ thống tệp tin

Chọn “Use An Entire Disk” nếu bạn là người mới bắt đầu, còn nếu bạn là 1 Linux

System Professional thì có thể lựa chọn tùy chọn “Manual” để phân vùng ổ đĩa.

Chọn ổ đĩa để cài đặt

Thông tin phân vùng ổ đĩa => Chọn [ Done ] để tiếp tục

Một cảnh báo sẽ hiển thị, xác nhận ổ đĩa sẽ được format => Chọn [ Continue ] để tiếp tục

Cấu hình thông tin đăng nhập vào hệ thống bao gồm:

 Your name: Tên của bạn

 Your server’s name: Tên Server

 Pick a username: Tên đăng nhập

 Confirm your password: Nhập lại mật khẩu của bạn

Cài đặt OpenSSHđể có thể đăng nhập vào Server bằng giao thức SSH

Tích vào ô “Install OpenSSH server” bằng cách sử dụng phím [ Space ]

Có nhiều loại phần mềm có sẵn để cài đặt, nhưng trong trường hợp này, chúng ta không cần cài đặt bất kỳ phần mềm nào Nếu bạn muốn cài đặt, hãy sử dụng phím [Space] để lựa chọn.

Quá trình cài đặt sẽ được bắt đầu.

Sau khi cài đặt xong => Chọn [ Reboot Now ] để reboot lại máy chủ

Gỡ bỏ đĩa cài đặt => bấm phím [ Enter ] để boot vào HDH

Kết quả sau khi reboot, chúng ta thực hiện login vào Server bằng tài khoản đã tạo ở các bước trên

Sau khi đăng nhập thành công vào Server

Như vậy quá trình cài đặt Ubuntu Server 18.04 LTS đã kết thúc shutdown –P (đợi 1p)

Kết nối với Ubuntu

3.1 Cấu hình địa chỉ IP cho card mạng

+ Để xem thông tin tất cả card mạng trong hệ thống ta dùng lệnh: ifconfig –a

+ Để up hoặc down card mạng nào đó ta có thể sử dụng lệnh: ifconfig up ifconfig down

Để quản lý địa chỉ IP trên một card mạng, bạn có thể sử dụng lệnh `ifconfig` với cú pháp: `ifconfig add ` để thêm địa chỉ IP, và `ifconfig del ` để xóa địa chỉ IP.

Khi hệ thống khởi động dịch vụ networking.service nó sẽ đọc file

Để lấy thông tin card mạng và khởi động nó trên Ubuntu, chúng ta sử dụng tệp cấu hình /etc/network/interfaces Để thực hiện cấu hình mạng, bạn có thể sử dụng trình soạn thảo sudoedit.

# Card mạng loopback auto lo iface lo inet loopback

# Card mạng chính mà chúng ta muốn dùng auto ens33

# thêm vào các dòng sau iface ens33 inet static address 192.168.1.30 # IP address network 192.168.1.0 # network address netmask 255.255.255.0 # subnet mask broadcast 192.168.1.255 # broadcast address gateway 192.168.1.1 # default gateway dns-nameservers 8.8.8.8 # name server

Kết nối với Ubuntu bằng giao thức Remote Desktop Protocol

Cách đơn giản nhất để kết nối máy tính từ xa là sử dụng Remote Desktop Protocol (RDP) Công cụ này được tích hợp sẵn trong Windows, cho phép bạn thiết lập kết nối với thiết bị Ubuntu qua mạng gia đình Chỉ cần có địa chỉ IP của thiết bị Ubuntu, bạn có thể dễ dàng thực hiện kết nối từ xa.

Để cài đặt công cụ exit trên Windows, bạn cần mở cửa sổ terminal bằng cách nhấn CTRL + ALT + T và nhập lệnh "sudo apt-get install xrdp" Sau khi cài đặt hoàn tất, hãy mở ứng dụng Remote Desktop Connection từ Start Menu hoặc Search Nhập địa chỉ IP vào trường Computer, sau đó nhấn Show Options và thêm Username cho Ubuntu PC Cuối cùng, bạn có thể nhấp vào Save để lưu các cài đặt này cho lần sử dụng sau.

Nhấn "Connect" để bắt đầu kết nối và nhập mật khẩu tài khoản Ubuntu khi được yêu cầu Kết nối sẽ được thiết lập, cho phép bạn truy cập đầy đủ bằng chuột và bàn phím vào máy tính Ubuntu từ xa.

Note: không sử dụng vì ko có giao diện đồ họa để điều khiển ubuntu server

1.ip static tren ubuntu server

Cấu hình Static IP trên Ubuntu 18.04

Kiểm tra tên card mạng bằng câu lệnh ifconfig

Card mạng dưới đây có tên là “enp0s3”

Cấu hình static IP bằng cách chỉnh sửa file sau: (ls /etc/netplan tìm file yaml) sudoedit /etc/netplan/01-netcfg.yaml

Chỉnh sửa tùy theo bạn muốn cấu hình như thế nào, các bạn tham khảo ví dụdưới đây:

Sau đó lưu file (^x) và chạy lệnh sau đểlưu cấu hình mới sudo netplan apply

Bây giờ hệ thống đã được cấu hình theo IP mới, để kiểm tra các bạn chạy 1 trong 2 lệnh sau: sudo ifconfig sudo ip addr show networkctl status

2.ip dong sudoedit /etc/netplan/ yaml sudo netplan apply sudo ifconfig sudo ip addr show networkctl status ifconfig

Notes: GW phụ thuộc và địa chỉ ip của máy ảo

Những trọng tâm cần chú ý trong bài

- Nắm yêu cầu đối với hệ thống cài đặt Server mã nguồn mở;

- Thực hiện việc cài đặt hệ điều hành lên máy tính;

- Thực hiện cấu hình thiêt bị;

- Cài đặt các gói phần mềm.

Bài mở rộng và nâng cao

Cài đặt các công cụ sau:

1 Iftop Đây là một trong những công cụ dễ sử dụng nhất để sử dụng mạng và hoạt động DNS nhấn “h” sẽ hiển thị màn hình trợ giúp để biết thêm các tính năng: chuyên về giám sát mạng và biết tiến trình nào đang sử dụng mạng ở IP nào và chúng đang tiêu thụ băng thông nào

Vnstat là một công cụ giám sát mạng phổ biến có mặt trong hầu hết các bản phân phối Linux, dễ dàng cài đặt và sử dụng Nó cho phép người dùng theo dõi lưu lượng mạng, bao gồm các gói dữ liệu gửi và nhận trong khoảng thời gian mà người dùng lựa chọn.

$ Vnstat help vnStat 1,18 Teemu Toivola

-q, query cơ sở dữ liệu truy vấn

-s, short sử dụng đầu ra ngắn

-u, update cơ sở dữ liệu cập nhật

-i, iface chọn giao diện ( mặc định: eth0 )

-tr, traffic tính toán lưu lượng

-ru, rateunit swap đơn vị tỷ lệ được định cấu hình

-l, live hiển thị tốc độ truyền trong thời gian thực

Xem thêm " longhelp" để biết danh sách tùy chọn đầy đủ và "man vnstat".

Iptraf là công cụ giám sát mạng mạnh mẽ cho Ubuntu và Linux, cung cấp thông tin chi tiết về lưu lượng IP, bao gồm cờ ICMP, lỗi TCP và số byte Giao diện của Iptraf, dù cơ bản, vẫn mang lại trải nghiệm người dùng hiệu quả và trực quan.

Hping3 là một công cụ dòng lệnh tương tự như lệnh Ping, nhưng có khả năng sử dụng các giao thức TCP, UDP và RAW-IP Nó không chỉ kiểm tra xem một cổng hoặc IP có mở hay không, mà còn đo thời gian khứ hồi của gói tin Ví dụ, để kiểm tra cổng 443 của www.google.com và tính toán thời gian khứ hồi, bạn có thể sử dụng lệnh: hping3 www.google.com -S -V -p 443.

Dstat là một công cụ giám sát mạng ít được biết đến trong hệ điều hành Linux, cho phép theo dõi và hiển thị tất cả tài nguyên hệ thống theo thời gian thực Công cụ này giúp người dùng so sánh việc sử dụng đĩa với ngắt từ bộ điều khiển IDE và so sánh băng thông mạng với thông lượng đĩa trong cùng một khoảng thời gian.

Yêu cầu về đánh giá kết quả học tập

Để cài đặt hệ thống Server mã nguồn mở, cần nắm vững yêu cầu về cấu hình thiết bị và quy trình cài đặt hệ điều hành lên máy tính Việc cấu hình thiết bị và cài đặt các gói phần mềm cũng rất quan trọng để đảm bảo hệ thống hoạt động hiệu quả.

+ Về kỹ năng: cài đặt hệ điều hành lên máy tính, cấu hình thiêt bị, cài đặt các gói phần mềm cần thiết, đúng yêu cầu

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. Phương pháp:

+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp

Đánh giá kỹ năng thực hành trong việc cài đặt hệ điều hành trên máy tính, cấu hình thiết bị và cài đặt các gói phần mềm cần thiết là rất quan trọng Kỹ năng này đảm bảo rằng người dùng có khả năng thực hiện các thao tác đúng yêu cầu, từ việc thiết lập hệ điều hành cho đến việc tối ưu hóa hiệu suất của thiết bị Việc nắm vững các kỹ năng này không chỉ giúp nâng cao hiệu quả công việc mà còn đảm bảo sự ổn định và bảo mật cho hệ thống.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

CÀI ĐẶT DỊCH VỤ TRÊN MÁY CHỦ LINUX

Quá trình khởi động linux

Dựa vào runlevel, tiến trình init sẽ thực hiện việc duyệt thư mục /etc/rc.d và thực thi tất cả các file kịch bản khởi động tương ứng trong thư mục đó.

-Tập tin bắt đầu bằng chữ S: chạy khi khởi động

-Tập tin bắt đầu bằng chữ K: chạy khi tắt máy

-Thứ tự chạy: từ lớn đến bé

-“/etc/init.d/”: chứa nội dung các script

Dịch vụ (service)

Hầu hết những tiến trình chạy với init đều là các chương trình cung cấp những chức năng tối quan trọng để máy tính có thể làm việc

-Dịch vụ cho người dùng: mạng, wifi, bluetooth, x-windows, power, firewall, antivirus,…

-Dịch vụ cho mạng nội bộ: file server, in ấn, dhcp,…

-Dịch vụ cho mạng internet: http, ftp, email, dns,…

-Hầu hết chúng là các tiến trình daemon

-Hầu hết được khởi chạy mặc định, để có thể sẵn sàng phục vụ dù không có ai đăng nhập

Các script trong thư mục /etc/init.d/ cho phép chúng ta tác động đến các dịch vụ bằng cách gọi trực tiếp script cùng với các tham số phù hợp.

-Có thể thay thế bằng lệnh service: service httpd start

Quản lý dịch vụ

-Lệnh “chkconfig list” cho ta xem những dịch vụ nào được khởi chạy với các chế độ init nào

-Lệnh “systemctl list-dependencies” cho phép ta nhìn đầy đủ hơn sự liên quan giữa các dịch vụ

-Sử dụng chkconfigcòn cho phép ta bật tắt việc khởi chạy các dịch vụ

-“chkconfig level 2345 httpd on”: bật dịch vụ httpd với các chế độ khởi động 2345

-“chkconfig httpd on”: bật dịch vụ httpd với mọi chế độ khởi động

-“chkconfig httpd off”: tắt dịch vụ httpd với mọi chế độ khởi động

2.Một số dịch vụ cơ bản trên linux

Một số khái niệm về mạng IP

IP = Internet Protocol, là giao thức truyền dữ liệu cho mạng Internet (và thống trị các giao thức truyền dữ liệu trong mạng nội bộ)

Một số khái niệm cần nhớ:

-Địa chỉ IP (IP address)

-DHCP server (Dynamic Host Configuration Protocol)

-Máy chủ tên miền (DNS server)

-Tên đầy đủ cả tên miền (FQDN):oscar.tlu.edu.vn

-Phân giải tên: ánh xạ tên sang địa chỉ IP (DNS)

-Giao thức mạng: TCP, UDP, ICMP, ARP, DHCP, DNS, FTP, HTTP, NFS,

Trình điều khiển thiết bị mạng: /lib/modules/kernel-version/kernel/driver/net/ -Công cụ:

+host/nslookup/dig host www.google.com

Các tập tin cấu hình mạng

Một số cổng thường gặp (tùy vào ứng dụng): ftp-data 20/tcp ftp 21/tcp ssh 22/tcp telnet 23/tcp smtp 25/tcp domain 53/tcp domain 53/udp http 80/tcp pop3 110/tcp

Dịch vụ mạng (network)

-Khởi động dịch vụ mạng: service network start

-Tắt dịch vụ mạng: service network stop

-Khởi động lại dịch vụ mạng: service network restart

-Tập tin cấu hình tương ứng với card mạng sẽ có tên

“/etc/sysconfig/network-scripts/ifcfg-”

-Có thể cấu hình lại ngay trong quá trình hoạt động ifconfig eth0 192.168.2.122 netmask 255.255.255.0 service network restart

Telnet là giao thức kết nối với Internet hay kết nối mạng máy tính cục bộ LAN và Telnet là tiền thân của giao thức SSH Để bật Telnet

Cài đặt máy chủ Telnet

Sudo apt-get install xinetd telnetd

Dịch vụ sẽ được kích hoạt tự động sau khi cài đặt xong

Kiểm tra trạng thái dịch vụ nếu được yêu cầu sử dụng;

Sudo /etc/init.d/xinetd status Để Telnet một IP telnet serverip

Nếu muốn thay đổi các cổng, cần chỉnh sửa /etc/services với dòng; telnet 23/tcp

Sau khi thay đổi, khởi động lại để áp dụng các thay đổi với;

Sudo /etc/init.d/xinetd restart sudo systemctl status inetd

Những trọng tâm cần chú ý trong bài

- Dịch vụ trên linux: Nắm được quá trình khởi động linux, các dịch vụ (service), quản lý các dịch vụ

- Một số dịch vụ cơ bản trên linux: một số khái niệm về mạng IP, các tập tin cấu hình mạng, dịch vụ mạng (network)

- Cài đặt các gói phần mềm.

Bài mở rộng và nâng cao

Cài đặt các công cụ sau:

Icinga là một giải pháp giám sát mạng cấp doanh nghiệp, giúp theo dõi các hoạt động đáng ngờ trên máy chủ Công cụ này tự động thông báo cho các quản trị viên đã được cấu hình về những hoạt động bất thường, đảm bảo an toàn và hiệu quả cho hệ thống.

2 slurm slurm là một công cụ giám sát tải mạng thông minh và đơn giản, có các tính năng sau:

- Cung cấp thống kê lưu lượng truy cập thời gian thực

- Có ba chế độ đồ thị: RX và TX kết hợp và hai chế độ xem phân tách

- Có thể giám sát bất kỳ thiết bị mạng nào

3 bmon bmon , viết tắt của Bandwidth Monitor, là một công cụ giám sát mạng khác với đặc điểm là nó có thể giám sát nhiều lưu lượng giao diện Nó cũng cung cấp thông tin về các gói tin, lỗi và nhiều dữ liệu quan trọng hơn để theo dõi

Nmap là một trong những trình quét mạng phổ biến nhất được sử dụng phổ biến Thông tin nó có thể cung cấp bao gồm (nhưng không giới hạn):

- Cho biết những gì đang chạy trên một máy chủ mạng nhất định

- Quét và xác định các cổng TCP đang mở

- Hệ điều hành nào đang chạy trên IP nhất định

- Ping quét trên mạng con IP

Tcpdump là một công cụ mạnh mẽ không chỉ để bắt gói tin mà còn để phân tích dữ liệu gửi và nhận từ máy chủ Nó cho phép theo dõi lưu lượng truy cập giữa hai máy chủ, giúp người dùng hiểu rõ hơn về hoạt động mạng.

Yêu cầu về đánh giá kết quả học tập

Để hiểu biết về hệ điều hành Linux, người dùng cần nắm rõ quá trình khởi động, quản lý các dịch vụ (service) và một số khái niệm cơ bản về mạng IP Bên cạnh đó, việc làm quen với các tập tin cấu hình mạng và các dịch vụ mạng (network) cũng rất quan trọng Về kỹ năng, người dùng cần có khả năng cài đặt hệ điều hành lên máy tính, cấu hình thiết bị và cài đặt các gói phần mềm cần thiết theo đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. Phương pháp:

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và phỏng vấn Kỹ năng được đánh giá dựa trên khả năng thực hành cài đặt các gói phần mềm cần thiết, đảm bảo đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

DỊCH VỤ SAMBA

Cài đặt SAMBA

Bạn có thể cài đặt Samba trong quá trình cài đặt Linux hoặc sau đó bằng tiện ích RPM Các gói cần thiết được tích hợp trong CD Fedora, bao gồm: system-config-samba-1.2.15-0.fc2.1 để hỗ trợ cấu hình trên giao diện X window, samba-3.0.7-2.FC2 là gói chính của Samba, samba-client-3.0.7-2.FC2 dành cho Samba Client, samba-common-3.0.7-2.FC2 cung cấp các thư viện cần thiết cho Samba, và samba-swat-3.0.7-2.FC2 hỗ trợ cấu hình Samba qua Web.

Khởi động SAM BA

Có thể khởi động dịch vụ samba tại thời điểm boot của hệ thống chkconfig.

Ta có thể start/stop/restart samba thông qua lệnh:

# service smb restart Để kiểm tra samba có hoạt động trong hệ thống hay không

Cấu hình SAMBA

Tập tin cấu hình /etc/samba/smb.conf Đây là một tập tin có dạng text Các thành phần trong file cấu hình:

[global] Chứa các tham số cấu hình chung của samba server

[printers] Chứa các tham số sử dụng cho việc cấu hình máy in

[homes] Chỉ định SMB chia sẻ thư mục home directory của user

[netlogon] Chia sẻ logon script

3.1 Đoạn [global] Đoạn này kiểm soát tất cả tham số cấu hình chung của server smb Đoạn này cũng cung cấp giátrị mặc định cho những đoạn khác:

[global] workgroup = LINUX ; chỉ ra nhóm mà máy này sẽ tham gia server string = Samba Server ; hosts allow = 192.168.1 192.168.2 127 ; host được phép truy xuất đến samba

Guest account = pcguest ; cung cấp username cho account khách trên server Account này để nhận diện những user nào được dùng các dịch vụ samba dành cho khách

Log file = /var/log/samba/smb.%m ; xác định vị trí tập tin logcủa từng client truy cập samba

Kích thước tối đa của một tập tin log được đặt là 50 KB Việc mã hóa mật khẩu khi đăng nhập vào máy chủ Samba là cần thiết; nếu chọn "yes", mọi mật khẩu từ Windows 9x sẽ được mã hóa Nếu chọn "no", máy chủ Samba sẽ từ chối mọi yêu cầu đăng nhập của người dùng.

Only users with a password in the /etc/samba/password file can access the Samba server The smb passwd file is located at /etc/samba/smbpasswd, which stores the users authorized to connect to the SMB server.

Một số biến cần tham khảo:

Tên biến Mô tả giá trị

%S Tên của dịch vụ hiện hành, nếu có

%P Thư mục gốc của dịch vụ hiệnhành, nếu có

%u tên user của dịch vụ hiện hành

%g tên của nhóm chính của %u

%U tên phiên làm việc của user

%G tên của nhóm chính của %U

%H thư mục gốc của user

%h tên của host mà Samba đangchạy

%m tên NETBIOS của máy khách

%L tên NETBIOS của máy chủ

%M tên Internet của máy khách

%I Địa chỉ IP của máy khách

%T ngày và giờ hiện hành

%a kiến trúc của máy từ xa Chỉ có một số máy được nhận diện là Win9x, WinNT, Win2k

Mặc định SMB chia sẻ home của từng người dùng trong hệ thống để cho phép các user có thểtruy xuất vào home directory của mình từ máy trạm.

The Home Directories configuration specifies the path as %H, allows read and write access, and restricts access to valid users defined by %S To grant access to a group, use the syntax @group_name The directories are not browseable, but they are writable, with a create mask set to 0750.

3.3 Chia sẻ máy in dùng SMB Để chia sẻ máy in, ta mô tả đoạn [printers] trong file /etc/smb.conf

[printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = no writable = no printable = yes ; cho phép in create mask = 0700

Sau khi thiết lập cấu hình mặc định cho server Samba, bạn có thể tạo nhiều thư mục dùng chung và xác định quyền truy cập cho từng cá nhân hoặc nhóm người dùng.

The configuration snippet creates a shared directory named "dirshare" located at /usr/local/share Access to this directory is restricted to the user "hv1" since the public access is set to "no." The directory is set to be writable, allowing the user to modify its contents.

Sử dụng SAMBA SWAT

Swat là một công cụ hữu ích cho việc cấu hình SAMBA thông qua giao diện Web Để sử dụng công cụ này, người dùng cần cài đặt gói samba-swat-3.0.7-2.FC2.rpm trên hệ điều hành Fedora Core.

4.1 Tập tin cấu hình SAMBA SWAT

Trước khi cấu hình SAMBA-SWAT, cần thiết lập một số thông số: disable = no only_from = 172.29.14.149 localhost

Trong file /etc/xinetd.d/swat để khởi động dịch vụ SWAT và cho phép các host nào có quyền truyxuất SAMBA SWAT qua Web. service swat

{ disable = no port = 901 socket_type = stream wait = no only_from = 172.29.14.149 localhost user = root server = /usr/sbin/swat log_on_failure += USERID

4.2 Truy xuất SWAT từ Internet Explorer

Truy xuất SMB SWAT thông qua địa chỉ http://172.29.14.150:901 từ IE; Sau đó, chỉđịnh username (root nếu ta muốn quản lý SMB), và mật khẩu để đăng nhập:

Hình7.1 Màn hình đăng nhập

Sau khi đăng nhập thành công

Hình7.2 Giao diện Samba SWAT

Cung cấp các tài liệu tham khảo về samba

Quản lý thông tin cấu hình là một phần quan trọng trong việc tối ưu hóa hiệu suất hệ thống Để đảm bảo tài nguyên được chia sẻ hiệu quả, việc quản lý tài nguyên chia sẻ và máy in là cần thiết Bên cạnh đó, quản lý loại server, Wins và các tham số khác cũng đóng vai trò quan trọng Theo dõi trạng thái của SAMBA và các kết nối hiện tại giúp duy trì sự ổn định cho mạng Cuối cùng, việc xem xét các thông tin cấu hình trong file smb.conf giúp người quản trị nắm bắt và điều chỉnh các cài đặt một cách chính xác.

Thực hành

Thiết lập chia sẻ Samba cho tổ chức nhỏ trên Ubuntu 16.04

Samba là một phần mềm mã nguồn mở triển khai giao thức SMB/CIFS, thường được sử dụng trong môi trường Windows để cung cấp dịch vụ chia sẻ file và máy in cũng như hỗ trợ Active Directory Ngoài ra, Samba còn cho phép tạo chia sẻ file đa nền tảng trong cấu hình server độc lập.

Cài đặt và cấu hình server Samba độc lập cho tổ chức nhỏ Example.com nhằm cung cấp repository và chia sẻ file hiệu quả Tổ chức này có những yêu cầu cụ thể về việc chia sẻ file, bao gồm tính bảo mật, khả năng truy cập dễ dàng và hiệu suất ổn định.

1 Mọi nhân viên cần được chia sẻ file cá nhân, riêng tư;

2 Tất cả nhân viên phải có quyền truy cập đọc và ghi đối với một phần chia sẻ file chung;

3 Một admin-user nên có quyền truy cập đọc và ghi đối với tất cả các cổ phiếu cá nhân và quyền sở hữu cổ phiếu chung.

Server Ubuntu 16.04 với user sudo không phải root

Samba có yêu cầu RAM và CPU khiêm tốn và sẽ hoạt động tốt trên server 1GB

Các kết nối TCP đến được phép trên cổng 445

Mở các cổng bằng cách bật cấu hình 'Samba': sudo ufw allow 'Samba'

Cấu hình tùy chọn Samba toàn cầu

Trước khi thay đổi tệp cấu hình Samba, hãy tạo bản sao lưu cho các mục đích tham khảo trong tương lai: sudo cp /etc/samba/smb.conf{, backup}

Tệp cấu hình mặc định của gói Samba được thiết lập cho máy chủ Samba độc lập Để kiểm tra, hãy mở tệp cấu hình bằng lệnh `sudo nano /etc/samba/smb.conf` và đảm bảo rằng vai trò của máy chủ được đặt là "standalone server".

Cập nhật index gói local để bao gồm các version mới nhất từ repository Ubuntu: sudo apt-get update

Cài đặt Samba: sudo apt-get install samba

This command installs and starts both the Samba server smbd and the Samba NetBIOS server nmbd However, nmbd is not essential for this guide, so for security purposes, it can be stopped and disabled using the following commands: `sudo systemctl stop nmbd.service` and `sudo systemctl disable nmbd.service`.

Lệnh sudo systemctl disable nmbd.service sẽ tạo ra kết quả sau khi chạy:

Output nmbd.service is not a native service, redirecting to systemd-sysv-install Executing

The output indicates that the `nmbd` service lacks a systemd root management configuration and is currently disabled by the older SysV init system To prevent potential security issues arising from running an unconfigured network service, it is advisable to stop the Samba server until the necessary configuration details are provided Use the command: `sudo systemctl stop smbd.service`.

Samba hiện đã được cài đặt và sẵn sàng được cấu hình.

Bước 2 - Đặt các tùy chọn chung của Samba

To configure how the Samba server operates, modify the configuration file located at /etc/samba/smb.conf This file consists of two main sections: the [global] section and the [shares] section.

-Phần [global] cấu hình hành vi của server Samba

-Phần [shares] cấu hình chia sẻ file

To configure Samba, rename the existing configuration file by executing the command `sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original`, and then create a new file named `smb.conf`.

Trước khi chỉnh sửa tệp cấu hình /etc/samba/smb.conf, bạn cần kiểm tra các giao diện mạng có sẵn để Samba có thể nhận diện chúng Để thực hiện điều này, hãy nhập lệnh sau: ip link.

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 link/loopback 00:00:00:00:00:00 brd

00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether

The output indicates that "lo" represents the loopback interface, while "eth0" refers to the external network interface These interfaces should be recorded in the [global] section of the smb.conf file To edit this configuration, use the command: sudoedit /etc/samba/smb.conf.

Phần [global] của file này sẽ xác định tên, role và các chi tiết khác của server , bao gồm các network interface :

To configure a standalone Samba server, set the server string to "samba_server" and specify the server role as standalone Ensure that the server interfaces are defined, focusing on the loopback interface and your specific network interface, while binding interfaces only to enhance security Disable NetBIOS support and set the SMB port to 445 for optimal performance Logs should be directed to /var/log/samba/smb.log, with a maximum log size of 10,000 bytes to manage disk space efficiently.

Các chỉ thị này xác định thông tin nhận dạng cho server, được hiển thị cho người dùng trong quá trình kết nối Việc sử dụng samba_server hoặc một tên khác sẽ giúp xác định server một cách rõ ràng.

Chuỗi samba.example.com đại diện cho phần chia sẻ Samba của tổ chức Example.com Vai trò server xác định loại server Samba, với standalone server là một file chia sẻ Các giao diện mạng mà Samba sẽ liên kết bao gồm giao diện lặp lại (127.0.0.1) và cần phải có giao diện bên ngoài như eth0 Tùy chọn bind interfaces only đảm bảo Samba chỉ liên kết với các giao diện đã chỉ định, bỏ qua các gói không tương ứng Việc vô hiệu hóa NetBIOS giúp đơn giản hóa quá trình phân giải tên server và vận chuyển lưu lượng SMB Cổng 445 là cổng tiêu chuẩn mà Samba lắng nghe Tên và vị trí của file log được xác định thông qua log file, trong khi max log size quy định kích thước tối đa của file log, với giá trị mặc định là 10MB Nếu cần ghi log chi tiết hơn trong quá trình cài đặt server, hãy thêm dòng tương ứng vào phần [global].

Trong tệp cấu hình Samba (/etc/samba/smb.conf), mức độ log được thiết lập là 3, cho phép ghi lại thông tin chi tiết hơn về quá trình đăng nhập so với cài đặt mặc định Việc tăng mức độ log cho passdb và auth lên 5 sẽ cung cấp thêm thông tin hữu ích liên quan đến xác thực người dùng, giúp quản trị viên dễ dàng theo dõi và xử lý các vấn đề liên quan đến bảo mật và hiệu suất.

Khi chỉnh sửa smb.conf , dùng lệnhtestparm tiện ích Samba để kiểm tra xem không có lỗi cú pháp nào: testparm

Load smb config files from /etc/samba/smb.conf Loaded services file OK Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions

Nhấn ENTER tạo ra kết quả sau:

To configure the Samba server, set the server string to "samba_server" and specify the interfaces as "lo" along with your network interface Ensure that "bind interfaces only" is enabled for a standalone server role The server log file should be directed to "/var/log/samba/smb.log" with a maximum log size of 10,000, and configure the appropriate SMB ports.

= 445 disable netbios = Yes idmap config * : backend = tdb

Nếu testparm báo cáo Loaded services file OK , thì không có lỗi cú pháp nào có thể ngăn server Samba khởi động.

Để tạo người dùng có khả năng truy cập các chia sẻ, cần thiết phải có quyền truy cập phù hợp, bao gồm quyền người dùng Samba và quyền hệ thống Điều này giúp xác thực người dùng với server Samba khi họ đăng nhập, cho phép họ đọc và ghi vào hệ thống file một cách hiệu quả.

Dịch vụ DNS (Domain Name System)

Giới thiệu về DNS

Các máy tính trong mạng cần biết địa chỉ IP của nhau để có thể liên lạc và trao đổi thông tin, dữ liệu Khi số lượng máy tính tăng lên, việc ghi nhớ các địa chỉ IP trở nên khó khăn hơn.

Địa chỉ IP thường khó nhớ hơn so với tên máy tính, vì tên có tính trực quan và dễ gợi nhớ hơn Để giải quyết vấn đề này, người ta đã phát triển phương pháp ánh xạ địa chỉ IP thành tên máy tính, giúp người dùng dễ dàng nhận diện các thiết bị trong mạng.

Ban đầu, mạng ARPAnet chỉ có quy mô nhỏ với vài trăm máy, dẫn đến việc chỉ cần một tập tin HOSTS.TXT để lưu thông tin á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 Tập tin này được duy trì tại một máy chủ, trong khi các máy chủ khác giữ bản sao Tuy nhiên, khi quy mô mạng mở rộng, việc sử dụng tập tin HOSTS.TXT đã bộc lộ nhiều nhược điểm.

- 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”.

Trong tập tin HOSTS.TXT, không thể có hai máy tính cùng tên, nhưng do tên máy không phân cấp và thiếu cơ chế ủy quyền quản lý, việc tạo ra hai tên trùng nhau có thể xảy ra, dẫn đến nguy cơ xung đột tên.

Việc duy trì tính toàn vẹn của tập tin trên mạng lớn gặp nhiều khó khăn, chẳng hạn như khi tập tin HOSTS.TXT được cập nhật nhưng chưa kịp chuyển đến máy chủ ở xa thì có thể đã xảy ra sự thay đổi địa chỉ trên mạng.

Tập tin HOSTS.TXT không phù hợp cho mạng lớn do thiếu khả năng phân tán và mở rộng, dẫn đến sự ra đời của dịch vụ DNS để khắc phục những nhược điểm này Paul Mockapetris, từ Viện Khoa học Thông tin USC, là người thiết kế cấu trúc dịch vụ DNS, với các khuyến nghị RFC 882 và 883 được đưa ra để hướng dẫn triển khai.

1034 và 1035 cùng với 1 số RFC bổ sungnhư bảo mật trên hệ thống DNS, cập nhật động các bản ghi DNS…

Lưu ý rằng trên các máy chủ hiện tại, tập tin hosts.txt vẫn có thể được sử dụng để phân giải tên máy tính thành địa chỉ IP, tương tự như trong hệ điều hành Linux, nơi tập tin này được lưu trữ tại /etc/hosts.

Dịch vụ DNS hoạt động theo mô hình Client-Server, trong đó máy chủ (nameserver) lưu trữ thông tin cơ sở dữ liệu của DNS, còn trình phân giải tên (resolver) thực hiện các truy vấn và gửi đến nameserver 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, cho phép quản trị viên cục bộ quản lý dữ liệu nội bộ và dễ dàng truy cập trên toàn hệ thống mạng theo mô hình Client - Server Hiệu suất dịch vụ được cải thiện nhờ vào cơ chế nhân bản và lưu tạm Một hostname trong miền được cấu thành từ các từ phân cách bởi dấu chấm, chẳng hạn như cntt.danavtc.edu, trong đó cntt là hostname và danavtc.edu là tên miền Tên miền được phân bổ theo cơ chế phân cấp tương tự như hệ thống tập tin Unix/Linux.

Cơ sở dữ liệu của DNS được tổ chức dưới dạng một cây đảo ngược, trong đó mỗi nút là gốc của một cây con, tương ứng với một miền (domain) Các miền có thể được chia thành các miền con (subdomain) nhỏ hơn Mỗi miền có một tên (domain name) xác định vị trí của nó trong CSDL DNS, được biểu diễn bằng chuỗi tên nhãn nối với nhau bằng dấu chấm Tên nhãn bên phải trong mỗi tên miền được gọi là top-level domain, ví dụ như trong cntt.danavtc.edu, edu là top-level domain.

.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

.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ế

Do sự bùng nổ của các tên miền đã có, nhiều top-level domain mới đã được ra mắt Dưới đây là danh sách các top-level domain mới nhấ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

Mỗi quốc gia có một top-level domain riêng, ví dụ như Việt Nam sử dụng "vn" và Mỹ sử dụng "us" Cơ chế tổ chức và phân cấp domain cũng khác nhau giữa các nước, như trong trường hợp của Việt Nam.

Cách phân bố dữ liệu quản l ý Domain Name

Các root name server (.) chịu trách nhiệm quản lý các top-level domain trên Internet Tên máy và địa chỉ IP của các name server này được công khai và được liệt kê trong bảng dưới đây Những name server này có thể được phân bố ở nhiều vị trí khác nhau trên toàn cầu.

Tên máy tính Địa chỉ IP

Một tổ chức thường đăng ký một hoặc nhiều tên miền và cài đặt các máy chủ tên (name server) để duy trì cơ sở dữ liệu cho các máy tính trong miền Các máy chủ tên này được đăng ký trên Internet, trong đó một máy chủ tên được gọi là Primary Name Server Ngoài ra, nhiều máy chủ tên phụ (Secondary Name Server) được sử dụng để sao lưu cho máy chủ chính Khi máy chủ chính gặp sự cố, máy chủ phụ sẽ đảm nhiệm việc phân giải tên Máy chủ Primary Name Server có khả năng tạo ra các tên miền con (subdomain) và ủy quyền cho các máy chủ tên khác.

Cơ chế phân giải tên

3.1 Phân giải tên thành IP

Máy chủ root name server đóng vai trò quan trọng trong việc quản lý các nameserver ở mức top-level domain Khi có yêu cầu truy vấn về một tên miền, root name server cung cấp tên và địa chỉ IP của nameserver quản lý top-level domain Thực tế, hầu hết các root server cũng là máy chủ quản lý top-level domain, và từ đó, các nameserver của top-level domain sẽ cung cấp danh sách các nameserver có quyền trên các second-level domain Quá trình này tiếp tục cho đến khi tìm được máy chủ quản lý tên miền cần truy vấn Điều này cho thấy tầm quan trọng của root name server trong việc phân giải tên miền; nếu không có sự liên lạc giữa các root name server trên Internet, mọi yêu cầu phân giải sẽ không thể thực hiện được.

Khi client gửi yêu cầu phân giải địa chỉ IP của máy tính girigiri.gbrmpa.gov.au đến name server cục bộ, server này sẽ kiểm tra xem tên miền có thuộc quản lý của mình hay không Nếu có, nó sẽ trả về địa chỉ IP ngay lập tức Nếu không, server cục bộ sẽ truy vấn đến Root Name Server gần nhất Root Name Server sẽ cung cấp địa chỉ IP của Name Server quản lý miền au, và server cục bộ tiếp tục hỏi Name Server này để được chuyển đến máy chủ quản lý miền gov.au Máy chủ quản lý gov.au sẽ chỉ dẫn đến máy chủ quản lý miền gbrmpa.gov.au Cuối cùng, name server cục bộ sẽ truy vấn máy chủ gbrmpa.gov.au và nhận được kết quả Truy vấn có thể diễn ra ở hai dạng khác nhau.

Truy vấn đệ quy (recursive query) yêu cầu nameserver phải cung cấp kết quả tìm kiếm hoặc thông báo lỗi nếu không thể phân giải truy vấn Nameserver không được phép chuyển tiếp truy vấn đến một nameserver khác Tuy nhiên, nó có thể gửi truy vấn đệ quy hoặc tương tác đến nameserver khác và phải tiếp tục thực hiện cho đến khi nhận được kết quả.

Khi nameserver nhận được truy vấn tương tác, nó sẽ cung cấp cho resolver thông tin tốt nhất có sẵn tại thời điểm đó mà không thực hiện thêm bất kỳ truy vấn nào Thông tin này có thể được lấy từ dữ liệu cục bộ, bao gồm cả cache Nếu nameserver không tìm thấy thông tin trong dữ liệu cục bộ, nó sẽ trả về tên miền cùng địa chỉ IP của nameserver gần nhất mà nó biết.

3.2 Phân giải IP thành tên máy tính Ánh xạ địa chỉ IP thành tên máy tính được dùng để diễn dịch các tập tin log cho dễ đọc hơn Nó còn dùng trong một số trường hợp chứng thực trên hệ thống UNIX (kiểm tra các tập tin rhost hay host.equiv) Trong không gian tên miền đã nói ở trên dữ liệu – bao gồm cả địa chỉ IP –được lập chỉmục theo tên miền Do đó với một tên miền đã cho việc tìm ra địa chỉ IP khá dễ dàng. Để có thể phân giải tên máy tính của một địa chỉ IP, trong không gian tên miền người ta bổ sung thêm một nhánh tên miền mà được lập chỉ mục theo địa chỉ IP Phần không gian này có tên miền là in-addr.arpa

Mỗi nút trong miền in-addr.arpa có một tên nhãn là chỉ số thập phân của địa chỉ

IP Ví dụ miền in-addr.arpa có thể có 256 subdomain, tương ứng với 256 giá trị từ 0 đến

Địa chỉ IP bao gồm 255 giá trị cho byte đầu tiên, với mỗi subdomain có 256 subdomain con tương ứng với byte thứ hai Quy trình này tiếp tục cho đến byte thứ tư, nơi chứa các bản ghi xác định tên miền đầy đủ của các máy tính hoặc mạng liên quan đến địa chỉ IP cụ thể.

Khi đọc tên miền, địa chỉ IP sẽ xuất hiện theo thứ tự ngược Chẳng hạn, nếu địa chỉ IP của máy winnie.corp.hp.com là 15.16.192.152, thì khi ánh xạ vào miền in-addr.arpa, nó sẽ trở thành 152.192.16.15.in-addr.arpa.

So sánh Domain Name – Zone

Một miền bao gồm nhiều miền con (subdomain), ví dụ như miền ca với các miền con ab.ca, on.ca, qc.ca Các miền con có thể được ủy quyền cho các DNS Server khác quản lý Các miền và miền con mà DNS Server quản lý được gọi là zone Do đó, một zone có thể chứa một miền hoặc nhiều miền con khác nhau.

Phân loại Domain Name Server

Có nhiều loại Domain Name Server (DNS) trên Internet, và sự phân loại của chúng phụ thuộc vào nhiệm vụ mà mỗi loại đảm nhận Dưới đây là mô tả chi tiết về các loại Domain Name Server.

Mỗi miền cần có một Primary Name Server, được đăng ký trên Internet để quản lý miền Tên máy tính và địa chỉ IP của server này được biết đến rộng rãi trên Internet Quản trị viên DNS sẽ tổ chức các tập tin cơ sở dữ liệu trên Primary Name Server, có nhiệm vụ phân giải tất cả các máy trong miền hoặc zone.

Mỗi miền có một Primary Name Server để quản lý cơ sở dữ liệu, và nếu server này ngừng hoạt động, việc phân giải tên máy tính thành địa chỉ IP sẽ bị gián đoạn, ảnh hưởng lớn đến tổ chức có nhu cầu trao đổi thông tin cao Để khắc phục vấn đề này, các nhà thiết kế đã phát triển Secondary (hay Slave) Name Server, có nhiệm vụ sao lưu dữ liệu từ Primary Name Server Khi Primary Name Server gặp sự cố, Secondary sẽ đảm nhận việc phân giải tên máy tính, đảm bảo hoạt động liên tục Trong một miền, có thể có một hoặc nhiều Secondary Name Server, và chúng sẽ sao chép, cập nhật cơ sở dữ liệu từ Primary theo chu kỳ.

Caching Name Server có nhiệm vụ phân giải tên máy trên các mạng xa thông qua các Name Server khác Nó lưu trữ những tên máy đã được phân giải trước đó và tái sử dụng thông tin này để cải thiện hiệu suất và giảm thời gian truy cập.

- Làm tăng tốc độ phân giải bằng cách sử dụng cache

- Giảm bớt gánh nặng phân giải tên máy cho các Name Server.

- Giảm việc lưu thông trên những mạng lớn.

 Primary DNS server (Máy chủ DNS chính): o Operating system : Ubuntu 16.04 LTS 64 bit server o Hostname : dns1.datcdn.local o IP address : 192.168.1.101/24 (ip dong)

 Secondary DNS server (Máy chủ DNS dự phòng): o Operating system : Ubuntu 16.04 LTS 64 bit server o Hostname : dns2.datcdn.local o IP address : 192.168.1.102/24

 DNS Client (Máy trạm của nhân viên): o Operating system : Windows XP o Hostname : datcdn-xpclient o IP address : 192.168.1.103/24

Bước 1: Ta cài đặt BIND và các gói cần thiết bằng lệnh: sudo apt-get install bind9 bind9utils bind9-doc

Bước 2: Ta chỉnh sửa file /etc/bind/named.conf.options bằng lệnh: sudoedit /etc/bind/named.conf.options

Bước 3: Tìm đoạn có thông số forwarders sửa nội dung lại như sau: forwarders {

Bước 4: Bấm Ctrl + X Sau đó bấm Y rồi enter để lưu lại Tiếp theo khởi động lại Bind9 bằng lệnh: sudo systemctl restart bind9

Xác định Forward zone và Reverse zone.

Bước 5: Chỉnh thông số Forward zone và Reverse zone bằng cách sử file /etc/bind/named.conf.local: sudoedit /etc/bind/named.conf.local

Bước 6: Thêm nội dung dưới đây vào: zone "datcdn.local" { type master; file "/etc/bind/for.datcdn.local"; allow-transfer { 192.168.32.128; }; also-notify { 192.168.32.129; };

}; zone "32.168.192.in-addr.arpa" { type master; file "/etc/bind/rev.datcdn.local"; allow-transfer { 192.168.32.128; }; also-notify { 192.168.32.129; };

Bước 7: Tạo Forward zone file bằng lệnh: sudoedit /etc/bind/for.datcdn.local

Bước 8: Thêm nội dung bên dưới và lưu lại:

@ IN SOA dns1.datcdn.local root.datcdn.local (

@ IN NS dns1.datcdn.local

@ IN NS dns2.datcdn.local

@ IN A 192.168.1.103 dns1 IN A 192.168.1.101 dns2 IN A 192.168.1.102 datcdn-xpclient IN A 192.168.1.103

Bước 9: Tạo Reverse zone file bằng lệnh: sudoedit /etc/bind/rev.datcdn.local

Bước 10: Thêm nội dung bên dưới rồi lưu lại: (hoac cp for to rev)

@ IN SOA dns1.datcdn.local root.datcdn.local (

@ IN NS dns1.datcdn.local

@ IN NS dns2.datcdn.local

@ IN PTR datcdn.local dns1 IN A 192.168.1.101 dns2 IN A 192.168.1.102 datcdn-xpclient IN A 192.168.1.103

101 IN PTR dns1.datcdn.local

102 IN PTR dns2.datcdn.local

103 IN PTR datcdn-xpclient.datcdn.local

Bước 11: Phân quyền cho thư mục/etc/bind: sudo chmod -R 755 /etc/bind sudo chown -R bind:bind /etc/bind

Bước 12: Để kiểm tra tính chính xác của các file cấu hình, bạn hãy sử dụng lệnh sau Nếu không có thông báo lỗi nào xuất hiện, nghĩa là mọi thứ đều ổn Sử dụng lệnh: `sudo named-checkconf /etc/bind/named.conf` và `sudo named-checkconf /etc/bind/named.conf.local`.

Bước 13: Kiểm tra các zone file config đúng chưa: sudo named-checkzone datcdn.local /etc/bind/for.datcdn.local zone datcdn.local/IN: loaded serial 2011071001

OK sudo named-checkzone datcdn.local /etc/bind/rev.datcdn.local zone datcdn.local/IN: loaded serial 2011071002

Bước 14: Khởi động lại Bind sudo systemctl restart bind9

Bước 15: Chỉnh sửa file /etc/netplan/ yaml và thêm option dns-nameservers: sudoedit /etc/netplan/50-cloud-init.yaml

Sau đó lưu file và chạy lệnh sau để lưu cấu hình mới sudo netplan apply

Bây giờ hệ thống đã được cấu hình theo IP mới, để kiểm tra các bạn chạy 1 trong 2 lệnh sau: sudo ifconfig nslookup ip| name

6.3.Cài đặt và cấu hình trên Secondary DNS server

Bước 1: Ta cài đặt BIND và các gói cần thiết bằng lệnh: sudo apt-get install bind9 bind9utils bind9-doc

Xác định Forward zone và Reverse zone file.

Bước 2: Chỉnh sửa file /etc/bind/named.conf.local sudoedit /etc/bind/named.conf.local

Bước 3: Thêm nội dung dưới đây và lưu lại: zone "datcdn.local" { type slave; file "/var/cache/bind/for.datcdn.local"; masters { 192.168.1.101; };

}; zone "1.168.192.in-addr.arpa" { type slave; file "/var/cache/bind/rev.datcdn.local"; masters { 192.168.1.101; };

Note: The address 192.168.1.101 refers to the Primary DNS server, and the zone file path must be /var/cache/bind/ because the AppArmor firewall only allows write permissions in that location.

Bước 4: Phân quyền cho thư mục/etc/bind: sudo chmod -R 755 /etc/bind sudo chown -R bind:bind /etc/bind

Bước 5: Chỉnh sửa file /etc/network/interfaces và thêm option dns-nameservers: sudoedit /etc/network/interfaces dns-nameservers 192.168.1.101 dns-nameservers 192.168.1.102

Bước 6: Khởi động lại máy chủ Secondary DNSđể các thiết lập có hiệu lực: sudo reboot

Hướng dẫn đặt DNS cho máy Client và test.

Những trọng tâm cần chú ý trong bài

- Cơ chế hoạt động của dịch vụ DNS, cách cấu hình dịch vụ DNS trên máy chủ Linux

Bài mở rộng và nâng cao

1.Cài đặt và cấu hình DNS trên Ubuntu 18 và ubuntu 20

2 Dùng FTP để phối hợp với Samba

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: Nắm được cơ chế hoạt động của dịch vụ DNS, cách cấu hình dịch vụ DNS trên máy chủ Linux.

+ Về kỹ năng: cấu hình dịch vụ DNS trên máy chủ Linux, cài đặt các gói phần mềm cần thiết, đúng yêu cầu

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. Phương pháp:

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và phỏng vấn Đồng thời, kỹ năng thực hành cũng được xem xét, đặc biệt là khả năng cấu hình dịch vụ DNS trên máy chủ Linux theo đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

Dịch vụ DHCP

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ị có thể tiết kiệm thời gian và chi phí bằng cách không cần chỉ định địa chỉ IP cho từng máy tính trong mạng, đồng thời cũng không cần cung cấp thông tin cho từng thiết bị.

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

To install DHCP, use the command: #rpm –ivh dhcpd.*.rpm After installation, create and edit the configuration file located at /etc/dhcpd.conf The essential configuration settings in dhcpd.conf include 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"; and 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ữngthô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:

 Primary DNS server (Máy chủ DNS chính): o Operating system : Ubuntu 16.04 LTS 64 bit server o Hostname : dns1.datcdn.local o IP address : 192.168.1.101/24

 Secondary DNS server (Máy chủ DNS dự phòng): o Operating system : Ubuntu 16.04 LTS 64 bit server o Hostname : dns2.datcdn.local o IP address : 192.168.1.102/24

 DNS Client (Máy trạm của nhân viên): o Operating system : Windows XP o Hostname : datcdn-xpclient o IP address : 192.168.1.103/24

Sử dụng lại các máy ảo trong bài lab cấu hình DNS và sẽ cài DHCP server trên máy Primary DNS DHCP server sẽ cấp địa chỉ

IPtừ192.168.1.105đến192.168.1.110cho các máy trạm và tự động cập nhật thông tin cho DNS server luôn (Chức năng DDNS)

Cài đặt DHCP Server bằng lệnh: sudo apt-get install isc-dhcp-server

Cấu hình lại DNS serverđể làm việc với DHCP server

Bước đầu tiên là thao tác với file rndc.key, file này được tạo ra khi cài đặt DNS server và có vai trò xác thực cho việc cập nhật thông tin từ DHCP server đến DNS server Để thực hiện, cần sao chép file rndc.key từ thư mục /etc/bind vào thư mục /etc/dhcp/ddns-keys Sau khi sao chép, cần thay đổi quyền sở hữu cho file này về root và thiết lập quyền truy cập là 640 Các lệnh thực hiện bao gồm: `ls /etc/bind`, `sudo cp /etc/bind/rndc.key /etc/dhcp/ddns-keys`, `sudo chown root:root /etc/dhcp/ddns-keys/rndc.key`, và `sudo chmod 640 /etc/dhcp/ddns-keys/rndc.key`.

To create a new rndc.key file, use the command: sudo /usr/sbin/rndc-confgen -a -b 512, where the -b 512 option specifies 512-bit encryption If you generate a new rndc.key file, ensure that you copy it correctly to maintain consistency.

File rndc.key của chúng ta có nội dung như sau: datcdn@dns1:~$ sudo cat /etc/bind/rndc.key key "rndc-key" { algorithm hmac-md5; secret "Q0CfxacLzP1DbQHcRg2AQA==";

Bước 2: Chỉnh sửa file /etc/bind/named.conf.options Bằng lệnh sudoedit /etc/bind/named.conf.options và chỉnh nội dung file như bên dưới

Thêm 1 số option các bạn so sánh và sửa đổi nhé. acl internals {

}; options { directory "/var/cache/bind";

// If there is a firewall between you and nameservers you want

// to talk to, you may need to fix the firewall to allow multiple

// ports to talk See http://www.kb.cert.org/vuls/id/800113

// If your ISP provided one or more IP addresses for stable

// nameservers, you probably want to use them as forwarders

// Uncomment the following block, and insert the addresses replacing

}; recursion yes; allow-recursion { internals;

//============================================================= // If BIND logs error messages about the root key being expired,

// you will need to update your keys See https://www.isc.org/bind-keys

// dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { none; };

Bước 3: Sửa file /etc/bind/named.conf.local

Sudoedit /etc/bind/named.conf.local

In this article, we highlight the importance of including the file `rndc.key` for the `allow-update` option Additionally, it is necessary to move the zone files from the `/etc/bind` directory to the `/var/lib/bind` directory due to AppArmor Firewall restrictions that prevent automatic writing to the `/etc` directory.

// Do any local configuration here

// Consider adding the 1918 zones here, if they are not used in your

To configure the DNS server for the "datcdn.local" zone, include the necessary files for RFC 1918 zones and RNDC key Designate the zone as a master type, specifying the file path for zone data Allow zone transfers and notifications to the IP address 192.168.1.102, while permitting updates through the RNDC key for secure management.

}; zone "1.168.192.in-addr.arpa" { type master; file "/var/lib/bind/rev.datcdn.local"; allow-transfer { 192.168.1.102; }; also-notify { 192.168.1.102; }; allow-update { key rndc-key; };

Bước 4: Copy zone file từ thư mục /etc/bind đến thư mục /var/lib/bind Bằng lệnh: sudo cp /etc/bind/*.datcdn.local /var/lib/bind/

Bạn sẽ copy được 2 zone file là for.datcdn.local và rev.datcdn.local mà chúng ta đã làm

Bước 5: Phân quyền cho zone file. sudo chown bind:bind /var/lib/bind/*.datcdn.local sudo chmod 664 /var/lib/bind/*.datcdn.local

Bước 6: Tắt IPv6 bằng cách sửa file sudoedit /etc/default/bind9 Thêm cái -

# startup options for the server

Step 7: Verify that all DNS settings are correct by using the following commands: `sudo named-checkconf`, `sudo named-checkzone datcdn.local /var/lib/bind/for.datcdn.local`, and `sudo named-checkzone datcdn.local /var/lib/bind/rev.datcdn.local`.

Bước 8: Nếu không xảy ra lỗi gì thì chúng ta restart dịch vụ bind9 sudo systemctl restart bind9

Bước 9: Chỉnh sửa file /etc/dhcp/dhcpd.conf Thêm nội dung sau: sudoedit /etc/dhcp/dhcpd.conf nội dung: ddns-updates on; ddns-update-style standard; authoritative;

The configuration file for DHCP includes the rndc.key file created for BIND9, allows unknown clients, and enables host declaration names It sets both the default and maximum lease time to 86400 seconds (24 hours) and specifies the log facility as local7.

# datcdn.local DNS zones zone datcdn.local { primary 192.168.1.101; # This server is the primary DNS server for the zone key rndc-key;

} zone 1.168.192.in-addr.arpa { primary 192.168.1.101; # This server is the primary reverse DNS for the zone key rndc-key;

The local area network (LAN) for datcdn.local is configured with the subnet 192.168.1.0 and a netmask of 255.255.255.0 This setup includes a DHCP range from 192.168.1.105 to 192.168.1.110, with a subnet mask of 255.255.255.0 The default router is set to 192.168.1.1, and the DNS servers are specified as 192.168.1.101 and 192.168.1.102 The domain name for this network is "datcdn.local," and it is also associated with the dynamic DNS domain names "datcdn.local." for forward lookups and "in-addr.arpa." for reverse lookups.

## To PXE Boot from another server ##

# Static hosts give an IP addr by MAC address

Bước 11: Mở máy XP client lên test xem có xin được IP không

Những trọng tâm cần chú ý trong bài

- Cơ chế hoạt động của dịch vụ DHCP, cách cấu hình dịch vụ DHCP trên máy chủ Linux

Bài mở rộng và nâng cao

1.Cài đặt và cấu hình DHCP trên Ubuntu 18 và ubuntu 20

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: Nắm được cơ chế hoạt động của dịch vụ DHCP, cách cấu hình dịch vụ DHCP trên máy chủ Linux.

+ Về kỹ năng: cấu hình dịch vụ DHCP trên máy chủ Linux, cài đặt các gói phần mềm cần thiết, đúng yêu cầu

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. Phương pháp:

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Kỹ năng thực hành cấu hình dịch vụ DHCP trên máy chủ Linux cũng sẽ được đánh giá để đảm bảo đáp ứng đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

DỊCH VỤ WEB SERVER

Web server

HTTP là giao thức thiết yếu cho phép giao tiếp giữa trình duyệt web và máy chủ, chuẩn hóa các thao tác cơ bản mà máy chủ web cần thực hiện.

HTTP là một giao thức đơn giản, tương tự như các giao thức chuẩn khác trên Internet, trong đó thông tin điều khiển được truyền dưới dạng văn bản thô qua kết nối TCP.

Do đó, kết nốiHTTP có thể thay thế bằng cách dùng lệnh "telnet" chuẩn

Cổng 80 là cổng mặc định cho Web server để lắng nghe các kết nối Khi thực hiện lệnh HTTP GET với telnet đến www.extropia, Web server sẽ trả về trang "index.html" cho client qua phiên làm việc này và sau đó đóng kết nối Thông tin được trả về dưới dạng mã HTML.

The protocol executes only two simple operations: request and response One of the significant changes in HTTP/1.1 is its support for persistent connections, allowing for longer-lasting interactions.

Trong HTTP/1.0, mỗi đối tượng cần tải về từ server yêu cầu thiết lập một kết nối riêng, dẫn đến việc tiêu tốn tài nguyên, đặc biệt khi nhiều trang web chứa nhiều hình ảnh Việc tạo kết nối cho từng hình ảnh là lãng phí, vì nó làm tăng số lượng gói thông tin giữa trình duyệt và server trước khi dữ liệu được truyền Thay vào đó, việc mở một kết nối TCP để truyền tải tài liệu HTML, sau đó truyền các hình ảnh theo thứ tự sẽ hiệu quả hơn, giúp giảm thiểu số lần thiết lập kết nối TCP.

1.2 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ụnggiao 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).

Trường Cao Đẳng Nghề ĐN

Ngày nay, Web Server đã phát triển để xử lý nhiều thông tin phức tạp hơn giữa Web Server và Web Browser, đặc biệt là nội dung động Phiên bản đầu tiên của Web Server hoạt động theo mô hình đơn giản hơn, nhưng hiện tại đã có sự cải tiến đáng kể trong khả năng cung cấp và quản lý dữ liệu.

- 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 là một yếu tố quan trọng cho các website đơn giản Tuy nhiên, khi có nhiều người truy cập hoặc khi có quá nhiều trang web động, server có thể gặp phải vấn đề do thời gian tính toán kết quả tăng lên.

Nếu một chương trình CGI mất 30 giây để tạo ra nội dung, trong thời gian đó, web server có thể không phục vụ các trang khác Mặc dù mô hình này hoạt động, nhưng cần thiết kế lại để phục vụ nhiều người cùng lúc Web server thường tận dụng ưu điểm của hai phương pháp: đa tiểu trình (multi-threading) và đa tiến trình (multi-processing), hoặc kết hợp giữa hai phương pháp này để giải quyết vấn đề.

Web client là các trình duyệt web như Internet Explorer và Netscape Communicator, giúp hiển thị thông tin trang web cho người dùng Chúng gửi yêu cầu đến Web Server và chờ đợi phản hồi để hiển thị kết quả Tất cả yêu cầu đều được xử lý bởi Web Server.

Web động là các trang web được thiết kế để phản hồi trực tiếp hoặc gián tiếp với dữ liệu mà người dùng nhập vào.

Cách cổ điển và phổ biến nhất để tạo nội dung động là sử dụng Common Gateway Interface (CGI) CGI định nghĩa quy trình mà máy chủ web thực thi một chương trình cục bộ, nhận kết quả và gửi lại cho trình duyệt web của người dùng đã gửi yêu cầu.

Trình duyệt web không nhận thức được rằng nội dung thông tin là động, vì CGI thực chất là một giao thức mở rộng của máy chủ web Hình ảnh dưới đây minh họa cách trình duyệt web gửi yêu cầu đến một trang web động được tạo ra 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.

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 Web Server

- Hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1;

- Có thể cấu hình và mở rộng với những module của công ty thứ ba;

- Cung cấp source code đầy đủ với license không hạn chế;

- Chạy trên nhiều hệ điều hành như Windows NT/9x, Netware 5.x, OS/2 và trên hầu hết các hệđiều hành Unix.

Ta chỉ cần cài đặt package httpd-2.0.40-21.i386.rpm (trên Fedora) trong hệ điều hành Linux

Vị trí cài đặt Apache trong môi trường Linux là /etc/httpd.Trong thư mục này lưu giữ những tập tin cấu hình của Apache.

2.3 Tạm dừng và khởi động lại Apache Để tạm dừng hay khởi động lại apache dùng script sau:

#/etc/init.d/httpd start/stop/restart

3.4 Sự chứng thực, cấp phép, điều khiển việc truy cập

Khi nhận yêu cầu truy cập tài nguyên, web server sẽ xử lý để trả kết quả cho client thông qua các bước như chứng thực, cấp phép và điều khiển truy cập Apache cung cấp nhiều phương thức xử lý khác nhau nhằm đảm bảo an toàn và hiệu quả trong việc quản lý truy cập tài nguyên.

3.4.1 Basic Authentication Đối với những thông tin cần bảo mật, khi có yêu cầu truy xuất thông tin này, Web Server phải chứng thực những yêu cầu này có hợp lệ hay không Thông thường, thông tin chứng thựcbao gồm username và password

+ Nếu một tài nguyên được bảo vệ với sự chứng thực Apache sẽ gửi một yêu cầu

Thông báo "401 Authentication" yêu cầu người dùng nhập username và password Khi nhận yêu cầu này, client sẽ gửi lại thông tin cho server Server sẽ kiểm tra tính hợp lệ của username và password Nếu thông tin đúng, server sẽ cung cấp dữ liệu yêu cầu; nếu không, sẽ xuất hiện thông báo lỗi.

+ Vì giao thức HTTP là một tiêu chuẩn không của riêng ai và cũng không thuộc mộtquốc gia nào, nên mỗi yêu cầu đều được xem như nhau

Username và password chỉ có hiệu lực trong phiên giao dịch hiện tại giữa trình duyệt và máy chủ Khi truy cập lại website, người dùng cần nhập lại username và password.

Khi nhận được phản hồi 401, toàn bộ thông tin sẽ được trả lại cho client Trong một số trường hợp đặc biệt, server sẽ cấp cho client một thẻ chứng thực để bảo vệ website, được gọi là realm hoặc tên chứng thực Trình duyệt sẽ lưu lại tên người dùng và mật khẩu đã cung cấp cùng với realm, giúp người dùng không cần nhập lại thông tin khi truy cập các tài nguyên khác có cùng realm Thông thường, việc lưu trữ này chỉ có hiệu lực trong phiên giao dịch hiện tại của trình duyệt, nhưng một số trình duyệt cho phép lưu trữ cố định để không cần nhập lại tên người dùng và mật khẩu.

Các bước cấu hình chứng thực:

+ Bước 1: tạo tập tin password, cấp quyền truy xuất cho tập tin mật khẩu dùng lệnh chmod 755

+ Bước 3: tạo tập tin group (nếu muốn chứng thực cho nhóm)

Bước 1 : Tạo tập tin password dùng lệnh htpasswd Cách sử dụng lệnh htppaswd theo cú pháp như sau:

#htpasswd -c

# htpasswd -c /etc/httpd/conf/passwords rbowen htpasswd sẽ yêu cầu nhập password, sau đó xác thựclần nữa.

New password: mypassword Re-type new password: mypassword

Tùy chọn -c sẽ tạo một tập tin password mới, xóa nội dung cũ nếu tập tin đã tồn tại và ghi nội dung mới vào đó Khi thêm người dùng mới, không cần sử dụng tùy chọn -c vì tập tin password đã có sẵn.

+ : thông thường nó tạo tại thư mục gốc của apache

Bước 2 : Cấu hình sự chứng thực trên Apache:

EnablePut On AuthType Basic AuthName Temporary AuthUserFile /etc/httpd/conf/passwd EnableDelete Off umask 007

require user rbowen sungo

+ AuthType: khai báo loại authentication sẽ sử dụng Trong trường hợp này là Basic

+ AuthName: đặt tên cho sự chứng thực

+ AuthUserFile: vị trí của tập tin password

+ AuthGroupFile: vị trí của tập tin group

+ Require: những yêu cầu hợp lệ được cho phép truy cập tài nguyên

Bước 3: Tạo tập tin group giúp quản trị viên dễ dàng quản lý sự chứng thực Apache hỗ trợ tính năng nhóm người dùng, cho phép quản trị viên tạo nhóm người dùng có quyền truy cập tài nguyên, cũng như thêm hoặc xóa thành viên mà không cần chỉnh sửa tập tin cấu hình apache và khởi động lại server Định dạng của tập tin group rất quan trọng trong quá trình này.

: user1 user2 user3 … user n

Ví dụ: authors: rich daniel allan Sau khi tạo tập tin nhóm, cần phải cấu hình để apache để chỉ ra tập tin nhóm này bằng những directive sau:

AuthName "Apache Admin Guide Authors"

AuthUserFile /etc/httpd/conf/passwords

AuthGroupFile /etc/httpd/conf/groups

Digest authentication là một phương pháp bảo vệ nội dung web an toàn, được hỗ trợ bởi module mod_auth_digest Phương pháp này đảm bảo rằng tên người dùng và mật khẩu không được gửi dưới dạng plain text mà được mã hóa bằng thuật toán MD5.

Cấu hình: Tương tự như sự chứng thực cơ bản, cấu hình này cũng gồm 2 hoặc 3 bước sau:

- Bước 1: Tạo file mật khẩu.

- Bước 2: Cấu hình /etc/httpd/conf/httpd.conf để sử dụng file mật khẩu ở bước 1

Bước 1 : Tạo tập tin password dùng lệnh htdigest –c realm

Bước 2 : Cấu hình /etc/httpd/conf/httpd.conf để sử dụng file mậtkhẩu

AuthDigestFile /usr/local/apache/passwd/digest

AuthDigestGroupFile /usr/local/apache/passwd/digest.groups

Bước 3: Tạo tập tin nhóm chỉ thực hiện khi cần chứng thực cho nhóm Cấu trúc của tập tin nhóm tương tự như tập tin nhóm của xác thực cơ bản, với các quản trị viên là joy, danne và sue.

Apache không chỉ bảo mật nội dung website bằng chứng thực (username và password) mà còn giới hạn quyền truy cập của người dùng thông qua Access Control Bằng cách sử dụng directive Allow/Deny, Apache cho phép hoặc cấm truy cập tài nguyên dựa trên tên máy tính hoặc địa chỉ IP.

Cú pháp khai báo Allow/Deny như sau

+ Allow: cho phép các host/network/domain truy xuất vào Web server.

+ Deny: cấm các host/network/domain truy xuất vào Web server

+ address: địa chỉ IP/địa chỉ đường mạng hay tên máy tính, tên miền.

Deny from 11.22.33.44 Deny from host.example.com Deny from 192.101.205 Deny from exampleone.com example

Sử dụng Order để kết hợp giữa Allow và Deny giúp quản lý quyền truy cập hiệu quả Nếu thứ tự là Deny, Allow, thì các yêu cầu sẽ được kiểm tra theo Deny trước; chỉ những client không bị từ chối hoặc phù hợp với Allow mới được phép truy cập Ngược lại, nếu thứ tự là Allow, Deny, thì Allow sẽ được kiểm tra trước; bất kỳ client nào không thỏa mãn điều kiện Allow hoặc bị từ chối theo điều kiện Deny sẽ không được phép truy cập vào server.

Ví dụ về một điều khiển truy cập ít giới hạn nhất.

Options Indexes FollowSymLinks MultiViews AllowOverride All

Order allow,deny Allow from all

Directive Satisfy được sử dụng để chỉ ra các tiêu chuẩn bảo mật nội dung website cần xem xét Satisfy có hai giá trị là "all" và "any" Mặc định, Satisfy nhận giá trị "all", nghĩa là tất cả các tiêu chuẩn phải được thoả mãn để người dùng có thể truy cập tài nguyên Ngược lại, giá trị "any" cho phép người dùng truy cập tài nguyên nếu ít nhất một trong các tiêu chuẩn được thỏa mãn.

Một ứng dụng quan trọng của việc sử dụng kiểm soát truy cập là giới hạn quyền truy cập của người dùng bên ngoài mạng Để truy cập vào các tài nguyên, họ cần phải cung cấp tên đăng nhập và mật khẩu, trong khi đó, các máy tính trong mạng nội bộ không yêu cầu điều này.

AuthType Basic AuthName intranet AuthUserFile /etc/httpd/conf/users AuthGroupFile /etc/httpd/conf/groups Require group customers

Allow from internal.com Satisfy any

3.6 Khảo sát log file trên apache

Apache có nhiều tập tin log khác nhau nhằm ghi lại những hoạt động của Web Server Sau đây mô tả tính năng của từng tập tin

Tập tin error_log là một trong những tập tin log quan trọng nhất, được xác định bởi chỉ thị ErrorLog Đây là nơi httpd ghi lại các thông tin nhận dạng và lỗi xảy ra trong quá trình xử lý yêu cầu Khi gặp sự cố khởi động httpd hoặc vấn đề với server, error_log là tập tin đầu tiên cần kiểm tra, vì nó chứa thông tin chi tiết về lỗi và cách khắc phục Định dạng của tập tin error_log không bị giới hạn.

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration:

/export/home/live/ap/htdocs/test

Cột đầu tiên trong bảng ghi lại ngày giờ tạo entry, trong khi cột thứ hai xác định đây là một entry lỗi Cột thứ ba cung cấp địa chỉ IP của client gây ra lỗi Tiếp theo, thông điệp chỉ ra rằng server đã được cấu hình để từ chối truy cập của client, kèm theo đường dẫn của tài liệu mà client muốn truy cập Trong quá trình kiểm tra, người dùng có thể theo dõi liên tục error_log bằng cách sử dụng dòng lệnh phù hợp.

#tail –f /var/log/httpd/error_log

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 bao gồm nhiều chỉ dẫn khác nhau, với mỗi dòng hoặc đoạn đại diện cho một directive phục vụ cho một cấu hình cụ thể Một số directive có thể ảnh hưởng lẫn nhau, trong khi các dòng bắt đầu bằng dấu # được sử dụng để chú thích.

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 là rất quan trọng, vì nó được sử dụng để tạo ra các URL chuyển tiếp (redirection URL) Nếu không chỉ định rõ ràng, server sẽ cố gắng suy luận tên máy từ địa chỉ IP của nó, nhưng điều này có thể dẫn đến kết quả không chính xác hoặc không tin cậy Cú pháp khai báo hostname cần được thực hiện đúng cách để đảm bảo hoạt động hiệu quả.

ServerName www.soft.com ServerAdmin: Địa chỉ Email của người quản trị hệ thống

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

3.2 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.

DocumentRoot

Một yêu cầu http://www.soft.com sẽđược đưa vào trang web /usr/web/index.html

ServerRoot: Vị trí cài đặt web server.

ServerRoot

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

ErrorLog

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.

DirectoryIndex

DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi

MaxClients: Qui định số yêu cầu tối đa từ các client có thể gởi đồng thời đến server

Listen: Qui định địa chỉ IP hoặc Cổng mà Apache nhận kết nối từ Client

BindAddress: Qui định địa chỉ card mạng để chạy Apache trên Server.

Sử dụng dấu “*” để có thể sử dụng tất cả các địa chỉ có trên máy.

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).

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ốivới Web Server

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).

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).

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.

Alias

To restrict user access to the documentation directory, you can use the Alias directive to link /doc to /usr/share/doc, allowing users to access it via http://www.soft.com/doc Additionally, combining this with the Directory directive enhances access control.

AuthType Basic AuthName intranet AuthUserFile /etc/httpd/passwd Require userhally tom

Cho phép người dùng tạo Home page của user trên WebServer

#UserDir disable UserDir www; thư mục Web của user

Trong thư mục Home Directory của người dùng, bạn cần tạo một thư mục có tên là www, ví dụ: /home/nva/www Sau khi tạo thư mục này, bạn có thể truy cập nó từ Web Browser bằng cú pháp: http://www.soft.com/~.

Ví dụ: http://www.soft.com/~nva

Khi người dùng cố gắng truy cập thư mục cá nhân và nhận thông báo lỗi “Forbidden”, điều này thường liên quan đến việc quyền truy cập vào thư mục chính của họ bị hạn chế Để khắc phục vấn đề này, người dùng có thể điều chỉnh quyền truy cập bằng cách sử dụng các lệnh sau: chown jack /home/jack /home/jack/www và chmod 750 /home/jack /home/jack/www.

Apache cung cấp tính năng cho phép duy trì nhiều web server trên một máy tính thông qua hai phương pháp: named-based virtual hosting, nơi nhiều tên miền chia sẻ một địa chỉ IP, và IP-based virtual hosting, sử dụng các địa chỉ IP khác nhau cho từng tên miền.

VirtualHost dựa trên IP yêu cầu mỗi virtualhost phải có một địa chỉ IP riêng biệt, đòi hỏi máy chủ phải có nhiều địa chỉ IP Để thực hiện điều này, máy tính cần có nhiều interface hoặc sử dụng cơ chế virtualinterface được hỗ trợ bởi các hệ điều hành hiện đại Ví dụ, nếu máy chủ có địa chỉ IP 97.158.253.26, chúng ta có thể cấu hình thêm một địa chỉ IP khác trên cùng một card mạng bằng lệnh: 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

Virtual Host dựa trên địa chỉ IP xác định Virtual Host nào cần truy cập, yêu cầu mỗi Virtual Host có một địa chỉ IP riêng Ngược lại, Named-based Virtual Host sử dụng HTTP header của client để nhận diện hostname, cho phép một địa chỉ IP phục vụ nhiều tên máy khác nhau Phương pháp này đơn giản, chỉ cần cấu hình DNS để phân giải các tên máy về đúng địa chỉ IP và cấu hình Apache để quản lý các web server cho các miền khác nhau.

Cấu hình: Tham khảo đoạn cấu hình VirtualHost cho www.hcm.vn và www.tatavietnam.hcm.vn, www.ntc.hcm.vn sử dụng chung một IP 172.29.14.150

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot /tmp RewriteEngine on RewriteLogLevel 0 ServerName dummy-host.example.com ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common

#Virtualhost cho WebServer chính

ServerAdmin webmaster@dummy-host.example.com RewriteEngine on

RewriteLogLevel 0 DocumentRoot /var/www/html ServerName www.hcm.vn ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common

#virtualhost cho host Web Server tatavietnam

ServerAdmin webmaster@dummy-host.example.com DocumentRoot /webdata

RewriteEngine on RewriteLogLevel 0 ServerName www.tatavietnam.hcm.vn ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common

#virtualhost cho host Web Server ntc

ServerAdmin webmaster@dummy-host.example.com DocumentRoot /ntc

RewriteEngine on RewriteLogLevel 0 ServerName www.ntc.hcm.vn ErrorLog logs/dummy-host.example.com-error_log

CustomLog logs/dummy-host.example.com-access_log common

1 Samba là gì? Cho biết các thành phần cùng chức năng mỗi thành phần.

2 Chức năng của công cụ Samba swat? Trình bày cách cấu hình Samba swat

3 DNS là gì? DNS hoạt động theo mô hình nào?

4 Trình bày cơ chế phân giải tên thành IP Cho ví dụ minh họa.

5 Trình bày cơ chế phân giải IP thành tên máy tính Cho ví dụ minh họa.

6 DHCP là gì? Cho biết các thành phần của DHCP và chức năng của mỗi thành phần.

7 Web Server là gì? Trình bày cách hoạt động của Web Server.

Bài 1 Cấu hình DHCP server:

Cấu hình máy Linux làm máy chủ DHCP cung cấp địa chỉ IP động chocác máy trạm với:

Bài 2 Cấu hình dịch vụ samba:

1 Chia sẻ home directory cho người dùng

2 Chia sẻ thư mục dùng chung

3 Chia sẻ máy in cục bộ cho người dùng

4 Truy cập tài nguyên dùng chung

5 Giới hạn truy cập tài nguyên dùng chung

6 mount tài nguyên dùng chung

Bài 3 Quản trị SAMBA trên giao diện đồ họa: Đăng nhập và mode X và thực hiện các yêu cầu sau:

1 User và group: hocvien (hv1, hv2, hv3) giaovien (gv1, gv2) admin (admin1, admin2)

2 Cấu hình samba trên mode X theo yêu cầu sau:

Chia sẻ home directory cho từng người dùng

Chia sẻ thư mục /softs với tên share tailieu cho người dùng trong nhóm admin có quyền RW, những người khác có quyền R

3 Truy cập tài nguyên share từ mode X

4 Truy cập tài nguyên share từ Windows để kiểm tra

5 Cài đặt Nginx trên Ubuntu

6 Cài đặt Nginx cùng PHP và MySQl trên Ubuntu

Những trọng tâm cần chú ý trong bài

- Trình bày các giao thức giao tiếp giữa trình duyệt web và server, cách thức hoạt động, cài đặt và cấu hình Web server;

Bài mở rộng và nâng cao

Cho hệ thống theo hình vẽ sau:

Cài đặt và cấu hình các dịch vụ hỗ trợ:

1 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua telnet

2 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua ssh

3 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua VNC

4 Cài đặt Fathom trên server Ubuntu

5 Cài Opencart trên server Ubuntu

6 Cài đặt Shopware CE trên VPS Ubuntu

Yêu cầu về đánh giá kết quả học tập

Để tối ưu hóa kiến thức về quản trị hệ thống, bạn cần hiểu cách hoạt động của các dịch vụ Samba, DNS, DHCP và Web Đồng thời, việc nắm vững cách cấu hình các dịch vụ này trên máy chủ Linux là rất quan trọng để đảm bảo hệ thống hoạt động hiệu quả và ổn định.

+ Về kỹ năng: Nắm được cách cấu hình các dịch vụ Samba, DNS, DHCP, Web trên máy chủ Linux

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Kỹ năng được kiểm tra thông qua việc thực hành khai báo và thay đổi cấu hình các dịch vụ như Samba, DNS, DHCP và Web trên máy chủ Linux, cũng như thực hiện các thao tác an toàn với máy tính.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

FIREWALL

Giới thiệu

Thuật ngữ "FireWall" xuất phát từ kỹ thuật xây dựng nhằm ngăn chặn và hạn chế hỏa hoạn Trong lĩnh vực công nghệ mạng, FireWall được tích hợp vào hệ thống mạng để ngăn chặn truy cập trái phép, bảo vệ nguồn thông tin nội bộ và hạn chế xâm nhập từ những thông tin không mong muốn.

Internet Firewall là hệ thống thiết bị, bao gồm cả phần cứng và phần mềm, được triển khai giữa mạng nội bộ của tổ chức, công ty hoặc quốc gia và Internet.

Trong một số trường hợp, Firewall có thể được cấu hình trong cùng một mạng nội bộ để cô lập các miền an toàn Ví dụ, mô hình dưới đây minh họa một mạng Firewall nhằm ngăn cách phòng máy, người sử dụng và Internet Phân loại Firewall rất quan trọng để hiểu rõ cách thức hoạt động và bảo vệ mạng.

Firewall được chia làm 2 loại, gồm Firewall cứng và Firewall mềm:

 Firewall cứng : Là những firewall được tích hợp trên Router

 Đặc điểm của Firewall cứng:

- Không được linh hoạt như Firewall mềm

- Firewall cứng hoạt động ở tầng thấp hơn Firewall mềm (Tầng Network và tầng Transport)

- Firewall cứng không thể kiểm tra được nột dungcủa gói tin.

 Firewall mềm: Là những Firewall được cài đặt trên Server

 Đặc điểm của Firewall mềm:

- Tính linh hoạt cao: Có thể thêm, bớt các quy tắc, các chứcnăng

- Firewall mềm hoạt động ở tầng cao hơn Firewall cứng (tầng ứng dụng)

- Firewal mềm có thể kiểm tra được nội dung của gói tin (thông qua các từ khóa) b Tại sao cần Firewall

Khi máy tính của bạn không được bảo vệ, việc kết nối Internet có thể khiến hacker, trojan và virus dễ dàng truy cập và đánh cắp thông tin cá nhân Chúng có khả năng cài đặt mã độc để tấn công dữ liệu trên máy tính của bạn và thậm chí sử dụng máy tính của bạn để tấn công các thiết bị khác trong mạng Để bảo vệ hệ thống của bạn, một firewall là giải pháp hiệu quả giúp chặn các gói tin độc hại trước khi chúng xâm nhập vào máy tính.

Chức năng chính của Firewall là kiểm soát luồng thông tin giữa Intranet và Internet, thiết lập cơ chế điều khiển thông tin giữa mạng nội bộ và mạng toàn cầu.

- Cho phép hoặc cấm những dịch vụ truy nhập ra ngoài (từ Intranet ra Internet)

- Cho phép hoặc cấm những dịch vụ phép truy nhập vào trong (từ Internet vào Intranet)

- Theo dõi luồng dữ liệu mạng giữa Internet và Intranet

- Kiểm soát địa chỉ truy nhập, cấm địa chỉ truynhập.

- Kiểm soát người sử dụng và việc truy nhập của người sửdụng.

- Kiểm soát nội dung thông tin thông tin lưu chuyển trênmạng.

Trong môi trường Linux, iptables là phần mềm firewall phổ biến và cơ bản nhất, giúp người dùng dễ dàng nắm bắt nguyên lý hoạt động của hệ thống firewall.

Iptables cơ bản bao gồm ba bảng chính: FILTER, MANGLE và NAT, cùng với các chain trong mỗi bảng Nhờ vào các bảng và chain này, người quản trị có thể thiết lập các quy tắc để kiểm soát luồng gói tin vào và ra khỏi hệ thống được bảo vệ bởi iptables, tùy thuộc vào yêu cầu cụ thể của họ.

 Mangle: dùng để chỉnh sửa QOS(qulity of service) bit trong phần TCP Header của gói tin

 Filter: đúng như tên gọi nó dùng để lọc các gói tin gồm các build-in chain

- Forward chain: lọc những gói tin đi qua hệ thống (đi vào một hệ thống khác)

- Input chain: lọc những gói tin đi vào hệ thống

- Output chain: những gói tin đi ra từ hệ thống

 Nat: sửa địa chỉ gói tin gồm các build-in chain

- Pre-routing: sửa địa chỉđích của gói tin trước khi nó được routing bởi bảng routing của hệ thống (destination NAT hay DNAT)

Post-routing là quá trình điều chỉnh địa chỉ nguồn của gói tin sau khi đã được định tuyến bởi hệ thống, thường được gọi là SNAT Mỗi quy tắc bạn tạo ra cần phải liên kết với một chuỗi và bảng cụ thể Nếu không xác định bảng nào, iptables sẽ mặc định sử dụng bảng FILTER.

2.3.Trình tự xử lý gói tin của iptables:

Incoming packets are first examined by the Pre-routing chain to determine if DNAT is necessary before routing occurs If the packet needs to reach another system (protected network), it will be filtered by the FORWARD chain of the FILTER table, and if required, SNAT may be applied by the Post-routing chain before reaching the destination system.

Khi hệ thống đích cần trả lời, gói tin sẽ di chuyển theo thứ tự ngược lại Các chuỗi FORWARD và Post-routing trong bảng mangle chỉ ảnh hưởng đến chất lượng dịch vụ (QoS) của gói tin Nếu gói tin được gửi đến hệ thống chứa iptables, nó sẽ được xử lý bởi các chuỗi INPUT, và nếu không bị lọc, sẽ được chuyển đến một dịch vụ nào đó trên hệ thống Khi hệ thống gửi phản hồi, gói tin sẽ được xử lý bởi các chuỗi OUTPUT và có thể qua các chuỗi Post-routing trong bảng FILTER và MANGLE nếu cần thực hiện SNAT hoặc QoS.

Targets và Jumps trong iptables là những quy tắc kiểm tra các gói IP, nhằm xác định cách xử lý chúng (target) Sau khi xác định, các gói IP sẽ được xử lý theo cách đã được chỉ định.

Trình tự xử lý gói tin của iptabels

 Sau đây là một số build-in targets thường được sửdụng

- ACCEPT: iptables chấp nhận gói tin, đưa nó qua hệ thống mà không tiếp tục kiểm tra nónữa.

- DROP: iptables loại bỏ gói tin, không tiếp tục xử lý nónữa.

- LOG: thông tin của gói tin sẽ được ghi lại bởi syslog hệ thống,

- iptables tiếp tục xử lý gói tin bằng những rules tiếp theo.

- REJECT: chức năng của nó cũng giống như DROP tuy nhiên nó sẽ gửi một error message tới host đã gửi gói tin

- DNAT: dùng để sửa lại địa chỉ đích của gói tin SNAT: dùng để sửa lại địa chỉ nguồn của gói tin

MASQUERADE là một phương pháp để sửa đổi địa chỉ nguồn của gói tin, giúp xây dựng các quy tắc hiệu quả Để tối ưu hóa quá trình này, bạn cần sử dụng các tùy chọn phù hợp nhằm tạo điều kiện so sánh chính xác.

Một server Ubuntu 16 với user không phải root có quyền sudo.

UFW được cài đặt theo mặc định trên Ubuntu (Lệnh cài đặt nó bằng sudo apt install ufw)

Bước 1 - Sử dụng IPv6 với UFW (Tùy chọn)

Để đảm bảo server Ubuntu hỗ trợ IPv6, cần cấu hình UFW cho phép quản lý các luật firewall cho cả IPv4 và IPv6 Mở cấu hình UFW bằng lệnh sudoedit /etc/default/ufw.

Sau đó, đảm bảo giá trị của IPV6 là yes

/ etc / default / ufw đoạn trích IPV6=yes

Khi UFW được bật, hãy chắc chắn lưu và đóng file cấu hình UFW sẽ được thiết lập để áp dụng cả luật firewall cho IPv4 và IPv6 Trước khi kích hoạt UFW, cần đảm bảo rằng firewall đã được cấu hình để cho phép kết nối SSH.

Bước 2 - Cài đặt policy mặc định

Khi cấu hình UFW, điều quan trọng là xác định các luật mặc định, vì chúng kiểm soát cách xử lý lưu lượng truy cập không khớp với bất kỳ luật nào khác Theo mặc định, UFW từ chối tất cả các kết nối đến và cho phép tất cả các kết nối đi, điều này có nghĩa là người dùng không thể truy cập vào server của bạn, trong khi các ứng dụng trên server vẫn có thể kết nối ra bên ngoài Để thiết lập các luật UFW mặc định, bạn có thể sử dụng các lệnh sau: `sudo ufw default deny incoming` và `sudo ufw default allow outgoing`.

QUẢN LÝ MÁY CHỦ LINUX BẰNG WEBMIN

Cài đặt Webmin

Mục tiêu:Trình bày các thao tác cài đặtcông cụ Webmin

2.1 Cài đặt từ file nhị phân

Webmin được cung cấp miễn phí tại Website http://www.webmin.com Ta download package webmin-1.190-1.noarch.rpm sau đó thực hiện lệnh: rpm -ivh webmin-1.190-1.noarch.rpm

2.2 Cài đặt từ file nguồn *.tar.gz

# tar zxvf webmin-0.87.tar.gz [root@delilah webmin-1.050]#./setup.sh

Login name (default admin): root Login password:

The Perl SSLeay library is not installed SSL not available

Start Webmin at boot time (y/n): n

Sau khi cài đặt hoàn tất Webmin ta truy xuất Server theo địa chỉ: http://delilah.swell:10000/

Cấu hình Webmin

Mục tiêu: Trình bày các thao tác đăng nhập, cấu hình và quản trị các đối tượng qua ứng dụng webmin.

Sau khi cài xong Webmin ta có thể dùng Web Browser để truy xuất vào Webmin Server thông qua địa chỉ http://server:10000/

Hình 8.1 Màn hình đăng nhập

Nhập username: root và mật khẩu tương ứng để logon vào hệ thống

Thay đổi mậtkhẩu cho Webmin Password bằng dòng lệnh:

#/usr/libexec/webmin/changepass.pl /etc/webmin root 123456 Restart Webmin bằng dòng lệnh:

#/etc/webmin/start Tìm hiểu file cấu hình Webmin /etc/webmin/miniserv.conf cho phép ta thay đổi một số thông tin cấu hình Webmin Server

#chỉ định port number port000 root=/usr/libexec/webmin

#chỉ định Webmin Type mimetypes=/usr/libexec/webmin/mime.types addtype_cgi=internal/cgi realm=Webmin Server

#chỉ định logfile lưu trữ log cho Webmin logfile=/var/webmin/miniserv.log

#lưu trữ error log errorlog=/var/webmin/miniserv.error

#chỉ định pid file pidfile=/var/webmin/miniserv.pid logtime8 ppath ssl=1

#khai báo biến môi trường lưu trữ thông tin cấu hình Webmin env_WEBMIN_CONFIG=/etc/webmin env_WEBMIN_VAR=/var/webmin atboot=0 logout=/etc/webmin/logout-flag

#listen port listen000 denyfile=\.pl$ log=1 blockhost_failures=5 blockhost_time` syslog=1 session=1

The Webmin user configuration file is located at /etc/webmin/miniserv.users, with the corresponding key file found at /etc/webmin/miniserv.pem User passwords are managed through the /etc/shadow file, where the password user index is set to 0, the password password index to 1, the password change index to 2, and the password modification index to 4 The password mode is configured to 0, and a delay of 1 second is implemented for password entry, with the preroot set to mscstyle3.

3.3 Cấu hình Webmin qua Web Browser

Sau khi đăng nhập vào Webmin Server ta chọn biểu tượng Webmin Configuration

Cho phép hay cấm truy xuất Webmin từ host nào đó trên mạng thông qua IP Access Control

To configure Webmin access, you can choose to allow access from all addresses, enabling any host to connect Alternatively, you can restrict access by only allowing specific hosts listed in the ListBox, where you can specify addresses such as 172.29.1.0/255.255.255.0 to define a particular network address.

Deny from listed addresses: cho phép tất cả các host khác được truy xuất

Webmin nhưng cấmcác host nằm trong ListBox

Save: Lưu trữ lại những gì ta thay đổi

Webmin cho phép người dùng điều chỉnh địa chỉ IP và cổng hoạt động Nếu bạn muốn thay đổi cổng mà Webmin sử dụng, hãy truy cập vào mục này để thực hiện các điều chỉnh cần thiết cho phù hợp.

Bind to IP address và Listen on port chỉ định Webmin listen 10000 tại địa chỉ IP(mặc định Webmin listen port 10000 trên tất cả các IP của Server)

Operating System and Environment: Chỉ định loại hệ điều hành và một số đường dẫn chương trình

Index Page Options: hiệu chỉnh màn hình chính của thực đơn Webmin

Chọn ngôn ngữ sử dụng cho Webmin

Chọn Webmin Themes để hiệu chỉnh giao diện sử dụng cho Webmin như icons, colours, background, và cách trình bày Web page cho Webmin

Tạo Webmin User thông qua mục Create a new Webmin user

Ta nhập username, password, và đặt một số quyền hạn cho User…

Webmin chủ yếu được sử dụng để quản trị hệ thống, trong khi Usermin là công cụ cho phép người dùng truy cập và sử dụng hệ thống qua giao diện web Usermin cung cấp cho người dùng nhiều tính năng hữu ích để quản lý tài khoản và thực hiện các tác vụ cần thiết.

- sử dụng mail client qua Web(web-based mail client)

- Quản lý Java file applet

- Cấu hình SSH configuration và client modules

- Cài đặt bằng file nhị phân

Trước khi cài Usermin ta phải cài Authen-PAM Perl module

[root@server openwebmail]# rpm -ivh usermin-1.120-1.noarch.rpm warning: usermin-1.120-1.noarch.rpm: V3 DSA signature:

Operating system is Redhat Linux Fedora 2

Usermin install complete You can now login to http://server:20000/ as any user on your system

Cài đặt Usermin thông qua file tar.gz

# cp usermin-0.6.tar.gz /usr/local

3.4.3 Sử dụng Usermin Để login vào Usermin Server ta sử dụng địa chỉ http://server:20000/

Nhập username và password để login vào hệ thống

Mail: hỗ trợ các thao tác về việc sử dụng mail cho User

(Sau đây là ví dụ về sử dụng Usermin để đọc mail)

Login: hỗ trợ user có thể sử dụng command shell, logon script…

Application: hỗ trợ cho user sử dụng một số ứng dụng như SQL, upload và download file…

Others: Hỗ trợ cho user có thể xem cấu trúc file, mount file, hiểu chỉnh lệnh

1 Webmin là gì? Cho biết các thao tác quản trị thông qua webmin.

2 Bảo mật Webmin với Apache và Let's Encrypt

1.Cài đặt Webmin trên Ubuntu 18.04

Thêm vào kho lưu trữ Webmin cài đặt và cập nhật Webmin bằng cách sử dụng trình quản lý gói : /etc/apt/sources.list

Mở tệp trong trình chỉnh sửa của bạn: sudoedit /etc/apt/sources.list

Sau đó thêm dòng này vào cuối tệp để thêm kho lưu trữ mới: /etc/apt/sources.list

deb http://download.webmin.com/download/repository sarge contrib

Lưu tệp và thoát khỏi trình chỉnh sửa.

To ensure your system trusts the new repository, add the Webmin PGP key by executing the following commands in your terminal: ```bashwget http://www.webmin.com/jcameron-key.ascsudo apt-key add jcameron-key.asc```

Tiếp theo, cập nhật danh sách các gói để bao gồm kho lưutrữ Webmin: sudo apt update

Sau đó cài đặt Webmin: sudo apt install webmin

Khi quá trình cài đặt kết thúc, bạn sẽ thấy được kết quả như sau:

OutputWebmin install complete You can now login to https://your_server_ip:10000 as root with your root password, or as any user who can use `sudo`

Bây giờ, hãy truy cập an toàn vào Webmin bằng cách đặt nó phía sau máy chủ web Apache và thêm chứng chỉ TLS / SSL hợp lệ.

Để bảo mật Webmin với Apache và Let's Encrypt, bạn cần truy cập vào Webmin qua cổng 10000 và đảm bảo cổng này được mở trên tường lửa Một giải pháp khác là sử dụng máy chủ ảo Apache để proxy yêu cầu đến máy chủ Webmin đang chạy trên cổng 10000 Để thực hiện điều này, hãy tạo một tệp máy chủ ảo Apache mới trong thư mục cấu hình của Apache bằng lệnh: sudoedit /etc/apache2/sites-available/your_domain.conf, và bảo mật máy chủ ảo bằng chứng chỉ TLS/SSL từ Let's Encrypt.

Thêm phần sau vào tệp, thay thế địa chỉ email và tên miền bằng:

/etc/apache2/sites-available/your_domain.conf

Cấu hình này yêu cầu Apache chuyển hướng yêu cầu đến máy chủ Webmin tại địa chỉ http://localhost:10000 Đảm bảo rằng tất cả các liên kết nội bộ được tạo ra từ Webmin cũng được xử lý qua Apache Sau khi hoàn tất, lưu tệp và thoát khỏi trình chỉnh sửa.

Làm Webmin ngừng sử dụng TLS / SSL, vì sử dụng Apache

Mở tâ ̣p tin /etc/webmin/miniserv.conf sudoedit /etc/webmin/miniserv.conf

Thay đổi 1 đến một 0 Điều này sẽ cho Webmin ngừng sử dụng SSL.

Thêm miền của chúng tôi vào danh sách các miền được phép Mở tâ ̣p tin /etc/webmin/config: sudoedit /etc/webmin/config

Thêm dòng sau vào cuối tệp, thay thế your_domain với tên miền tensv.com

Lưu tệp và thoát khỏi trình chỉnh sửa.

Tiếp theo, khởi động lại Webmin để áp dụng các thay đổi cấu hình: sudo systemctl restart webmin

Sau đó kích hoạt Apache proxy_http module: sudo a2enmod proxy_http kết quả:

OutputConsidering dependency proxy for proxy_http:

To activate the new configuration, run the command `systemctl restart apache2` after enabling the newly created Apache virtual host with `sudo a2ensite your_domain`.

Bạn sẽ thấy đầu ra sau cho biết trang web của bạn được bật:

To activate the new configuration, you need to run: systemctl reload apache2

Bây giờ khởi động lại Apache hoàn toàn để kích hoạt proxy_http mô-đun và máy chủ ảo mới: sudo systemctl restart apache2

Truy cập địa chỉ http://your_domain trong trình duyệt để hiển thị trang đăng nhập Webmin Lưu ý rằng bạn KHÔNG nên đăng nhập vào Webmin vì tính năng SSL chưa được kích hoạt.

Cấu hình một chứng chỉ để kết nối được mã hóa trong khi sử dụng Webmin Sử dụng Let's Encrypt

To create a TLS/SSL certificate for your domain and configure Apache to redirect traffic to a secure website, use the following command: `sudo certbot apache email your_email -d your_domain agree-tos redirect noninteractive`.

OutputSaving debug log to / var /log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator apache, Installer apache

Performing the following challenges: http-01 challenge for your_domain

Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf

Enabled Apache socache_shmcb module

Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-s sl.conf

Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache rewrite module

Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in / etc/apache2/sites-available/your_domain-le-ssl.conf

- Congratulations! You have successfully enabled https://your_domain

You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your_domain

Chứng chỉ đã được cài đặt và Apache được cấu hình để chuyển hướng các yêu cầu từ http://your_domain đến https://your_domain

Webmin cung cấp các mô-đun cho phép quản lý toàn bộ hệ thống, từ việc kiểm soát Máy chủ DNS BIND đến việc thêm người dùng vào hệ thống Để truy cập Webmin, người dùng cần vào địa chỉ http://your_domain và đăng nhập bằng tài khoản người dùng hoặc tài khoản có quyền sudo Một trong những tính năng nổi bật là khả năng quản lý người dùng và nhóm một cách hiệu quả.

Vào Hệ thống và sau đó nhấp vào Người dùng và nhóm nút Làm theo các hướng dẫn sau để tạo người dùng:

1 Điền vào Tên người dùng với deploy.

2 Lựa chọn Tự động cho Tên người dùng.

3 Điền vào Tên thật với một tên mô tả như Deployment user

4 Dành cho Trang chủ, lựa chọn Tự động.

5 Dành cho Vỏ, lựa chọn / bin / bash từ danh sách thả xuống.

6 Dành cho Mật khẩu, lựa chọn Mật khẩu thông thường và nhập mật khẩu bạn chọn.

7 Dành cho Nhóm chính, lựa chọn Nhóm mới có cùng tên với người dùng

8 Dành cho Nhóm phụ, lựa chọn sudo từ Tất cả các nhóm và nhấn -> để thêm nhóm vào trong nhóm danh sách

9 nhấn Tạo nên để tạo người dùng mới này. b.Cập nhật gói

Webmin cho phép bạn cập nhật tất cả các gói của mình thông qua giao diện người dùng

Những trọng tâm cần chú ý trong bài

- Biết cài đặt và sử dụng Webmin;

- Sử dụng webmin để quản lý cấu hình hệ thống;

Bài mở rộng và nâng cao

1.Cài đặt Webmin từ một Package Đầu tiên, bạn tải về Webmin package từ Debian package bằng lệnh wget sau:

# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb

Thực hiện cài đặt tất cả các gói phụ thuộc trên Ubuntu serer bằng lệnh sau

# apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Cuối cùng, bạn thực hiện cài đặt Webmin bằng lệnh bên dưới:

Webmin sẽ được tự động cài đặt vào trong thư mục /usr/share/webmin.

2 Cài đặt Webmin sử dụng APT repository Để cài đặt Webmin bằng APT repository, đầu tiên bạn mở file /etc/apt/sources.list.

# gedit /etc/apt/sources.list

Thêm nội dung bên dưới vào file và lưu lại deb https://download.webmin.com/download/repository sarge contrib

Sau đó, bạn tải về và cài đặt GPG key để ký cho Webmin packages:

# wget http://www.webmin.com/jcameron-key.asc

# apt-key add jcameron-key.asc

Cuối cùng, cài đặt Webmin bằng cách thực thi lần lượt những lệnh sau:

# apt install apt-transport-https

3 Start Webmin và kích hoạt chức năng khởi động cùng server Để start Webmin, bạn có thể sử dụng lệnh sau:

# systemctl start webmin Để kích hoạt Webmin khởi động cùng CentOS, bạn sử dụng lênh sau

Webmin allows for user account setup, Apache web service configuration, DNS management, and the configuration of Postfix mail service, as well as Dovecot for IMAP and POP3, among various other services.

Bạn truy cập vào trang quản trị Webmin từ trình duyệt với giao thức https, địa chỉ IP server và port 10000 https://IP-server:10000

Thông tin tài khoản quản trị mặc định của Webmin là username: root, và đây cũng là thông tin quản trị server Trong giao diện chính của Webmin, người dùng có thể dễ dàng xem các thông tin cơ bản của hệ thống.

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: Biết cài đặt và sử dụng Webmin; Sử dụng webmin để quản lý cấu hình hệ thống

+ Về kỹnăng: Nắm được cách cấu hình và sử dụng webmin để quản lý cấu hình hệ thống

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Kỹ năng được đánh giá qua khả năng thực hành khai báo, thay đổi cấu hình và sử dụng Webmin để quản lý hệ thống, đồng thời thực hiện các thao tác an toàn với máy tính.

23 + Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

Ngày đăng: 23/12/2023, 10:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN