为了减少系统被黑客入侵,对操作系统的安全加固是网络安全和主机安全必不可少的一部分。
一、Linux安全加固
1.不使用默认的ssh端口,修改默认ssh22端口号
sudo vim /etc/ssh/ssh_config
去掉#注释,修改端口号并保存
2.关闭不必要的系统服务
sudo systemctl stop <service_name>
sudo service <service_name> stop
3.禁止root远程ssh登录
sudo vim /etc/ssh/sshd.config
在代码中添加PermitRootLogin no,并保存
4.限制su root切换为管理员用户
vim /etc/pam.d/su
取消此语句的注释,或者添加此语句
测试:
5.密码复杂度策略
使用cracklib模块检查密码复杂度,若没有此模块先进行下载
sudo apt install cracklib
6.检查不必要的sudo权限
当普通用户拥有一些sudo权限时,在执行命令时可以临时拥有root的权限
查看sudo信息
sudo -l
若有普通用户拥有sudo权限,不用是应该及时更改此语句
vim /etc/sudoers
7.检查是否有空口令账户
可以检查/etc/passwd和/etc/shadow的第二个字段是否为空,或为两个!!
cat /etc/passwd
cat /etc/shadow
也可以使用awk快捷查找
-F:选项设置字段分隔符为冒号,然后$2
是密码字段。如果密码字段为空或包含两个感叹号,则打印出对应的用户名($1
)。
awk -F: '($2 == "" || $2 == "!!") {print $1}' /etc/shadow
8.及时更新软件包和补丁
及时更新系统中的软件和补丁,避免系统或软件漏洞被利用
Debian/Ubuntu:
apt list --upgradeable
RedHat/CentOS:
yum check-update
dnf check_update
9.对登陆失败次数进行限制
防止用户密码被暴力破解,对输入密码失败次数进行限制
vim /etc/pam.d/login
添加一下语句
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root
deny=3
表示允许用户连续输错密码的最大次数为3次,unlock_time=300
表示用户被锁定后的解锁时间为300秒,even_deny_root
表示该限制也适用于root用户。
二、Windows安全加固
1.更改默认的Administrator账户名
Win+R打开命令行,输入compmgmt.msc进入计算机管理
2.禁用Guest账户和无用账户
Win+R,输入compmgmt.msc,在用户属性中禁用账户,也可以删除不需要的账户
3.密码复杂度策略
Win+R,输入gpedit.msc,设置密码策略
4.不显示上次登录的用户名
gpedit.msc
5.登录失败账号锁定策略(防止暴力破解)
gpedit.msc
6.关闭一些不必要的服务
services.msc
总结:
安全加固的主要目的时为了杜绝或尽可能减少黑客对主机控制的可能性,但是过于刻意的加固也会导致主机在运行一些服务时产生问题,所有的安全都是有代价的。
Windows的安全加固非常的可视化,功能也非常的多,可以在Windows的管理工具中详细查看。