保证Linux系统的网络安全需要从多个层面进行防护,以下是一套系统化的解决方案:
最小化安装
apt-get --no-install-recommends
或yum --setopt=install_weak_deps=False
)deluser <username>
补丁管理
unattended-upgrades
(Debian)或yum-cron
(RHEL)Canonical Livepatch
或kpatch
(RHEL)安全基线配置
oscap eval --profile stig-rhel7-server --results scan-results.xml /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
防火墙管理
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
nft add rule inet filter input ct state established,related accept
服务暴露控制
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:secp521r1;
多因素认证
auth required pam_google_authenticator.so
权限管理
# 创建角色
roleadd -K UID_MIN=5000 -K GID_MIN=5000 secadmin
# 配置sudo权限
visudo -f /etc/sudoers.d/secadmin_rules
内核级安全
setenforce 1
semanage port -a -t ssh_port_t -p tcp 2222
net.ipv4.conf.all.rp_filter=2
kernel.kptr_restrict=2
入侵检测系统
docker-compose -f wazuh-docker/single-node/docker-compose.yml up -d
alert tcp any any -> $HOME_NET 22 (msg:"SSH Bruteforce"; threshold:type threshold, track by_src, count 5, seconds 60; sid:1000001;)
集中化日志
# promtail配置示例
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets: [localhost]
labels:
job: varlogs
__path__: /var/log/*log
行为分析
SEC("tracepoint/syscalls/sys_enter_execve")
int trace_execve(struct trace_event_raw_sys_enter* ctx) {
char comm[TASK_COMM_LEN];
bpf_get_current_comm(&comm, sizeof(comm));
bpf_printk("execve by %s", comm);
return 0;
}
取证工具包
apt install forensics-all volatility3 lynis
备份策略
borg init --encryption=repokey-blake2 /backup/repo
borg create /backup/repo::'{hostname}-{now}' /etc /var/www
安全领域 | 推荐工具 | 适用场景 |
---|---|---|
漏洞扫描 | OpenVAS + Greenbone | 定期全面扫描 |
配置审计 | Lynis + CIS-CAT | 合规性检查 |
网络监控 | Zeek + Elastic Stack | 流量分析 |
容器安全 | Falco + Clair | 运行时监控/镜像扫描 |
密钥管理 | HashiCorp Vault | 集中化密钥存储 |
- name: Harden SSH
hosts: all
tasks:
- lineinfile:
path: /etc/ssh/sshd_config
regexp: '^#?PermitRootLogin'
line: 'PermitRootLogin no'
notify: restart sshd
通过以上分层防御策略的组合实施,配合持续监控和定期审计,可构建符合NIST SP 800-171标准的Linux安全防护体系。实际部署时应根据业务需求进行裁剪,建议通过自动化工具保持配置一致性。