前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7系统安全加固小结

CentOS7系统安全加固小结

作者头像
yuanfan2012
发布2020-06-10 10:52:22
4.3K0
发布2020-06-10 10:52:22
举报
文章被收录于专栏:WalkingCloud

CentOS7系统安全加固小结

1.设置口令策略+登录限制

加强口令的复杂度等,降低被猜解的可能性。操作步骤如下

1)使用命令 vi /etc/login.defs 修改配置文件

代码语言:javascript
复制
PASS_MAX_DAYS 30 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_MIN_LEN 10 #密码最小长度
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

2)使用chage命令修改用户设置

代码语言:javascript
复制
chage -m 0 -M 30 -E 2020-06-30 -W 7 root

表示将root用户的密码最长使用天数设为30,最短使用天数设为0,密码2020年06月30日过期,过期前七天警告用户

如上图所示,手动修改系统日期与时间进行验证,再次登录会要求修改密码

3)设置SSH登录连续输错五次密码,账号锁定30秒

使用命令

代码语言:javascript
复制
vi /etc/pam.d/sshd

修改配置文件,在配置文件中添加

代码语言:javascript
复制
auth required pam_tally2.so deny=5 unlock_time=30 even_deny_root root_unlock_time=30

pam_tally -r去重置计数

2.SSH安全加固

1、限制root用户直接登录

创建普通权限账号并配置密码,防止无法远程登录

vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务

2、修改SSH使用的协议版本。

设置 Protocol 的版本为 2

3、修改允许密码错误次数(默认6次)

设置 MaxAuthTries 的值为 3

4、修改SSH的端口

例如改为Port 8022

代码语言:javascript
复制
sed -i 's/#Port 22/Port 8022/g' /etc/ssh/sshd_config
service sshd restart
firewall-cmd --zone=public --add-port=8022/tcp --permanent
firewall-cmd --reload

修改过后请务必请记录SSH 的端口号

5、修改监听地址

ListenAddress 0.0.0.0 修改为具体的网卡IP地址 若有多网卡,只监听在某个网卡地址上

6、关闭AgentForwarding和TcpForwarding

#AllowAgentForwarding yes

#AllowTcpForwarding yes

改为

AllowAgentForwarding no

AllowTcpForwarding no

另外在Linux中,通过外网使用SSH服务登录或数据传输时,速度很慢,即使是使用内网登录或数据传输也很慢。

该问题可能是由于SSH服务启用了UseDNS特性所致。

使用vi等编辑器,修改为

UseDNS no

也可以注释策略配置,在策略配置前添加 #

#UseDNS no

重启SSH服务使配置生效。service sshd restart

3.记录所有用户的登录和操作日志

通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查

vi /etc/profile修改配置文件,在配置文件中输入以下内容

代码语言:javascript
复制
history
 USER=`whoami`
 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
 if [ "$USER_IP" = "" ]; then
 USER_IP=`hostname`
 fi
 if [ ! -d /var/log/history ]; then
 mkdir /var/log/history
 chmod 777 /var/log/history
 fi
 if [ ! -d /var/log/history/${LOGNAME} ]; then
 mkdir /var/log/history/${LOGNAME}
 chmod 300 /var/log/history/${LOGNAME}
 fi
 export HISTSIZE=4096
 DT=`date +"%Y%m%d_%H:%M:%S"`
 export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
 chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null

运行source /etc/profile 加载配置生效

注意: /var/log/history 是记录日志的存放位置,可以自定义。

通过上述步骤,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作

目前先总结这么多,后续有遇到再补充

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS7系统安全加固小结
    • 1.设置口令策略+登录限制
      • 1)使用命令 vi /etc/login.defs 修改配置文件
      • 2)使用chage命令修改用户设置
      • 3)设置SSH登录连续输错五次密码,账号锁定30秒
    • 2.SSH安全加固
      • 1、限制root用户直接登录
      • 2、修改SSH使用的协议版本。
      • 3、修改允许密码错误次数(默认6次)
      • 4、修改SSH的端口
      • 5、修改监听地址
      • 6、关闭AgentForwarding和TcpForwarding
    • 3.记录所有用户的登录和操作日志
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档