密评和等保是确保信息系统安全性的重要手段。这两项工作不仅要求对系统的硬件、软件、网络、数据等多个层面进行全面检查,还需要利用一系列专业的测试命令来验证系统的安全性。列出密评与等保中高频使用的100个测试常用命令,内容仅为基础知识,仅供参考。
一、基础系统信息查看命令
- 1. uname -a:显示系统内核名称、主机名、内核版本、处理器类型等信息,是了解系统基础信息的第一步。
- 2. lsb_release -a:在基于Debian的系统上,显示Linux标准基础(LSB)版本信息,帮助评估者快速了解系统发行版。
- 3. cat /etc/os-release:显示操作系统的发行版信息,对于不同发行版的Linux系统,此文件的内容可能有所不同。
- 4. hostnamectl:显示和修改系统的静态主机名及相关设置,是系统配置和网络管理的重要工具。
- 5. lscpu:显示CPU架构信息,包括CPU型号、核心数、线程数、缓存大小等,有助于了解系统的计算能力。
- 6. free -h:以人类可读的格式显示内存使用情况,包括物理内存、交换空间等。
- 7. df -h:以人类可读的格式显示文件系统的磁盘空间使用情况。
- 8. du -sh /path/to/directory:显示指定目录的磁盘使用情况,帮助评估者快速定位大文件或目录。
- 9. top:实时显示系统任务管理器,包括CPU、内存使用率等信息,是系统性能监控的常用工具。
- 10. htop:top命令的增强版,提供更友好的界面和更多的功能,如过滤、搜索等。
二、网络配置与监控命令
- 1. ifconfig:显示或配置网络接口的参数,如IP地址、子网掩码等。注意,在某些现代Linux发行版中,ifconfig已被ip命令取代。
- 2. ip addr show:显示网络接口的IP地址、MAC地址等信息,是ifconfig的现代替代品。
- 3. netstat -tuln:显示当前系统的网络连接、路由表、接口统计等信息。
- 4. ss -tuln:与netstat类似,但性能更好,是netstat的现代替代品。
- 5. ping hostname_or_ip:测试与指定主机或IP地址的网络连通性。
- 6. traceroute hostname_or_ip:显示数据包到达目标主机所经过的路径,有助于诊断网络问题。
- 7. mtr hostname_or_ip:结合ping和traceroute的功能,提供更详细的网络诊断信息。
- 8. nmap -sP 192.168.1.0/24:扫描指定网络范围内的活跃主机,是网络安全评估的常用工具。
- 9. nmap -sV -p- hostname_or_ip:对指定主机进行服务版本探测和端口扫描,以发现潜在的安全漏洞。
- 10. tcpdump -i eth0:捕获并显示指定网络接口上的数据包,是网络协议分析和故障排查的强大工具。
三、文件与目录管理命令
- 1. ls -la /path/to/directory:列出指定目录下的所有文件和子目录,包括隐藏文件,并以长格式显示详细信息。
- 2. **find /path/to/search -name "filename"**:在指定目录下搜索名为"filename"的文件或目录。
- 3. grep "search_term" /path/to/file:在指定文件中搜索包含"search_term"的行,并打印出来。
- 4. awk '/search_term/' /path/to/file:使用awk工具在文件中搜索包含"search_term"的行,并打印出来。
- 5. sed -n '/search_term/p' /path/to/file:使用sed工具在文件中搜索包含"search_term"的行,并打印出来。
- 6. diff /path/to/file1 /path/to/file2:比较两个文件的内容差异,并打印出来。
- 7. chmod 755 /path/to/file_or_directory:更改文件或目录的权限,使其对所有者可读写执行,对组和其他用户可读执行。
- 8. chown user:group /path/to/file_or_directory:更改文件或目录的所有者和组。
- 9. cp /path/to/source /path/to/destination:复制文件或目录到指定位置。
- 10. mv /path/to/source /path/to/destination:移动或重命名文件或目录。
四、用户与权限管理命令
- 1. useradd username:创建新用户。
- 2. userdel -r username:删除用户及其主目录和邮件池。
- 3. passwd username:更改用户密码。
- 4. groupadd groupname:创建新组。
- 5. groupdel groupname:删除组。
- 6. gpasswd -a username groupname:将用户添加到组中。
- 7. visudo:安全地编辑sudoers文件,以管理sudo权限。
- 8. id username:显示用户的UID、GID及其所属附加组的信息。
- 9. whoami:显示当前用户的用户名。
- 10. su - username:切换到指定用户并执行登录shell。
五、系统日志与安全审计命令
- 1. dmesg:显示或控制内核环形缓冲区消息,常用于查看系统启动和硬件相关的消息。
- 2. journalctl:查询systemd日志,是现代Linux系统中常用的日志管理工具。
- 3. tail -f /var/log/syslog:实时查看系统日志文件的内容,常用于监控系统活动。
- 4. grep "search_term" /var/log/syslog:在系统日志文件中搜索包含"search_term"的行。
- 5. auditctl -a always,exit -F arch=b64 -S execve -k exec:使用auditd工具添加审计规则,监控所有64位架构上的execve系统调用,并标记为"exec"。
- 6. ausearch -k exec:搜索标记为"exec"的审计记录。
- 7. last:显示最近登录用户的记录。
- 8. w:显示当前登录用户的信息以及他们正在执行的命令。
- 9. who:显示当前登录的用户列表。
- 10. faillog -r:查看失败登录尝试的记录。
六、进程与任务管理命令
- 1. ps aux:显示当前系统上所有进程的详细信息。
- 2. top -u username:以实时方式显示指定用户的进程信息。
- 3. htop:top命令的增强版,提供更友好的界面和更多的功能。
- 4. pgrep process_name:根据进程名搜索进程ID。
- 5. pkill process_name:根据进程名终止进程。
- 6. kill -9 PID:强制终止指定PID的进程。
- 7. nice -n 10 command:以指定的nice值运行命令,降低其优先级。
- 8. renice 10 -p PID:更改已运行进程的nice值。
- 9. at now + 5 minutes:在指定时间后执行命令,常用于计划任务。
- 10. crontab -e:编辑当前用户的crontab文件,用于设置周期性任务。
七、防火墙与安全策略命令
- 1. iptables -L:列出当前的iptables规则。
- 2. iptables -A INPUT -p tcp --dport 22 -j ACCEPT:允许TCP协议的22端口(SSH)入站流量。
- 3. iptables -P INPUT DROP:将默认的入站策略设置为丢弃。
- 4. ufw status:显示Uncomplicated Firewall(ufw)的状态。
- 5. ufw allow 22/tcp:允许TCP协议的22端口(SSH)入站流量。
- 6. ufw default deny incoming:将默认的入站策略设置为拒绝。
- 7. firewall-cmd --list-all:列出firewalld防火墙的规则和区域设置。
- 8. firewall-cmd --permanent --add-service=ssh:永久允许SSH服务。
- 9. firewall-cmd --reload:重新加载firewalld配置。
- 10. sestatus:显示SELinux的状态。
八、加密与密码管理命令
- 1. openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048:生成2048位RSA私钥。
- 2. openssl req -new -key private_key.pem -out cert_request.csr:基于私钥生成证书签名请求(CSR)。
- 3. openssl x509 -req -days 365 -in cert_request.csr -signkey private_key.pem -out certificate.crt:自签名证书。
- 4. **ssh-keygen -t rsa -b 2048 -C "your_email@example.com"**:生成SSH密钥对。
- 5. ssh-copy-id username@hostname:将公钥复制到远程主机的authorized_keys文件中,以便实现无密码SSH登录。
- 6. openssl passwd -crypt -salt your_salt your_password:使用crypt算法加密密码。
- 7. passwd -S username:显示用户密码的状态信息。
- 8. chage -M 90 username:设置用户密码的最大有效期为90天。
- 9. pwquality:检查密码强度是否符合系统策略。
- 10. john --wordlist=/path/to/wordlist password_hash:使用John the Ripper工具进行密码破解尝试。
九、应用与服务管理命令
- 1. systemctl status servicename:显示指定服务的状态。
- 2. systemctl start servicename:启动指定服务。
- 3. systemctl stop servicename:停止指定服务。
- 4. systemctl enable servicename:设置指定服务为开机自启动。
- 5. systemctl disable servicename:禁用指定服务的开机自启动。
- 6. systemctl restart servicename:重启指定服务。
- 7. systemctl reload servicename:重新加载指定服务的配置(如果服务支持)。
- 8. docker ps:列出正在运行的Docker容器。
- 9. docker images:列出本地Docker镜像。
- 10. docker run -d -p 80:80 nginx:在后台运行一个Nginx容器,并将容器的80端口映射到主机的80端口。
十、其他高级命令与工具
- 1. nmap -sV -O -A target_ip:对目标IP进行服务版本探测、操作系统检测和应用程序审计。
- 2. metasploit-framework:一个开源的渗透测试框架,提供大量的漏洞利用工具和攻击载荷。
- 3. wireshark:一个网络协议分析器,用于捕获和分析网络数据包。
- 4. aircrack-ng:一套用于无线网络安全的工具集,包括密码破解、网络分析等功能。
- 5. nessus:一个综合的漏洞扫描器,能够检测网络中的安全漏洞。
- 6. openvas:一个开源的漏洞扫描器,与Nessus类似,但完全免费。
- 7. snort:一个开源的入侵检测系统(IDS),能够实时监控网络流量并检测潜在的攻击。
- 8. suricata:另一个开源的IDS/IPS(入侵防御系统),提供高性能的网络威胁检测能力。
- 9. osquery:一个开源的系统监控和响应框架,允许用户编写SQL查询来收集系统信息。
- 10. zabbix:一个开源的企业级监控解决方案,能够监控各种IT基础设施的性能和可用性。
100个命令和工具覆盖了密评与等保评估中的多个方面,从系统信息查看、网络配置与监控、文件与目录管理、用户与权限管理、系统日志与安全审计、进程与任务管理、防火墙与安全策略、加密与密码管理到应用与服务管理以及其他高级命令与工具。这些命令和工具是信息安全专业人员在进行密评与等保评估时不可或缺的利器。