如何查看linux服务器白名单
如何查看linux服务器白名单详细介绍
在 Linux 服务器中查看白名单需要根据具体的服务或组件进行针对性操作。以下是常见场景的详细解决方案:
一、防火墙白名单(iptables/firewalld)
1. iptables(适用于 CentOS 6 及更早版本)
- 查看所有规则:
bashiptables- 关键参数:
-n:禁用 DNS 解析,加快显示速度。-L:列出当前规则。-v:显示详细统计信息。
- 示例输出:plaintext
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 192.168.1.100 0.0.0.0/0 tcp dpt:22
- 白名单特征:
target为ACCEPT且source指定了具体 IP 或网段。
- 白名单特征:
- 关键参数:
- 过滤白名单规则:
bashiptables
2. firewalld(适用于 CentOS 7 及以上)
- 查看所有规则:
bashfirewall-cmd --list-all- 示例输出:plaintext
public (active)target: default
icmp-block-inversion: no
interfaces: eth0
sources: 192.168.1.0/24
services: ssh dhcpv6-client
ports: 8080/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family="ipv4" source address="10.0.0.5" accept
- 白名单特征:
sources字段或rich rules中的accept规则。
- 白名单特征:
- 示例输出:plaintext
- 查看特定端口的白名单:
bashfirewall-cmd --query-port/tcp
二、SSH 登录白名单(sshd_config)
- 配置文件路径:
bash/etc/ssh/sshd_config - 关键配置项:
bashAllowUsers user1@192.168.1.100 user2@10.0.0.0/24
AllowGroups developers
DenyUsers root
- 生效配置:
bashsystemctl restart sshd - 验证配置:
bash/etc/ssh/sshd_config
三、Web 服务白名单(Nginx/Apache)
1. Nginx
- 配置文件路径:
bash/etc/nginx/nginx.conf 或 /etc/nginx/conf.d/*.conf - 示例配置:
nginxexample.com
/admin
192.168.1.0/24
all
- 查看生效规则:
bashnginx
2. Apache
- 配置文件路径:
bash/etc/httpd/conf/httpd.conf 或 /etc/httpd/conf.d/*.conf - 示例配置:
apache<Directory /var/www/html/admin>Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
</Directory>
- 验证配置:
bashapachectl
四、SELinux 策略白名单
- 查看 SELinux 状态:
bashsestatus- 示例输出:plaintext
SELinux status: enabledCurrent mode: enforcing
- 示例输出:plaintext
- 查询特定规则:
bashsesearch httpd_sys_content_t - 查看布尔值设置:
bashgetsebool httpd
五、其他服务白名单
1. FTP(vsftpd)
- 配置文件路径:
bash/etc/vsftpd/vsftpd.conf - 关键配置项:
bashYESNO
/etc/vsftpd/user_list
- 查看白名单用户:
bash/etc/vsftpd/user_list
2. 数据库(MySQL/PostgreSQL)
- MySQL:
- 配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf - 关键配置:bash
bind-address .1.100
- 配置文件:
- PostgreSQL:
- 配置文件:
/var/lib/pgsql/data/pg_hba.conf - 示例规则:bash
all all .1.0/24 md5
- 配置文件:
六、综合排查建议
- 确认服务类型:明确需要查看的白名单所属服务(如防火墙、SSH、Web 服务等)。
- 检查配置文件:
- 使用
grep或cat命令直接查看配置文件内容。 - 注意配置文件的路径可能因发行版或服务版本而异。
- 使用
- 验证生效规则:
- 对于 iptables/firewalld,使用命令行工具直接查询。
- 对于服务配置,重启服务后通过日志或测试连接验证。
- 权限管理:
- 多数配置文件需要
root权限访问。 - 修改配置后需使用
sudo或切换至 root 用户执行生效命令。
- 多数配置文件需要
七、注意事项
- 规则优先级:
- iptables 规则按顺序匹配,靠前的规则优先级更高。
- Nginx 和 Apache 的
allow/deny指令也遵循顺序匹配原则。
- 服务兼容性:
- 某些服务(如 Nginx 反向代理)可能需要配置
X-Forwarded-For头以获取真实客户端 IP。
- 某些服务(如 Nginx 反向代理)可能需要配置
- 安全风险:
- 白名单应仅包含必要的 IP 或用户,避免过度开放。
- 定期审计白名单,移除不再需要的条目。
通过以上方法,您可以全面查看 Linux 服务器中不同组件的白名单配置,并根据实际需求进行调整和优化。