Centos安全配置
一、网络配置
1、检查不用的连接
使用以下命令
ip link show up
如果有需要关闭的接口,可以使用ip link set down
2、关闭IP转发
先查看ip转发配置
sysctl net.ipv4.ip_forward
查看发现为0,如果是1,可以使用下面命令改为0
sysctl -w net.ipv4.ip_forward=0
3、关闭数据包重定向
查看数据包重定向设置
sysctl net.ipv4.conf.all.send_redirects
查看发现为1,可以使用下面命令改为0
sysctl -w net.ipv4.conf.all.send_redirects=0
4、开启SYN cookies
查看syn cookies配置
sysctl net.ipv4.tcp_syncookies
发现为1,已经开启。如果为0,则使用下面命令改为1
sysctl -w net.ipv4.tcp_syncookies=1
二、查看审计服务
1、查看服务是否开启
systemctl status auditd
如上图显示服务已经开启,如未开启可以使用下面命令开启
systemctl start auditd
2、查看审计日志大小
cat /etc/audit/auditd.conf |grep max
可以自己修改文件,然后重启auditd服务后生效。
三、查看并配置日志审计
1、查看日志文件权限,日志权限应为600,仅root可读写
使用下面命令
ls -l /var/log/
非600的文件,可以使用下面命令改为600
chmod 600 目录
2、查看日志归档处理
确保存在/etc/logrotate.d/syslog文件
使用以下命令
ls /etc/logrotate.d/syslog
四、查看SSH认证配置
1、检查SSH配置文件权限
ls -l /etc/ssh/sshd_config
如图显示权限为644,建议改为600,使用以下命令
chmod 600 /etc/ssh/ssd_config
2、配置允许SSH允许的验证失败次数
查看当前配置
sshd -T |grep maxauthtries
如上图显示,默认为6次登录失败后断开连接。
可以修改/etc/ssh/sshd_config文件的MaxAuthTires值进行修改
3、禁止空密码登录SSH
sshd -T | grep permitemptypasswords
4、查看SSH支持密码算法,确保没有md5 des等已经不安全的算法
sshd -T | grep ciphers
五、认证模块配置
Linux的认证模块由PAM处理,PAM中可以配置认证的账号、密码强度等操作。
1、密码强度配置
vim /etc/security/pwquality.conf
可以自己修改配置,去掉行首#号
如将密码最小设为10位,设置minlen = 10
将密码复杂度为4种类型(包含大写字母、小写字母、数字、符号),设置minclass =4
如图设置,设置后保存退出。
2、密码过期时间设置
查看过期时间
grep ^\s*PASS_MAX_DAYS /etc/login.defs
默认过期时间为9999天,修改相应文件即可修改过期时间
3、查看用户密码过期时间
grep -E '^[^:]+:[^!*]' /etc/shadow | cut -d: -f1,5
修改root用户过期时间
chage --maxdays 365 root //修改为365天后过期
4、自动禁用账号
useradd -D | grep INACTIVE
如图显示-1表示不会自动禁用账号
使用下面设置30天未使用的账号自动禁用
useradd -D -f 30
windows安全配置
一、登录服务器,打开组策略
Win+R
输入gpedit.msc,点确定
二、账户策略配置
1、密码策略
依次如图展开,密码策略,如图进行配置
2、账户锁定策略
配置账户锁定阈值
三、配置安全选项
1、账户配置
如图
重命名管理员账号为test1234(配置完后,可以尝试注销,看看administrator是否能登录)
禁止使用Microsoft账户登录
2、交互式登录配置
如图,配置
3、用户账户控制
如图,配置以下四项
四、高级安全审核配置
1、账户登录
2、账户管理
3、详细跟踪
4、登录/注销
5、对象访问
6、特权使用