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ụ Nó không chỉ hỗ trợ việc chạy một 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 cài đặt Ubuntu Desktop, Ubuntu Server không đi kèm với giao diện 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 phần mềm của Ubuntu nhanh chóng tại Việt Nam, chúng ta cần thay đổi địa chỉ máy chủ sang 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 cho một card mạng, bạn có thể sử dụng lệnh: `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
Để cấu hình mạng cho Ubuntu, bạn cần truy cập tệp /etc/network/interfaces để lấy thông tin về card mạng và khởi động nó Sử dụng trình soạn thảo sudoedit để thực hiện các thay đổi cần thiết.
# 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), một công cụ tích hợp sẵn trong Windows RDP cho phép bạn thiết lập kết nối với thiết bị Ubuntu trên mạng gia đình chỉ với địa chỉ IP của thiết bị đó.
Để 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 của Ubuntu PC vào trường Computer Tiếp theo, nhấn Show Options và thêm Username cho Ubuntu PC Bạn có thể lưu các cài đặt này bằng cách nhấp vào Save để sử dụng lại sau này.
Nhấn nút Connect để bắt đầu quá trình 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ó sẵn trong hầu hết các bản phân phối Linux và dễ dàng cài đặt 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 được gửi và nhận trong khoảng thời gian mà người dùng tự 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à một công cụ giám sát mạng mạnh mẽ cho Ubuntu và Linux, cho phép thu thập dữ liệu chi tiết về lưu lượng IP, bao gồm các thông tin như cờ ICMP, lỗi TCP và số byte Giao diện của Iptraf rất thân thiện và dễ sử dụng, giúp người dùng dễ dàng theo dõi và phân tích hoạt động mạng.
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 trạng thái mở của cổng hoặc IP 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 tương đối là một công cụ giám sát mạng ít được biết đến trong hệ sinh thái Linux Công cụ này cho phép người dùng theo dõi và hiển thị tất cả tài nguyên hệ thống theo thời gian thực, giúp so sánh việc sử dụng đĩa với ngắt từ bộ điều khiển IDE hoặc đối chiếu 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
Để triển khai hệ thống cài đặt Server mã nguồn mở, cần nắm rõ các yêu cầu kỹ thuật, bao gồm việc 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.
+ 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 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 là rất quan trọng Những kỹ năng này đảm bảo rằng người dùng có thể thiết lập hệ thống một cách hiệu quả và đáp ứng đúng yêu cầu của công việc.
+ 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ẽ 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 đó.
-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 nằm trong thư mục /etc/init.d/ cho phép chúng ta can thiệp vào các dịch vụ bằng cách gọi trực tiếp script kèm theo 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,
-Địa chỉ dùng riêng: 172.16.0.0 –172.16.31.0, 192.168.0.0 –192.168.255.0, 10.0.0.0/8 -Địa chỉ loopback: 127.0.0.1
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 trên máy chủ và phát hiện những hành vi đáng ngờ Công cụ này tự động thông báo cho người dùng đã được cấu hình, chẳng hạn như quản trị viên, về các sự cố và 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ỉ đơn thuần để phân tích lưu lượng mạng mà còn hỗ trợ các tính năng như đánh hơi Nó có khả năng phân tích dữ liệu gửi đi và nhận về từ máy chủ, đồng thời cho phép chặn lưu lượng truy cập giữa hai máy chủ hiệu quả.
Yêu cầu về đánh giá kết quả học tập
Để nắm vững kiến thức về hệ điều hành Linux, người học cần hiểu rõ quá trình khởi động, các dịch vụ (service) và cách quản lý chúng, cùng với những khái niệm cơ bản về mạng IP, các tập tin cấu hình mạng và dịch vụ mạng Về kỹ năng, việc 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 yêu cầu là rất quan trọ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 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 được đánh giá qua 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
Có thể cài đặt Samba trong quá trình cài đặt Linux hoặc sau đó bằng tiện ích RPM, với các gói tích hợp sẵn trên đĩa CD của Fedora Các tệp cần thiết bao gồm: system-config-samba-1.2.15-0.fc2.1 để hỗ trợ cấu hình qua 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 hỗ trợ cho Samba, và samba-swat-3.0.7-2.FC2 giúp cấu hình Samba qua giao diện web.
Khởi động SAMBA
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 log củ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", tất cả mật khẩu gửi từ Windows 9x sẽ được mã hóa Nếu chọn "no", máy chủ Samba sẽ từ chối đăng nhập của mọi người dùng.
Only users with a password stored in the /etc/samba/password file can access the Samba server The smb passwd file is located at /etc/samba/smbpasswd, which contains the list of 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ện hà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 đang chạ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 cho phép chia sẻ thư mục home của từng người dùng trong hệ thống, giúp người dùng truy cập vào thư mục cá nhân của mình từ máy trạm một cách dễ dàng.
The Home Directories configuration allows users to access their personal directories, with the path set to %H It is not read-only, enabling users to modify their files Access is restricted to valid users specified by %S, and groups can be granted access using the syntax @group_name The directories are not browseable, but they are writable, allowing users to create and edit files within them The create mask is set to 0750, ensuring appropriate permissions for newly created files and directories.
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 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 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 setting is set to "no," ensuring that only authorized users can browse and write to this folder.
Sử dụng SAMBA SWAT
Swat là công cụ giúp cấu hình SAMBA qua giao diện Web, và để sử dụng nó, người dùng cần cài đặt gói samba-swat-3.0.7-2.FC2.rpm trong 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 truy xuấ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 duy trì hệ thống Việc quản lý tài nguyên chia sẻ giúp tối ưu hóa hiệu suất và bảo mật Quản lý việc chia sẻ máy in đảm bảo rằng người dùng có thể truy cập tài nguyên in ấn một cách hiệu quả Đồng thời, quản lý Server Type, Wins và các tham số khác là cần thiết để duy trì sự hoạt động ổn định của hệ thống Theo dõi trạng thái của SAMBA và các kết nối giúp phát hiện và khắc phục sự cố kịp thời Cuối cùng, việc xem các thông tin cấu hình trong file smb.conf là bước quan trọng để đảm bảo mọi thứ hoạt động như mong đợi.
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, cho phép chia sẻ tài nguyên như file và máy in trong môi trường Windows Nó cũng hỗ trợ Active Directory và có thể được cấu hình như một server độc lập để tạo ra các chia sẻ file đa nền tảng.
Cài đặt và cấu hình một server Samba độc lập cho tổ chức nhỏ Example.com nhằm cung cấp repository hoặc chia sẻ file qua mạng Tổ chức này có những yêu cầu cụ thể về việc chia sẻ file, đảm bảo tính hiệu quả và bảo mật trong quá trình truy cập dữ liệu.
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 thành "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, for security purposes, nmbd is not essential for this guide and 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` script lacks a systemd root management configuration and is currently disabled by the older SysV init system To mitigate potential security issues arising from running an unconfigured network service, it is advisable to stop the Samba server until the configuration details are finalized You can do this by executing 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.orig`, 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 Để 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" is the loopback interface and "eth0" is the external network interface, as specified 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 interfaces include "lo" and your network interface, while binding interfaces only is enabled Disable NetBIOS by setting "disable netbios" to yes and configure the SMB ports to 445 Log file management should direct logs to "/var/log/samba/smb.log" with a maximum log size of 10,000.
Chỉ thị này quy định rằng server string là thông tin nhận dạng được cung cấp cho người dùng trong quá trình kết nối, và việc sử dụng samba_server hoặc một tên khác sẽ xác định máy chủ.
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 sẽ được tạo, trong đó đây là một server độc lập với chức năng chia sẻ file Các giao diện mạng mà Samba 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 mạng 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 được liệt kê, 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 được thiết lập là cổng tiêu chuẩn mà Samba sẽ lắng nghe Tên và vị trí của file log được chỉ định qua tùy chọn "log file", trong khi "max log size" quy định kích thước tối đa của file log là 10MB Nếu cần ghi log chi tiết hơn trong quá trình cài đặt server, có thể thêm dòng thích hợp vào phần [global].
Cấu hình mức độ log trong tệp /etc/samba/smb.conf được thiết lập ở mức 3, cung cấp thông tin chi tiết về hoạt động của Samba Việc tăng mức độ log cho passdb và auth lên 5 giúp nâng cao độ chi tiết của thông tin đăng nhập, từ đó cung cấp thêm dữ liệu quan trọng liên quan đến xác thực người dùng.
Khi chỉnh sửa smb.conf , dùng lệnh testparm 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:
Dịch vụ DNS (Domain Name System)
Giới thiệu về DNS
Để các máy tính trong mạng có thể giao tiếp và trao đổi thông tin, dữ liệu, chúng cần biết địa chỉ IP của nhau 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 tên máy tính, vì tên mang 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 và ghi nhớ hơn.
Khi mạng ARPAnet, tiền thân của Internet, chỉ có vài trăm máy, một tập tin đơn HOSTS.TXT được sử dụng để ánh xạ tên máy thành địa chỉ IP Tên máy được biểu diễn dưới dạng chuỗi văn bản không phân cấp (flat name) và tập tin này được duy trì tại một máy chủ, trong khi các máy chủ khác lưu 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ắt đầu 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”
Xung đột tên xảy ra khi hai máy tính có cùng tên trong tập tin HOSTS.TXT, điều này là không thể Tuy nhiên, do tên máy không phân cấp và thiếu cơ chế ủy quyền quản lý tập tin, 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ì sự toàn vẹn của tập tin trên mạng lớn là một thách thức lớn, vì sự thay đổi địa chỉ trên mạng có thể xảy ra nhanh chóng Chẳng hạn, khi tập tin HOSTS.TXT được cập nhật, nó có thể chưa kịp chuyển đến các máy chủ ở xa trước khi có sự thay đổi mới.
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, vì vậy dịch vụ DNS được phát triển để 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 đầu tiên là RFC 882 và 883.
1034 và 1035 cùng với 1 số RFC bổ sung như bảo mật trên hệ thống DNS, cập nhật động các bản ghi DNS…
Lưu ý rằng trên các máy chủ hiện nay, 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, trong khi trên hệ điều hành Linux, tập tin này nằm tại đường dẫn /etc/hosts.
Dịch vụ DNS hoạt động theo mô hình Client-Server, trong đó máy chủ tên (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 được triển khai như một giao thức tầng ứng dụng 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ộ của họ, đồng thời dữ liệu này dễ dàng truy cập trên toàn 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 (replication) và lưu tạm (caching) Một hostname trong domain là sự kết hợp của các từ được phân cách bởi dấu chấm, ví dụ như cntt.danavtc.edu, trong đó cntt là hostname và danavtc.edu là domain name Domain name đượ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 hình thành một cây đảo ngược, trong đó mỗi nút là gốc của một cây con, đại diện cho các phân vùng con trong toàn bộ CSDL DNS, gọi là miền (domain) Mỗi miền có thể chia thành các miền con (subdomain) nhỏ hơn và mỗi miền được xác định bởi một tên miền (domain name) cho biết vị trí của nó trong CSDL DNS Tên miền là chuỗi các tên nhãn tại nút đó, đi ngược lên nút gốc của cây và được phân cách bởi 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ụ, 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ự quá tải 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.
.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 đều có một top-level domain riêng, như Việt Nam với đuôi vn và Mỹ với us Cơ chế tổ chức và phân cấp domain giữa các nước cũng khác nhau, ví dụ như cách tổ chức domain tại 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 Ngoài ra, các name server này có thể được phân bố trên toàn cầu.
Tên máy tính Địa chỉ IP
H.ROOT-SERVERS.NET 128.63.2.53 B.ROOT-SERVERS.NET 128.9.0.107 C.ROOT-SERVERS.NET 192.33.4.12 D.ROOT-SERVERS.NET 128.8.10.90 E.ROOT-SERVERS.NET 192.203.230.10 I.ROOT-SERVERS.NET 192.36.148.17 F.ROOT-SERVERS.NET 192.5.5.241 F.ROOT-SERVERS.NET 39.13.229.241 G.ROOT-SERVERS.NET 192.112.88.4
Một tổ chức thường đăng ký một hoặc nhiều tên miền và cài đặt nhiều 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ủ đượ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 làm bản 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 phụ (subdomain) và ủy quyền cho các máy chủ tên khác quản lý những tên miền phụ này.
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ó 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 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 tương ứng Quá trình này tiếp tục cho đến khi tìm được máy quản lý tên miền cần truy vấn Nếu không có sự liên lạc giữa các root name server, mọi yêu cầu phân giải tên miền sẽ không thể thực hiện được.
Khi client gửi yêu cầu phân giải địa chỉ IP cho máy tính girigiri.gbrmpa.gov.au đến name server cục bộ, server này sẽ kiểm tra xem có quản lý tên miền này 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 để nhận địa chỉ IP của Name Server quản lý miền au Tiếp theo, nó sẽ hỏi Name Server quản lý miền au và được dẫn đến máy chủ quản lý miền gov.au Máy chủ này 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 để nhận được câu trả lời Các loại 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 Nameserver không được phép chuyển tiếp truy vấn đến một nameserver khác Tuy nhiên, nameserver có thể gửi truy vấn đệ quy hoặc tương tác đến nameserver khác, nhưng phải tiếp tục thực hiện cho đến khi có kết quả cuối cùng.
Khi nameserver nhận được truy vấn tương tác, nó sẽ trả lời cho resolver bằng thông tin tốt nhất mà nó có 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 và đị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
Mỗi địa chỉ IP bao gồm 4 byte, với byte đầu tiên có giá trị tối đa là 255 Mỗi subdomain chứa 256 subdomain con tương ứng với byte thứ hai Tiếp tục theo cách này, byte thứ tư sẽ cung cấp các bản ghi cho tên miền đầy đủ của các máy tính hoặc mạng liên quan đến địa chỉ IP.
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 có thể bao gồm nhiều thực thể nhỏ hơn gọi là miền con (subdomain), ví dụ như miền ca chứa các miền con như ab.ca, on.ca, qc.ca Các miền con này có thể được ủy quyền cho các DNS Server khác quản lý Những miền và miền con mà DNS Server quản lý được gọi là zone, do đó, một zone có thể bao gồm một miền, một hoặc nhiều miền con Hình ảnh minh họa dưới đây thể hiện sự khác biệt giữa zone và domain.
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 này phụ thuộc vào nhiệm vụ mà chúng thực hiện Dưới đây là mô tả 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ý và phân giải tên miền Server này chứa thông tin về tên máy tính và địa chỉ IP, giúp người dùng dễ dàng truy cập 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, đảm bảo việc phân giải tất cả các máy trong miền hoặc zone diễn ra hiệu quả.
Mỗi miền có một Primary Name Server quản lý cơ sở dữ liệu (CSDL) của miền, và khi 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 các 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 thành địa chỉ IP Một miền có thể có nhiều Secondary Name Server, và chúng sẽ định kỳ sao chép và cập nhật CSDL từ Primary Name Server.
Caching Name Server có vai trò quan trọng trong việc 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ữ các tên máy đã được phân giải trước đó, cho phép tái sử dụng thông tin này nhằm cải thiện tốc độ truy cập và giảm tải cho hệ thống.
- 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ằng lệnh sau Nếu không xuất hiện lỗi, 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; };
Please note that the address 192.168.1.101 serves as the Primary DNS server, and the zone file must be located at /var/cache/bind/ since the AppArmor firewall restricts write permissions to this directory.
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 Kỹ năng được đánh giá dựa trên khả năng thực hành 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
Quản trị viên không cần phải chỉ định địa chỉ IP cho từng máy tính trong mạng, giúp tiết kiệm thời gian và chi phí Việc này giảm bớt khối lượng công việc cho quản trị viên, đồng thời tối ưu hóa quy trình quản lý mạng.
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, it's essential to create and edit the configuration file located at /etc/dhcpd.conf Key configuration settings in the dhcpd.conf file include ddns-update-style interim, default-lease-time set to 600 seconds, max-lease-time of 7200 seconds, subnet-mask as 255.255.255.0, broadcast-address at 192.168.1.255, routers option pointing to 192.168.1.254, domain-name-servers as 192.168.1.1 and 192.168.1.2, and the domain name as "example.com." The subnet configuration for 192.168.1.0 with a netmask of 255.255.255.0 specifies a range of IP addresses from 192.168.1.10 to 192.168.1.100.
Tập tin /var/lib/dhcp/dhcpd.leases được sử dụng bởi daemon dhcpd để lưu trữ thông tin về các địa chỉ IP đã được cấp phát.
Khởi động DHCP
Sau khi thiết lập những tập tin cấu hình, ta cần khởi động dịch vụ bằng lệnh:
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ỉ
IP từ 192.168.1.105 đến 192.168.1.110 cho 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ó chức năng xác thực khi DHCP server cập nhật thông tin cho DNS server Cần sao chép file rndc.key từ thư mục /etc/bind đến thư mục /etc/dhcp/ddns-keys, sau đó thay đổi quyền sở hữu thành root và thiết lập quyền truy cập là 640 bằng các lệnh sau: `ls /etc/bind`, `sudo cp /etc/bind/rndc.key /etc/dhcp/ddns-keys`, `sudo chown root:root /etc/dhcp/ddns-keys/rndc.key`, `sudo chmod 640 /etc/dhcp/ddns-keys/rndc.key`.
Để tạo mới file rndc.key, bạn có thể sử dụng lệnh: sudo /usr/sbin/rndc-confgen -a -b 512, trong đó tùy chọn -b 512 chỉ định mã hóa 512 bits Nếu bạn tạo mới file rndc.key, hãy đảm bảo sao chép nó một cách chính xác.
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 rndc.key file for the allow-update option Additionally, we need to move the zone files from the /etc/bind directory to the /var/lib/bind directory, as the AppArmor Firewall restricts automatic write access 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 settings for the "datcdn.local" zone, include the necessary files for RFC 1918 zones and the RNDC key Designate the zone as a master type, specifying the file path for zone data at "/var/lib/bind/for.datcdn.local" Allow zone transfers and notifications to the IP address 192.168.1.102, and permit updates using 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 for BIND9 includes the directive to use the rndc.key file located at "/etc/dhcp/ddns-keys/rndc.key" It allows unknown clients, enables host declaration names, and sets both the default and maximum lease time to 86400 seconds (24 hours) Additionally, the logging facility is specified 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 datcdn.local LAN is configured with the subnet 192.168.1.0 and a netmask of 255.255.255.0 It includes a range of IP addresses from 192.168.1.105 to 192.168.1.110 The configuration specifies the subnet mask as 255.255.255.0, with the default router set to 192.168.1.1 Additionally, the DNS servers are designated as 192.168.1.101 and 192.168.1.102, and the domain name is defined as "datcdn.local." The dynamic DNS settings include the domain name "datcdn.local." and the reverse domain name "in-addr.arpa."
## 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 đánh giá bằng khả năng cấu hình dịch vụ DHCP 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Ụ WEB SERVER
Web server
HTTP là giao thức thiết lập sự giao tiếp giữa trình duyệt Web và máy chủ, giúp chuẩn hóa các thao tác cơ bản mà máy chủ web cần thực hiện.
HTTP khởi đầu 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ối HTTP có thể thay thế bằng cách dùng lệnh "telnet" chuẩn
> telnet www.extropia 80 GET /index.html HTTP/1.0
Cổng 80 là cổng mặc định dành cho Web server "lắng nghe" các kết nối được gửi đến Để đáp ứng lệnh HTTP GET, Web server trả về cho client trang "index.html" thông qua phiên làm việc telnet này, và sau đó đóng kết nối Thông tin trả về dưới dạng code HTML:
The protocol primarily executes two operations: request and response One of the significant advancements in HTTP/1.1 is its support for persistent connections, allowing for longer-lasting interactions.
Trong HTTP/1.0, mỗi đối tượng mà trình duyệt muốn tải đều yêu cầu thiết lập một kết nối đến server, dẫn đến việc phải tải nhiều hình ảnh cho các trang web Việc này gây lãng phí, vì nhiều hình ảnh chỉ nhỏ hoặc mang tính trang trí Thay vì thiết lập một kết nối cho từng hình ảnh, việc mở một kết nối TCP để truyền tải tài liệu HTML và sau đó truyền các hình ảnh theo thứ tự sẽ hiệu quả hơn, 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ụng giao thức HTTP trong quá trình trao đổi dữ liệu Các trang tài liệu HTML là một văn bản thô (raw text) chứa các thẻ định dạng (HTML tag)
Trường Cao Đẳng Nghề ĐN
Ngày nay, Web Server đã tiến hóa để 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 (dynamic content) Phiên bản đầu tiên của Web Server hoạt động theo một mô hình đơn giản hơn.
- 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 nhanh là điều cần thiết, đặc biệt cho các trang web đơn giản Tuy nhiên, khi số lượng người truy cập tăng lên hoặc khi có quá nhiều trang web động cần tính toán, máy chủ sẽ gặp phải vấn đề hiệu suất.
Nếu một chương trình CGI mất 30 giây để tạo ra nội dung, web server sẽ không thể phục vụ các trang khác trong thời gian đó Mặc dù mô hình này có thể hoạt động, nhưng cần được thiết kế lại để phục vụ nhiều người dùng cùng lúc Để giải quyết vấn đề này, 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 các hệ thống kết hợp giữa hai phương pháp này.
Web client là các trình duyệt web như Internet Explorer và Netscape Communicator, cho phép người dùng truy cập và hiển thị thông tin từ các trang web Khi người dùng gửi yêu cầu, web client sẽ liên hệ với web server để xử lý và nhận kết quả Tất cả các yêu cầu đều được web server đảm nhiệm, đảm bảo thông tin được cung cấp chính xác và kịp thời cho người dùng.
Web động là một loại nội dung cơ bản, được thiết kế để phản hồi các dữ liệu mà người dùng nhập vào, cả trực tiếp lẫn gián tiếp.
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à Web server thực thi một chương trình cục bộ, sau đó nhận kết quả và gửi trả 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 biết 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 sau đây minh họa quá trình khi trình duyệt web yêu cầu 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 phương thứ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 để đảm bảo an toàn và hiệu quả trong việc quản lý quyền 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ực bao 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 được yêu cầu này, client sẽ gửi lại thông tin 401 đến server kèm theo username và password Server sẽ xác thực các thông tin này; nếu hợp lệ, server sẽ cung cấp thông tin yêu cầu, ngược lại sẽ trả về 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ột quốc gia nào, nên mỗi yêu cầu đều được xem như nhau
Tên người dùng và mật khẩu 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 trang web sau đó, người dùng cần phải nhập lại tên người dùng và mật khẩu.
Khi nhận phản hồi 401, toàn bộ thông tin sẽ được gửi 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, gọi là realm, để bảo vệ website 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ù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ực lầ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 và nếu tập tin này đã tồn tại, nó sẽ xóa nội dung cũ để ghi vào nội dung mới 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 trong Apache Tính năng nhóm người dùng cho phép quản trị viên tạo các nhóm với 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 dịch vụ Định dạng của tập tin group được quy định rõ ràng.
: 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 hiệu quả, đượ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, tăng cường tính bảo mật cho thông tin đăng nhập.
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ật khẩu
AuthDigestFile /usr/local/apache/passwd/digest
AuthDigestGroupFile /usr/local/apache/passwd/digest.groups
Bước 3 : Tạo tập tin nhóm (bước này chỉ thực hiện khi ta muốn chứng thực cho nhóm)
Cấu trúc của tập tin nhóm cũng tương tự như tập tin nhóm của basic authentication admins: joy danne 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 kiểm soát quyền truy cập người dùng thông qua Access Control Bằng cách sử dụng directive Allow/Deny, Apache có thể cho phép hoặc cấm truy cập vào 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ẽ kiểm tra Deny trước; chỉ những client không bị từ chối hoặc được cho phép mới được truy cập vào server Ngược lại, nếu thứ tự là Allow, Deny, thì các điều kiện Allow sẽ được kiểm tra trước; bất kỳ client nào không đáp ứng điều kiện Allow hoặc phù hợp với điều kiện Deny sẽ bị cấm truy cập.
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 để xác định 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, giá trị của Satisfy là "all", nghĩa là tất cả các tiêu chuẩn phải được thoả mãn để người dùng có quyền 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 tài nguyên, họ cần 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 thông tin nhận dạng và các lỗi xảy ra trong quá trình xử lý yêu cầu Khi gặp lỗi khởi động httpd hoặc các vấn đề với server, error_log là tập tin đầu tiên cần xem xét, 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 hiển thị ngày giờ tạo entry, cột thứ hai xác định đây là entry lỗi, và cột thứ ba cung cấp địa chỉ IP của client gây ra lỗi Tiếp theo, message cho biết server đã được cấu hình để từ chối truy cập của client, cùng với đường dẫn tài liệu mà client muốn truy cập Để theo dõi error_log liên tục trong quá trình kiểm tra, có thể sử dụng dòng lệnh sau:
#tail –f /var/log/httpd/error_log
Access_log là tập tin ghi lại mọi yêu cầu mà server xử lý, với vị trí và nội dung được điều chỉnh bởi chỉ thị CustomLog Để định dạng nội dung của access_log, bạn có thể sử dụng chỉ thị LogFormat.
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 (directive) khác nhau, trong đó mỗi dòng hoặc đoạn thể hiện một directive phục vụ cho một cấu hình riêng biệt Một số directive có thể ảnh hưởng lẫn nhau, và các dòng bắt đầu bằng dấu # được sử dụng để ghi chú.
Chỉ định một số thông tin cơ bản
Cấu hình tên máy tính (hostname) cho server là rất quan trọng, vì nó giúp tạo ra các URL chuyển tiếp (redirection URL) chính xác Nếu không được chỉ định, server sẽ cố gắng suy luận tên máy tính từ địa chỉ IP, nhưng điều này có thể dẫn đến kết quả không đáng tin cậy hoặc sai lệch Để khai báo hostname, bạn cần tuân theo cú pháp quy định.
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
DocumentRoot /usr/web 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ối vớ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, the Alias directive can be used to map the URL http://www.soft.com/doc to the local path /usr/share/doc Additionally, implementing the Directory directive can further enhance 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 xong, bạn có thể truy cập vào thư mục này thông qua Web Browser với 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ủa mình và gặp thông báo lỗi "Forbidden", có thể do 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 quản trị có thể điều chỉnh quyền truy cập bằ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 Có hai phương pháp chính: named-based virtual hosting, trong đó 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ều này đòi hỏi máy tính phải có nhiều interface hoặc sử dụng cơ chế virtual interface mà các hệ điều hành hiện đại hỗ trợ Ví dụ, nếu máy 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 sử dụng địa chỉ IP khác nhau cho mỗi Virtual Host để xác định đúng máy chủ cần truy cập Ngược lại, Named-based Virtual Host dựa vào 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 Kỹ thuật này rất đơn giản, chỉ cần cấu hình DNS để phân giải tên máy với địa chỉ IP tương ứng và sau đó 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 cho cá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
+ Về kiến thức: Hiểu cách thức hoạt động của các dịch vụ Samba, DNS, DHCP,
Web; Nắm được cách cấu hình các dịch vụ Samba, DNS, DHCP, Web trên máy chủ Linux
+ 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á 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á thông qua khả năng thực hành trong việc 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, đồng thời 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 thiết kế trong 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 thông tin, FireWall được tích hợp vào hệ thống mạng để bảo vệ nguồn thông tin nội bộ khỏi sự truy cập trái phép, đồng thời hạn chế xâm nhập vào hệ thống từ các thông tin không mong muốn.
Internet FireWall là một hệ thống bao gồm cả phần cứng và phần mềm, được lắp đặt giữa mạng nội bộ của tổ chức, công ty hoặc quốc gia (Intranet) và Internet.
Firewall có thể được thiết lập trong cùng một mạng nội bộ để cô lập các miền an toàn, như mô hình dưới đây cho thấy Mạng Firewall được sử dụng để ngăn cách giữa phòng máy, người sử dụng và Internet Phân loại Firewall rất quan trọng trong việc bảo vệ hệ thống 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 dung củ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ức nă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
Nếu máy tính của bạn không được bảo vệ khi kết nối Internet, hacker, trojan và virus có thể 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 hệ thống khác Việc sử dụng firewall sẽ giúp ngăn chặn các gói tin độc hại trước khi chúng xâm nhập vào hệ thống của bạn.
1.2.Chức năng chính của Firewall
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 dòng 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ỉ truy nhậ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ên mạ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: FILTER, MANGLE và NAT, cùng với các chain trong mỗi bảng, cho phép quản trị viên thiết lập các quy tắc để kiểm soát lưu lượng gói tin vào và ra khỏi hệ thống được bảo vệ Chức năng của từng bảng như sau: FILTER quản lý lưu lượng, MANGLE thực hiện các thay đổi trên gói tin, và NAT xử lý địa chỉ mạng.
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 sửa đổi địa chỉ nguồn của gói tin sau khi gói tin đã được định tuyến bởi hệ thống (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 checked by the Pre-routing chains to determine if DNAT is required before routing occurs If the packet needs to reach a different system (protected network), it will be filtered by the FORWARD chain of the FILTER table, and if necessary, it may undergo SNAT by the Post-routing chains before arriving at the destination system.
Khi hệ thống đích cần phản hồ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ý qua các chuỗi OUTPUT và có thể qua các chuỗi Post-routing của bảng FILTER và MANGLE nếu cần thực hiện SNAT hoặc QoS.
Targets và Jumps là các quy tắc iptables dùng để kiểm tra các gói IP và xác định cách thức xử lý chúng Khi một gói IP được xác định, nó sẽ được xử lý theo kiểu đã chỉ định trong quy tắc.
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à phương pháp thay đổi địa chỉ nguồn của gói tin nhằm thiết lập các quy tắc Để thực hiện điều này, bạn cần sử dụng các tùy chọn phù hợp để tạo điều kiện cho việc so sánh.
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)
Khi sử dụng IPv4 hoặc IPv6 trên server Ubuntu, cần đảm bảo rằng UFW được cấu hình để hỗ trợ IPv6 Điều này giúp UFW quản lý các luật firewall cho cả IPv6 và IPv4 Để thực hiện cấu hình UFW, bạn có thể mở file 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, nó sẽ cấu hình để ghi lại cả luật firewall cho IPv4 và IPv6 Trước khi kích hoạt UFW, bạn cần đảm bảo rằng firewall được thiết lập để cho phép kết nối qua SSH.
Bước 2 - Cài đặt policy mặc định
Khi thiết lập UFW, điều quan trọng là xác định các luật mặc định, vì chúng kiểm soát lưu lượng truy cập không khớp với bất kỳ luật nào khác 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 này, 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ật khẩ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:
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 storage file is located at /etc/webmin/miniserv.users, with the key file at /etc/webmin/miniserv.pem User passwords are managed through the /etc/shadow file, where the user index is set to 0, password index to 1, and additional indices are defined for password management The password mode is configured to 0, with a delay of 1 second for password entry, and the preroot setting is defined as 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
Allow from all addresses: cho phép tất cả các host khác truy xuất Webmin
Only permit access from specified addresses: Webmin can only be used by hosts listed in the ListBox, allowing you to define addresses such as 172.29.1.0/255.255.255.0 to specify the 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ấm các host nằm trong ListBox
Save: Lưu trữ lại những gì ta thay đổi
Port and Addresses: Cho phép hiệu chỉnh Webmin hoạt động trên địa chỉ IP và
Port, nếu ta muốn Webmin hoạt động trên cổng khác thì ta có thể vào mục này để hiệu chỉnh lại 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 là công cụ chính để quản trị hệ thống, trong khi Usermin cung cấp giao diện cho người dùng tương tác với hệ thống qua web Usermin giúp người dùng dễ dàng quản lý và sử dụng các chức năng của hệ thống.
- 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: ```bashwget http://www.webmin.com/jcameron-key.asc sudo 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ưu trữ 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, cần truy cập Webmin qua cổng 10000 và mở cổng này trên tường lửa Một lựa chọn khác là sử dụng máy chủ ảo Apache để yêu cầu proxy đến máy chủ Webmin đang chạy trên cổng 10000, đồng thời bảo mật bằng chứng chỉ TLS/SSL từ Let's Encrypt Bạn có thể 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.
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 Webmin tại địa chỉ http://localhost:10000 Đảm bảo rằng các liên kết nội bộ được tạo ra từ Webmin cũng được xử lý qua Apache Sau khi thực hiện, hãy 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 for your Apache server, first enable the newly created virtual host by running the command: `sudo a2ensite your_domain` After enabling the site, restart Apache to apply the changes with the command: `systemctl restart apache2`.
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 vào trang đăng nhập Webmin, hãy gõ địa chỉ http://your_domain trong trình duyệt của bạn Lưu ý rằng bạn không nên đăng nhập vào Webmin lúc này vì SSL chưa được bậ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 the secure site, use the 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, bao gồm cả Máy chủ DNS BIND và việc thêm người dùng Để truy cập Webmin, người dùng chỉ 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 dễ dàng.
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 users to set up user accounts, configure the Apache web service, manage DNS, and set up Postfix mail service, as well as Dovecot for IMAP and POP3, along with many 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ị Webmin mặc định là thông tin quản trị server với tên đăng nhập là root Trên giao diện chính của Webmin, người dùng có thể xem các thông tin cơ bản về 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
+ 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 khai báo và thay đổi cấu hình hệ thống là rất quan trọng Sử dụng Webmin để quản lý cấu hình hệ thống giúp tối ưu hóa quy trình làm việc Ngoài ra, thực hiện các thao tác an toàn với máy tính cũng là một yếu tố cần thiết để bảo vệ dữ liệu và hệ thống.
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.