守听 发表于 5 天前

体系安全及应用

一、账号安全控制

[*]体系账号管理

[*]清理非登任命户:

[*]将非交互式用户(如服务账号)的 Shell 设置为 /sbin/nologin:


usermod -s /sbin/nologin <用户名> 


[*]

[*]

[*]锁定长期未使用的账号:


passwd -l <用户名>   # 锁定 
usermod -L <用户名> 


[*]

[*]

[*]删除无用账号并清理残留文件:


userdel -r <用户名>   # 连带删除家目次和邮件池 


[*]

[*]

[*]锁定关键文件 /etc/passwd 和 /etc/shadow,防止非法修改:


chattr +i /etc/passwd /etc/shadow   # 锁定 
chattr -i /etc/passwd /etc/shadow   # 解锁 


[*]

[*]暗码策略强化:

[*]复杂度要求:
编辑 /etc/security/pwquality.conf,设置最小长度(minlen=12)、字符范例(minclass=4)等规则。
[*]有效期控制:

[*]全局配置:修改 /etc/login.defs,设置 PASS_MAX_DAYS=90(暗码最长使用天数)。
[*]用户级配置:使用 chage 命令:



chage -M 90 -m 7 -W 14 <用户名>   # 设置暗码90天过期,修改间隔7天,提前14天警告 

[*]

[*]命令汗青与终端安全:

[*]限定汗青记载条数(/etc/profile 中设置 HISTSIZE=100)。
[*]终端闲置超时自动注销(export TMOUT=180)。
[*]注销时自动清空汗青记载(.bash_logout 中添加 history -c)。


[*]用户权限控制

[*]限定 su 命令使用:

[*]仅答应 wheel 组用户使用 su:


gpasswd -a <用户> wheel    # 将用户参加wheel组 
vi /etc/pam.d/su          # 启用 `auth required pam_wheel.so use_uid` 


[*]

[*]精细化 sudo 授权:

[*]通过 visudo 配置 /etc/sudoers,例如:


user1 ALL=(root) /usr/bin/systemctl restart httpd   # 仅答应重启HTTP服务 
%wheel ALL=(ALL) ALL   # wheel构成员可执行全部命令 


[*]

[*]

[*]启用 sudo 日志记载:


Defaults logfile="/var/log/sudo.log" 
二、体系引导与登录控制

[*]引导步伐安全(GRUB)

[*]加密 GRUB 菜单:

[*]生成暗码哈希:


grub2-mkpasswd-pbkdf2 


[*]

[*]

[*]修改 /etc/grub.d/40_custom,添加:


set superusers="admin" 
password_pbkdf2 admin <哈希值> 


[*]

[*]

[*]更新配置:


grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg 


[*]

[*]禁用高风险功能:

[*]克制通过 Ctrl+Alt+Del 重启:


systemctl mask ctrl-alt-del.target 


[*]

[*]

[*]关闭非必要服务(如 telnet):


systemctl disable telnet.socket 

[*]登录安全策略

[*]SSH 加固:

[*]克制 root 远程登录(修改 /etc/ssh/sshd_config):


PermitRootLogin no 
PasswordAuthentication no   # 逼迫使用密钥认证 
MaxAuthTries 3              # 限定登录尝试次数 


[*]

[*]

[*]启用登录失败锁定(PAM 配置):


auth required pam_tally2.so deny=5 unlock_time=600 


[*]

[*]终端登录限定:

[*]限定 root 仅能在特定终端登录(修改 /etc/securetty)。
[*]设置登录警告横幅(编辑 /etc/issue.net)。


三、弱口令检测与防范

[*]自动化检测工具

[*]John the Ripper:

[*]提取哈希并破解:


unshadow /etc/passwd /etc/shadow > hashes.txt 
john --wordlist=/usr/share/dict/rockyou.txt hashes.txt 


[*]

[*]

[*]检察效果:


john --show hashes.txt 


[*]

[*]Cracklib 集成:

[*]修改 PAM 配置(/etc/pam.d/system-auth):


password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 

[*]逼迫暗码策略

[*]定期扫描弱口令用户:

for user in $(cut -d: -f1 /etc/passwd); do passwd -S $user | grep "weak"; done 
四、端口扫描与网络防护

[*]端口扫描检测

[*]使用 nmap:

nmap -sS -p 1-65535 192.168.1.1   # SYN半开扫描 
nmap -sU -p 1-1000 192.168.1.1    # UDP端口扫描 


[*]

[*]监控端口变革:

ss -tuln > ports_$(date +%F).txt   # 每日志录开放端口 
diff ports_2023-10-01.txt ports_2023-10-02.txt 

[*]防火墙配置(firewalld)

[*]仅开放必要端口:

firewall-cmd --permanent --add-port=80/tcp 
firewall-cmd --reload 


[*]

[*]限定 IP 访问:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept' 
五、实行建议与高级防护

[*]体系更新与审计

[*]启用自动更新:

dnf install dnf-automatic 
systemctl enable --now dnf-automatic.timer 


[*]

[*]启用 auditd 监控关键文件:

auditctl -w /etc/passwd -p wa -k user_changes 

[*]逼迫访问控制(SELinux)

[*]底子操作:

setenforce 1   # 临时启用 
semanage port -a -t http_port_t -p tcp 8080   # 自界说端口标签 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 体系安全及应用