============================================================================ THÔNG TIN HỆ THỐNG ============================================================================ Script Version: 2.0.2 --- Thông tin cơ bản --- Operating System: Ubuntu 24.04.4 LTS Kernel Version: 6.8.0-124-generic Architecture: x86_64 Hostname: antt-ksc01 FQDN: antt-ksc01.vascloud.vnpt.vn IP Address: 10.144.82.37 All IP Addresses: 10.144.82.37 Audit Time: 2026-07-16 14:18:53 Timezone: Asia/Ho_Chi_Minh Uptime: up 1 week, 1 day, 3 hours, 45 minutes --- Thông tin CPU --- CPU Model: Intel(R) Xeon(R) Gold 5220R CPU @ 2.20GHz CPU Cores: 16 CPU Architecture: x86_64 --- Thông tin Memory --- Total Memory: 15Gi Used Memory: 1.5Gi Free Memory: 8.5Gi Swap Total: 15Gi --- Thông tin Disk --- Disk Usage: / 15G used of 482G (4%) / 15G used of 482G (4%) / 15G used of 482G (4%) /tmp 0 used of 7.8G (0%) --- Thông tin Network Interfaces --- Primary Interface: ens160 MAC Address: 00:50:56:9e:6d:4a Default Gateway: 10.144.82.33 DNS Servers: 127.0.0.53 --- Thông tin bổ sung --- AppArmor Status: Enabled UFW Status: Status: active Last Boot: 2026-07-08 10:33 Current Users: 3 Load Average: 0.20 0.09 0.08 Ubuntu Version Detected: 24.04 ============================================================================ IPv6 Status: DISABLED (kernel support not available) ############################################################################ {"1.1.1.1. Cấu hình vô hiệu hoá cramfs filesystem" : "PASSED"} {"1.1.1.2. Cấu hình vô hiệu hoá freevxfs filesystem" : "PASSED"} {"1.1.1.3. Cấu hình vô hiệu hoá hfs filesystem" : "PASSED"} {"1.1.1.4. Cấu hình vô hiệu hoá hfsplus filesystem" : "PASSED"} {"1.1.1.5. Cấu hình vô hiệu hoá jffs2 filesystem" : "PASSED"} {"1.1.1.6. Cấu hình vô hiệu hoá squashfs filesystem" : "PASSED"} {"1.1.1.7. Cấu hình vô hiệu hoá udf filesystem" : "PASSED"} {"1.1.2.1. Cấu hình tuỳ chọn nodev cho phân vùng /tmp" : "PASSED"} {"1.1.2.2. Cấu hình tuỳ chọn nosuid cho phân vùng /tmp" : "PASSED"} {"1.1.2.3. Cấu hình tuỳ chọn noexec cho phân vùng /tmp" : "PASSED"} ------------------- # Chỉnh sửa file /etc/fstab và thêm tùy chọn nodev, nosuid, noexec vào trường thứ 4 trong cấu hình của phân vùng /tmp. Ví dụ: # tmpfs /tmp tmpfs defaults,nodev,nosuid,noexec 0 0 # Thực hiện các lệnh sau để mount phân vùng /tmp và cập nhật cấu hình fstab: # mount /tmp # mount -o remount /tmp ------------------- ###################################### {"1.1.3.1. Cấu hình tuỳ chọn nodev cho phân vùng /var/tmp" : "PASSED"} {"1.1.3.2. Cấu hình tuỳ chọn nosuid cho phân vùng /var/tmp" : "PASSED"} {"1.1.3.3. Cấu hình tuỳ chọn noexec cho phân vùng /var/tmp" : "PASSED"} ------------------- # Chỉnh sửa file /etc/fstab và thêm tùy chọn nodev, nosuid, noexec vào trường thứ 4 trong cấu hình của phân vùng /var/tmp. Ví dụ: # tmpfs /var/tmp tmpfs defaults,nodev,nosuid,noexec 0 0 # Thực hiện các lệnh sau để mount phân vùng /var/tmp và cập nhật cấu hình fstab: # mount /var/tmp # mount -o remount /var/tmp ------------------- ###################################### {"1.1.4.1. Cấu hình tuỳ chọn nodev cho phân vùng /home" : "PASSED"} {"1.1.4.2. Cấu hình tuỳ chọn nosuid cho phân vùng /home" : "PASSED"} ------------------- # Chỉnh sửa file /etc/fstab và thêm tùy chọn nodev, nosuid, noexec vào trường thứ 4 trong cấu hình của phân vùng /home. Ví dụ: # /home defaults,nodev,nosuid 0 0 # Thực hiện các lệnh sau để cập nhật cấu hình fstab: # mount -o remount /home ------------------- ###################################### {"1.1.5.1. Cấu hình tuỳ chọn nodev cho phân vùng /dev/shm" : "PASSED"} {"1.1.5.2. Cấu hình tuỳ chọn nosuid cho phân vùng /dev/shm" : "PASSED"} {"1.1.5.3. Cấu hình tuỳ chọn noexec cho phân vùng /dev/shm" : "PASSED"} ------------------- # Chỉnh sửa file /etc/fstab và thêm tùy chọn nodev, nosuid, noexec vào trường thứ 4 trong cấu hình của phân vùng /dev/shm. Ví dụ: # tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 # Thực hiện các lệnh sau để mount phân vùng /dev/shm và cập nhật cấu hình fstab: # mount /dev/shm # mount -o remount /dev/shm ------------------- ###################################### {"1.1.6. Cấu hình sticky bit cho tất cả các thư mục dùng chung" : "PASSED"} {"2.2.2. Cấu hình vô hiệu hoá autofs services" : "PASSED"} {"1.1.8. Cấu hình vô hiệu hoá usb storage" : "PASSED"} {"1.2.1. Kiểm tra cài đặt AIDE" : "PASSED"} {"1.2.2. Cấu hình kiểm tra tính toàn vẹn của filesystem" : "PASSED"} {"1.3.1. Phân quyền đối với file cấu hình bootloader" : "PASSED"} {"1.3.2. Cấu hình xác thực khi truy cập single user mode" : "PASSED"} {"1.3.3. Cấu hình xác thực khi truy cập single user mode" : "PASSED"} {"1.4.1. Cấu hình kích hoạt ASLR (address space layout randomization)" : "PASSED"} {"1.4.2. Cấu hình vô hiệu hoá prelink" : "PASSED"} {"1.4.3. Cấu hình vô hiệu hoá core dump" : "PASSED"} {"1.5.1. Kiểm soát nội dung motd (Message Of The Day)" : "PASSED"} {"1.5.2. Kiểm soát nội dung thông báo khi đăng nhập" : "PASSED"} {"1.5.3. Kiểm soát nội dung thông báo khi đăng nhập từ xa" : "PASSED"} {"1.5.4. Cấu hình phân quyền đối với file /etc/motd" : "PASSED"} ###################################### {"1.5.5. Cấu hình phân quyền đối với file /etc/issue" : "PASSED"} {"1.5.6. Cấu hình phân quyền đối với file /etc/issue.net" : "PASSED"} {"1.5.7. Kiểm soát nội dung thông báo khi truy cập GNOME" : "PASSED"} {"2.1.1. Cấu hình sử dụng chrony" : "PASSED"} {"2.1.2. Cấu hình sử dụng NTP" : "PASSED"} ###################################### {"2.2.1. Cấu hình vô hiệu hoá xinetd services" : "PASSED"} ----------[PASSED]---------- #dpkg -l | grep xinetd ----------[PASSED]---------- #systemctl is-enabled xinetd.service not-found ----------[PASSED]---------- #systemctl is-active xinetd.service inactive ----------LOG---------- #systemctl is-enabled xinetd.service not-found #systemctl is-active xinetd.service inactive {"2.2.3. Cấu hình vô hiệu hoá X window server services" : "PASSED"} {"2.2.4. Cấu hình vô hiệu hoá avahi daemon services" : "PASSED"} {"2.2.5. Cấu hình vô hiệu hoá cups services" : "PASSED"} {"2.2.6. Cấu hình vô hiệu hoá dhcp server services" : "PASSED"} {"2.2.7. Cấu hình vô hiệu hoá ldap server services" : "PASSED"} {"2.2.6. Cấu hình vô hiệu hoá NFS" : "PASSED"} {"2.2.8. Cấu hình vô hiệu hoá dns server services" : "PASSED"} ###################################### {"2.2.9. Cấu hình vô hiệu hoá dnsmasq services" : "PASSED"} ----------[PASSED]---------- #grep -E "\s[7-9].[0-9]" /etc/os-release ----------[PASSED]---------- #dpkg-query -l dnsmasq ----------[PASSED]---------- #systemctl is-enabled dnsmasq.service not-found ----------[PASSED]---------- #systemctl is-active dnsmasq.service inactive ----------LOG---------- PRETTY_NAME="Ubuntu 24.04.4 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04.4 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo {"2.2.10. Cấu hình vô hiệu hoá ftp server services" : "PASSED"} {"2.2.12. Cấu hình vô hiệu hoá web server services" : "PASSED"} ###################################### {"2.2.11. Cấu hình vô hiệu hoá tftp server services" : "PASSED"} ----------[PASSED]---------- #grep -E "\s[7-9].[0-9]" /etc/os-release ----------[PASSED]---------- #dpkg -l | grep tftpd-hpa ----------[PASSED]---------- #systemctl is-enabled tftp.socket not-found ----------[PASSED]---------- #systemctl is-enabled tftpd-hpa.service not-found ----------[PASSED]---------- #systemctl is-active tftp.socket inactive ----------[PASSED]---------- #systemctl is-active tftpd-hpa.service inactive ----------LOG---------- {"2.2.13. Cấu hình vô hiệu hoá imap and pop3 server services" : "PASSED"} {"2.2.14. Cấu hình vô hiệu hoá samba file server services" : "PASSED"} {"2.2.15. Cấu hình vô hiệu hoá web proxy server services" : "PASSED"} {"2.2.16. Cấu hình vô hiệu hoá snmp services" : "PASSED"} {"2.2.14. Cấu hình vô hiệu hoá telnetd" : "PASSED"} {"2.2.15. Cấu hình vô hiệu hoá rsh-server" : "PASSED"} {"2.2.18. Cấu hình mail transfer agents sang chế độ local-only" : "PASSED"} ###################################### {"2.2.17. Cấu hình vô hiệu hoá nis server services" : "PASSED"} ----------[PASSED]---------- #dpkg -l | grep ypserv ----------[PASSED]---------- #systemctl is-enabled ypserv.service not-found ----------[PASSED]---------- #systemctl is-active ypserv.service inactive ----------LOG---------- #systemctl is-enabled ypserv.service not-found #systemctl is-active ypserv.service inactive ###################################### {"2.2.19. Cấu hình vô hiệu hoá network file system services" : "PASSED"} ----------[PASSED]---------- #dpkg -l | grep nfs-kernel-server ----------[PASSED]---------- #systemctl is-enabled nfs-server.service not-found ----------[PASSED]---------- #systemctl is-active nfs-server.service inactive ----------LOG---------- #systemctl is-enabled nfs-server.service not-found #systemctl is-active nfs-server.service inactive {"2.2.20. Cấu hình vô hiệu hoá rsync services" : "PASSED"} {"2.3.1. Cấu hình vô hiệu hoá nis client" : "PASSED"} {"2.3.2. Cấu hình vô hiệu hoá rsh client" : "PASSED"} {"2.3.3. Cấu hình vô hiệu hoá talk client" : "PASSED"} {"2.3.4. Cấu hình vô hiệu hoá telnet client" : "PASSED"} {"2.3.5. Cấu hình vô hiệu hoá ldap client" : "PASSED"} {"2.3.6. Cấu hình vô hiệu hoá rpc" : "PASSED"} {"2.3.7. Cấu hình vô hiệu hoá ftp client" : "PASSED"} ----------[PASSED]---------- #grep -E "\s[7-9].[0-9]" /etc/os-release ----------[PASSED]---------- #dpkg -l | grep ftp ii openssh-sftp-server 1:9.6p1-3ubuntu13.16 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines ii tnftp 20230507-2build3 amd64 enhanced ftp client ----------LOG---------- ###################################### {"3.1.1. Cấu hình vô hiệu hoá IP forwarding" : "PASSED"} ###################################### {"3.1.2. Cấu hình vô hiệu hoá tính năng chuyển hướng gói tin (packet redirect)" : "PASSED"} ###################################### {"3.2.1. Cấu hình từ chối các gói tin với nguồn được định tuyến trước" : "PASSED"} ###################################### {"3.2.2. Cấu hình từ chối các ICMP redirect message" : "PASSED"} ###################################### {"3.2.3. Cấu hình từ chối các secure ICMP redirect message" : "PASSED"} ###################################### {"3.2.4. Cấu hình từ chối các gói tin ICMP request broadcast" : "PASSED"} ###################################### {"3.2.5. Cấu hình bỏ qua phản hồi ICMP không hợp lệ" : "PASSED"} ###################################### {"3.2.6. Cấu hình Reverse Path Filtering" : "PASSED"} ###################################### {"3.3.1. Cấu hình từ chối các gói tin với nguồn được định tuyến trước (Source Routed Packet Acceptance)" : "PASSED"} {"3.3.2. Cấu hình từ chối các ICMP redirect message" : "PASSED"} {"3.3.3. Cấu hình từ chối các secure ICMP redirect message" : "PASSED"} {"3.3.4. Cấu hình từ chối các gói tin ICMP request broadcast" : "PASSED"} {"3.3.5. Cấu hình bỏ qua phản hồi ICMP không hợp lệ" : "PASSED"} {"3.3.6. Cấu hình Reverse Path Filtering" : "PASSED"} {"3.2.7. Cấu hình TCP SYN Cookies" : "PASSED"} {"3.3.8. Cấu hình từ chối IPv6 router advertisements" : "PASSED"} {"3.4.1.1. Cấu hình kích hoạt ufw" : "PASSED"} {"3.4.2.1. Cấu hình kích hoạt Iptables" : "PASSED"} {"3.4.1.2. Cấu hình vô hiệu hoá iptables-persistent, nftables khi sử dụng ufw" : "PASSED"} {"3.4.1.3. Cấu hình ufw loopback traffic" : "PASSED"} {"3.4.1.4. Cấu hình ufw rule cho tất cả các port và protocol đang mở" : "PASSED"} ###################################### # Các rule UFW hiện tại: ------------------- Status: active To Action From -- ------ ---- [ 1] Anywhere on lo ALLOW IN Anywhere [ 2] Anywhere ALLOW OUT Anywhere on lo (out) [ 3] Anywhere DENY IN 127.0.0.0/8 [ 4] 22/tcp ALLOW IN Anywhere [ 5] 53 ALLOW OUT Anywhere (out) [ 6] 80/tcp ALLOW OUT Anywhere (out) [ 7] 443/tcp ALLOW OUT Anywhere (out) [ 8] 123/udp ALLOW OUT Anywhere (out) [ 9] Anywhere (v6) on lo ALLOW IN Anywhere (v6) [10] Anywhere (v6) ALLOW OUT Anywhere (v6) on lo (out) [11] Anywhere (v6) DENY IN ::1 [12] 22/tcp (v6) ALLOW IN Anywhere (v6) [13] 53 (v6) ALLOW OUT Anywhere (v6) (out) [14] 80/tcp (v6) ALLOW OUT Anywhere (v6) (out) [15] 443/tcp (v6) ALLOW OUT Anywhere (v6) (out) [16] 123/udp (v6) ALLOW OUT Anywhere (v6) (out) ------------------- # Inbound rules (ALLOW): Anywhere on lo ALLOW Anywhere 22/tcp ALLOW Anywhere Anywhere (v6) on lo ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) ------------------- # Outbound rules (ALLOW OUT): Anywhere ALLOW OUT Anywhere on lo 53 ALLOW OUT Anywhere 80/tcp ALLOW OUT Anywhere 443/tcp ALLOW OUT Anywhere 123/udp ALLOW OUT Anywhere Anywhere (v6) ALLOW OUT Anywhere (v6) on lo 53 (v6) ALLOW OUT Anywhere (v6) 80/tcp (v6) ALLOW OUT Anywhere (v6) 443/tcp (v6) ALLOW OUT Anywhere (v6) 123/udp (v6) ALLOW OUT Anywhere (v6) ------------------- # IPv6 rules: Anywhere (v6) on lo ALLOW Anywhere (v6) Anywhere (v6) DENY ::1 22/tcp (v6) ALLOW Anywhere (v6) Anywhere (v6) ALLOW OUT Anywhere (v6) on lo 53 (v6) ALLOW OUT Anywhere (v6) 80/tcp (v6) ALLOW OUT Anywhere (v6) 443/tcp (v6) ALLOW OUT Anywhere (v6) 123/udp (v6) ALLOW OUT Anywhere (v6) ###################################### {"3.4.1.5. Cấu hình chính sách từ chối mặc định cho ufw" : "PASSED"} {"3.4.2.2. Cấu hình vô hiệu hoá ufw, nftables khi sử dụng iptables" : "PASSED"} {"3.4.2.3. Cấu hình iptables loopback traffic" : "PASSED"} {"3.4.2.4. Cấu hình iptables rule cho tất cả các port và protocol đang mở" : "PASSED"} {"3.4.2.5. Cấu hình chính sách từ chối mặc định cho iptables" : "PASSED"} {"4.1.1.1. Cấu hình kích hoạt rsyslog service" : "PASSED"} {"4.1.1.2. Phân quyền đối với file log sinh ra từ rsyslog" : "PASSED"} {"4.1.1.3. Cấu hình lưu trữ log sinh ra từ rsyslog tập trung" : "FAILED"} ###################################### # Chỉnh sửa file /etc/rsyslog.conf và /etc/rsyslog.d/*.conf và thêm vào 1 trong các dòng sau: # action(type="omfwd" target="" port="" protocol="tcp" action.resumeRetryCount="" queue.type="LinkedList" queue.size=") # Hoặc # *.* @@< FQDN or ip of loghost > # Thực hiện câu lệnh sau để khởi động lại rsyslog: # systemctl restart rsyslog ------------------- #grep -E '^\h*([^#]+\s+)?action\(([^#]+\s+)?\btarget=\?[^#"]+\?\b' /etc/rsyslog.conf /etc/rsyslog.d/*.conf 2>/dev/null -ne 0 ###################################### ###################################### {"4.1.1.4. Phân quyền đối với tất cả các file log" : "PASSED"} {"4.1.2. Phân quyền đối với tất cả các file log" : "PASSED"} {"5.1.1. Cấu hình kích hoạt cron daemon" : "PASSED"} {"5.1.2. Cấu hình phân quyền cho file /etc/crontab" : "PASSED"} {"5.1.3. Cấu hình phân quyền cho file /etc/cron.hourly" : "PASSED"} {"5.1.4. Cấu hình phân quyền cho file /etc/cron.daily" : "PASSED"} {"5.1.5. Cấu hình phân quyền cho file /etc/cron.weekly" : "PASSED"} {"5.1.6. Cấu hình phân quyền cho của file /etc/cron.monthly" : "PASSED"} {"5.1.7. Cấu hình phân quyền cho file /etc/cron.d" : "PASSED"} {"5.1.8. Cấu hình at/cron hạn chế chỉ cho người dùng được ủy quyền" : "PASSED"} {"5.2.1. Cấu hình phân quyền cho file /etc/ssh/sshd_config" : "PASSED"} {"5.2.2. Cấu hình phân quyền cho các file SSH private host key" : "PASSED"} {"5.2.3. Cấu hình phân quyền cho các file SSH public host key" : "PASSED"} {"5.2.4. Cấu hình giới hạn truy cập cho máy chủ SSH" : "PASSED"} {"5.2.5. Cấu hình LogLevel cho máy chủ SSH" : "PASSED"} {"5.2.6. Cấu hình sử dụng SSH PAM" : "PASSED"} {"5.2.7. Cấu hình vô hiệu hoá đăng nhập bằng root cho máy chủ SSH" : "PASSED"} {"5.2.8. Cấu hình vô hiệu hoá HostbasedAuthentication cho máy chủ SSH" : "PASSED"} {"5.2.9. Cấu hình vô hiệu hoá PermitEmptyPasswords cho máy chủ SSH" : "PASSED"} {"5.2.10. Cấu hình vô hiệu hoá PermitUserEnviroment cho máy chủ SSH" : "PASSED"} {"5.2.11. Cấu hình vô hiệu hoá IgnoreRhosts cho máy chủ SSH" : "PASSED"} {"5.2.12. Cấu hình vô hiệu hoá X11 Forwarding cho máy chủ SSH" : "PASSED"} {"5.2.13. Cấu hình sử dụng các thuật toán mã hoá được cho phép" : "PASSED"} {"5.2.14. Cấu hình các thuật toán MAC được cho phép" : "PASSED"} {"5.2.15. Cấu hình thuật toán trao đổi khoá được cho phép" : "PASSED"} {"5.2.16. Cấu hình vô hiệu hoá SSH AllowTcpForwarding" : "PASSED"} {"5.2.17. Cấu hình cảnh báo SSH" : "PASSED"} {"5.2.18. Cấu hình SSH MaxAuthTries" : "PASSED"} {"5.2.19. Cấu hình SSH MaxStartups" : "PASSED"} {"5.2.20. Cấu hình SSH MaxSessions" : "PASSED"} {"5.2.21. Cấu hình SSH LoginGraceTime" : "PASSED"} {"5.2.22. Cấu hình khoảng thời gian chờ không hoạt động cho máy chủ SSH" : "PASSED"} {"5.3.1. Cấu hình điều kiện tạo mật khẩu" : "PASSED"} {"5.3.2. Cấu hình khoá truy cập do nhiều lần nhập mật khẩu thất bại" : "PASSED"} {"5.3.3. Giới hạn việc sử dụng lại mật khẩu" : "PASSED"} {"5.3.4. Cấu hình thuật toán hash mật khẩu mạnh" : "FAILED"} ###################################### # Đối với phiên bản 22.04 trở lên: # Chỉnh sửa file /etc/pam.d/common-password đảm bảo rằng không có bất cứ thuật toán hash nào được cấu hình trong pam_unix.so như dưới đây: # password [success=1 default=ignore] pam_unix.so remember=5 # Thêm hoặc chỉnh sửa ENCRYPT_METHOD trong file /etc/login.defs như sau: # ENCRYPT_METHOD yescrypt # Đối với phiên bản 20.04 trở về trước: Chỉnh sửa file /etc/pam.d/common-password để có tuỳ chọn sha512 cho pam_unix.so như dưới đây: # password [success=1 default=ignore] pam_unix.so sha512 remember=5 ------------------- #grep -P "^\h*password\h*\[success=1 default=ignore\]\h*pam_unix.so.*sha512" /etc/pam.d/common-password -ne 0 ------------------- #grep -v ^# /etc/pam.d/common-password | grep -E "(yescrypt|md5|bigcrypt|sha256|sha512|blowfish)" -eq 0 password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt ###################################### {"5.4.1.1. Cấu hình thời gian tối thiểu giữa những lần thay đổi mật khẩu" : "PASSED"} {"5.4.1.2. Cấu hình thời gian hết hạn sử dụng mật khẩu" : "PASSED"} {"5.4.1.3. Cấu hình thời gian cảnh báo mật khẩu hết hạn" : "PASSED"} {"5.4.1.4. Cấu hình thời gian khoá tài khoản không thay mật khẩu sau khi hết hạn" : "PASSED"} {"5.4.1.5. Đảm bảo thời gian thay đổi mật khẩu lần cuối hợp lệ" : "PASSED"} {"5.4.2. Cấu hình vô hiệu hoá đăng nhập bằng tài khoản hệ thống" : "PASSED"} {"5.4.3. Cấu hình group mặc định của tài khoản root" : "PASSED"} {"5.4.4. Cấu hình user umask mặc định" : "PASSED"} {"5.4.5. Cấu hình shell timeout mặc định" : "PASSED"} {"5.4.6. Cấu hình hạn chế truy cập cho câu lệnh su" : "PASSED"} {"6.1.1. Cấu hình phân quyền cho file /etc/passwd" : "PASSED"} {"6.1.2. Cấu hình phân quyền cho file /etc/shadow" : "PASSED"} {"6.1.3. Cấu hình phân quyền cho file /etc/group" : "PASSED"} {"6.1.4. Cấu hình phân quyền cho file /etc/gshadow" : "PASSED"} {"6.1.5. Cấu hình phân quyền cho file /etc/passwd-" : "PASSED"} {"6.1.6. Cấu hình phân quyền cho file /etc/shadow-" : "PASSED"} {"6.1.7. Cấu hình phân quyền cho file /etc/group-" : "PASSED"} {"6.1.8. Cấu hình phân quyền cho file /etc/gshadow-" : "PASSED"} {"6.1.9. Đảm bảo không có file world-writable tồn tại" : "PASSED"} {"6.1.10. Đảm bảo các file hoặc thư mục không có chủ sở hữu không tồn tại" : "PASSED"} {"6.1.11. Đảm bảo các file hoặc thư mục không có nhóm không tồn tại" : "PASSED"} {"6.2.1. Cấu hình tài khoản trong /etc/passwd sử dụng shadowed passwords" : "PASSED"} {"6.2.2. Đảm bảo trường mật khẩu không để trống" : "PASSED"} {"6.2.3. Đảm bảo mọi nhóm trong file /etc/passwd tồn tại trong file /etc/group" : "PASSED"} {"6.2.4. Đảm bảo shadow group rỗng" : "PASSED"} {"6.2.5. Đảm bảo UID không bị lặp" : "PASSED"} {"6.2.6. Đảm bảo GID không bị lặp" : "PASSED"} {"6.2.7. Đảm bảo tên người dùng không bị lặp" : "PASSED"} {"6.2.8. Đảm bảo tên group không bị lặp" : "PASSED"} {"6.2.9. Đảm bảo tính toàn vẹn cho biến môi trường PATH của root" : "FAILED"} ###################################### # Thực hiện đoạn script sau để kiểm tra tính toàn vẹn cho môi trường PATH của root: # RPCV="$(sudo -Hiu root env 2>/dev/null | grep '^PATH=' | cut -d= -f2)"; echo "$RPCV" | grep -q "::" && echo "root's path contains a empty directory (::)"; echo "$RPCV" | grep -q ":$" && echo "root's path contains a trailing (:)" ; for x in $(echo "$RPCV" | tr ":" " "); do if [ -d "$x" ]; then ls -ldH "$x" | awk '$9 == "." {print "PATH contains current working directory (.)"} $3 != "root" {print $9, "is not owned by root"} substr($1,6,1) != "-" {print $9, "is group writable"} substr($1,9,1) != "-" {print $9, "is world writable"}'; else echo "$x is not a directory"; fi; done # Sửa chữa hoặc lý giải kết quả tìm được. ------------------- #RPCV="$(sudo -Hiu root env 2>/dev/null | grep '^PATH=' | cut -d= -f2)"; echo "$RPCV" | grep -q "::" && echo "root's path contains a empty directory (::)"; echo "$RPCV" | grep -q ":$" && echo "root's path contains a trailing (:)" ; for x in $(echo "$RPCV" | tr ":" " "); do if [ -d "$x" ]; then ls -ldH "$x" | awk '$9 == "." {print "PATH contains current working directory (.)"} $3 != "root" {print $9, "is not owned by root"} substr($1,6,1) != "-" {print $9, "is group writable"} substr($1,9,1) != "-" {print $9, "is world writable"}'; else echo "$x is not a directory"; fi; done | grep -v "/root/bin" -eq 0 /snap/bin is not a directory ###################################### {"6.2.10. Đảm bảo root là tài khoản duy nhất có UID là 0" : "PASSED"} {"6.2.11. Đảm bảo mọi người dùng đều tồn tại thư mục home" : "PASSED"} {"6.2.12. Đảm bảo người dùng sở hữu thư mục home của chính họ" : "PASSED"} {"6.2.13. Đảm bảo quyền thư mục home của người dùng có mức bảo mật cao" : "FAILED"} ###################################### # Thực hiện đoạn script sau để đặt quyền cho thư mục home của tất cả người dùng là 750: # awk -F: '($1\!~/(halt|sync|shutdown|nfsnobody)/ && $7\!~/^(\/usr)?\/sbin\/nologin(\/)?$/ && $7\!~/(\/usr)?\/bin\/false(\/)?$/) {print $6}' /etc/passwd | while read -r dir; do if [ -d "$dir" ]; then dirperm=$(stat -L -c "%A" "$dir"); if [ "$(echo "$dirperm" | cut -c6)" != "-" ] || [ "$(echo "$dirperm" | cut -c8)" != "-" ] || [ "$(echo "$dirperm" | cut -c9)" != "-" ] || [ "$(echo "$dirperm" | cut -c10)" != "-" ]; then chmod g-w,o-rwx "$dir"; fi; fi; done ------------------- #awk -F: '($1\!~/(halt|sync|shutdown|nfsnobody)/ && $7\!~/^(\/usr)?\/sbin\/nologin(\/)?$/ && $7\!~/(\/usr)?\/bin\/false(\/)?$/) {print $1 " " $6}' /etc/passwd | while read -r user dir; do if [ ! -d "$dir" ]; then echo "User: \"$user\" home directory: \"$dir\" doesn't exist"; else dirperm=$(stat -L -c "%A" "$dir"); if [ "$(echo "$dirperm" | cut -c6)" != "-" ] || [ "$(echo "$dirperm" | cut -c8)" != "-" ] || [ "$(echo "$dirperm" | cut -c9)" != "-" ] || [ "$(echo "$dirperm" | cut -c10)" != "-" ]; then echo "User: \"$user\" home directory: \"$dir\" has permissions: \"$(stat -L -c "%a" "$dir")\""; fi; fi; done -eq 0 User: "cicd_to2" home directory: "/home/cicd_to2" has permissions: "755" User: "landesk" home directory: "/opt/landesk" has permissions: "755" ###################################### {"6.2.14. Đảm bảo không người dùng nào có file .netrc" : "PASSED"} {"6.2.15. Đảm bảo không người dùng nào có file .forward" : "PASSED"} {"6.2.16. Đảm bảo không người dùng nào có file .rhosts" : "PASSED"} {"6.2.17. Đảm bảo các file dot của người dùng không cấp quyền write cho group hoặc other" : "PASSED"}