ubuntu20.04服务器安全策略设定

琉璃3年前技术文章3241

密码策略

1、经核查,服务器用户身份标识唯一,口令存储在服务器中采用SHA512算法,服务器配置口令复杂度,口令要求8位以上,字母、数字、特殊字符组成,口令180天定期更换。

# SHA512算法查看

cat /etc/login.defs |grep ENCRYPT_METHOD

image.png

#口令180天更换

 cat /etc/login.defs |egrep -v  "#" |grep PASS_MAX_DAYS

image.png

# 密码负载度策略查看,看password那一栏是否引入pam_cracklib.so参数

需要先安装模块

apt-get update&&apt-get install libpam-cracklib

编辑/etc/pam.d/common-password,在password requisite pam_cracklib.so开头的这一行配置minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中的3类或4类)设置为3或4,即在行末尾加上参数minclass=3;在password [success=1 default=ignore] pam_unix.so开头的这一行增加配置minlen(密码最小长度)设置为8-32位,建议为10,即在行末尾加上参数minlen=10

image.png


登录超时设定

2、经核查,服务器启用登录失败功能,登录失败3次后用户锁定20分钟,root用户锁定20分钟,启用登录连接超时自动退出功能,超时10分钟自动退出。

vim /etc/pam.d/login

添加:

auth required pam_tally2.so deny=3 unlock_time=1200  even_deny_root root_unlock_time=1200

参数介绍:

1.auth required pam_tally2.so    #是固定的

2.deny   #设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户

3.unlock_time  #设定普通用户锁定后,多少时间后解锁,单位为秒

4.root_unlock_time  #设定root用户锁定后,多少时间后解锁,单位是秒

image.png

编辑/etc/ssh/sshd_config

10分钟空间超时 退出,最多3个活跃用户登录设置如下:将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。

10分钟空间超时 退出,最多两个活跃用户登录

ClientAliveInterval 600
ClientAliveCountMax 2


image.png

在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为3:

MaxAuthTries 3

image.png

重启ssh服务

systemctl restart ssh
systemctl enable ssh


telnet服务关闭

3、经核查,服务器通过SSH连接堡垒机后,使用SSH协议登录服务器的方式进行远程管理,且关闭了Telnet和HTTP明文传输协议,可防止鉴别信息在网络传输过程中被窃听。

apt-get remove telnet


image.png

审计日志开启

4、经核查,服务器已开启rsyslogd和auditd进程进行审计,审计内容包括系统内重要安全相关事件,包括auth 认证行为、cron执行计划行为、mail邮件行为等。

service rsyslog status

image.png

apt-get install auditd -y 
systemctl start auditd
systemctl enable  auditd


image.png





相关文章

ES运维(三)架构与规划(阿里云)

ES运维(三)架构与规划(阿里云)

1、 阿里云Elasticsearch架构图阿⾥云Elasticsearch和Kibana容器化运⾏在ECS中,监控agent(独⽴进程)负责收集监控指标,通过SLS发送给云监控完成监控报警。实例之间...

数据湖技术之iceberg(十二)Flink与Iceberg整合-SQL API操作

数据湖技术之iceberg(十二)Flink与Iceberg整合-SQL API操作

1.SQL API 创建Iceberg表并写入数据StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnv...

helm chart包编写

helm chart包编写

相关文档https://helm.sh/zh/docs/charttemplateguide/getting_started/编写helm chart包创建chart包```Plain Text h...

K8S中 CNI 插件的解读

K8S中 CNI 插件的解读

一.CNI是什么首先我们介绍一下什么是 CNI,它的全称是 Container Network Interface,即容器网络的 API 接口。它是 K8s 中标准的一个调用网络实现的接口。Kubel...

MongoDB的索引(五)

十一、2d Indexes1、在MongoDB 2.2版本之前或者地址位置字段没有使用GeoJSON进行存储的情况下,我们使用2d索引比较多。2、2d索引一般是用来计算平面上的计算,对于球面的一些几何...

InnoDB秘籍:MVCC机制与行锁的深度探索(2)

InnoDB秘籍:MVCC机制与行锁的深度探索(2)

InnodDB 和 ACID 模型事务 ACID 模型是一种数据库设计原则,InnoDB 引擎是 MySQL 默认且支持事务的存储引擎,它严格遵循 ACID 模型,结果也不会因软件崩溃和硬件故障等特殊...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。