Centos安全加固策略

 

目录

密码安全策略

设置密码的有效期和最小长度

设置用户密码的复杂度

登录安全策略

设置用户远程登录的安全策略

安全的远程管理方式

访问控制

限制root用户登录

修改ssh 22端口

设置登录超时时间

限制IP访问

安全审计

审核策略开启

日志属性设置

查看系统登录日志


操作系统安全加固就是使操作系统安全稳定的各种技术方案。安全加固可从操作系统内外来看,对内就是是操作系统配置以及内核参数的调整,加强内部管理。对外,操作系统可以通过建立防火墙,关闭不必要开放的端口等等,建立安全的网络屏障。

  • 密码安全策略

操作系统和数据库系统管理用户身份鉴别信息应具有不易被冒用的特点,口令应有复杂度要求并定期更换。设置有效的密码策略,防止攻击者破解出密码。

密码相关的安全策略,主要是通过 /etc/login.defs 与 pam_cracklib.so 实现的。

/etc/login.defs:只控制了账号密码的有效期和最小长度。修改完/etc/login.defs文件后,会立即生效,但是它只对修改后创建的用户生效。

pam_cracklib.so:该模块实现了账户密码的复杂度控制。早期用的是pam_cracklib.so模块,后来改成用pam_pwquality.so了,该模块完全兼容旧的pam_cracklib.so模块。该模块对应的配置文件路径在/etc/pam.d/目录下。

查看空口令帐号并为弱/空口令帐号设置强密码
[root@localhost ~]# awk -F: '($2 == ""){print $1}' /etc/shadow

设置密码的有效期和最小长度

 修改vim /etc/login.defs配置密码周期策略

[root@localhost ~]# vim /etc/login.defs

/etc/login.defs参数说明:
PASS_MAX_DAYS 90      #密码最大有效期,此处参数PASS_MAX_DAYS为90,表示90天后,密码会过期,99999表示永不过期。
PASS_MIN_DAYS 10       #两次修改密码的最小间隔时间,0表示可以随时修改账号密码
PASS_MIN_LEN 8           #密码最小长度,对于root无效
PASS_WARN_AGE 7       #密码过期前多少天开始提示

注:修改了 /etc/login.defs下参数时,会立即生效,但是它只对修改后创建的用户生效,以前的帐号还是按99999天周期时间来算

 

设置用户密码的复杂度

备份原有配置文件
[root@localhost ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

设置复杂度策略
[root@localhost ~]# vim /etc/pam.d/system-auth

 

找到包含pam_pwquality.so模块的行,将原有行注释并修改为如下的新配置,密码长度最少12位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号。 

password requisite pam_cracklib.so try_first_pass local_users_only retry=3 difok=2 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
注释说明:
difok=2                 #本次密码与上次密码至少不同字符数
minlen=12               #密码最小长度为8个字符。
lcredit=-1                 #密码应包含的小写字母的至少一个
ucredit=-1                #密码应包含的大写字母至少一个
dcredit=-1                #将密码包含的数字至少为一个
retry=3                      #重试多少次后返回密码修改错误
ocredit=-1                #设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root #确保即使是root用户设置密码,也应强制执行复杂性策略。

【注】这个设置对于root没有作用,只针对普通用户修改自己密码时起作用

如果新建用户的密码不符合密码复杂度,就会出现BAD PASSWORD: it is based on a dictionary word提示。

passwd ttt

Changing password for user ttt.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

创建新用户进行验证

 

  • 登录安全策略

登录安全相关的控制策略,主要是通过 pam_tally2.so 模块实现的,比如尝试登录失败多少次就锁定用户多少分钟。同样,该模块对应的配置文件路径也是在vim /etc/pam.d/login目录下。

设置用户远程登录的安全策略

执行指令# vim /etc/pam.d/login添加以下一行

[root@localhost ~]#vim /etc/pam.d/login

 

在字符终端下,实现某一用户连续错误登陆N次后,就锁定该用户X分钟
执行 vim /etc/pam.d/login
在#%PAM-1.0 下新起一行,加入
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
如果不限制root用户,则可以写成
auth required pam_tally2.so deny=3 unlock_time=5
说明:
even_deny_root=n 	  #root用户失败登录次数超过deny=n次后拒绝访问
deny=n                #设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time=n         #设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time=n    #与even_deny_root相对应的选项,如果配置该选项,则root用户在登录失败次数超出限制后被锁定指定时间。
解锁用户:
pam_tally2 --user <username>             #查看用户登录失败次数记录
[root@localhost ~]# pam_tally2 --user root

pam_tally2 --user <username> --reset     #清空失败次数记录,即解锁用户
或者[root@localhost ~]# pam_tally2 -r -u root

安全的远程管理方式

当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听。

防止远程管理过程中,密码等敏感信息被窃听

禁止telnet运行,禁止开机启动

关闭telnet有两种方法
方法一:  vi /etc/xinetd.d/telnet  将disable = no 改为   disable = yes
方法二:   chkconfig telnet off
重启服务生效   service xinetd restart
删除包    rmp -e telnet-server --nodeps

vim /etc/services 注释掉23端口

访问控制

应及时删除多余的、过期的帐户,避免共享帐户的存在。

删除或禁用临时、过期及可疑的帐号,防止被非法利用。

主要是管理员创建的普通帐号,如:test

usermod -L user   禁用帐号,帐号无法登录,/etc/shadow第二栏显示为!开头
userdel user      删除user用户
userdel -r user   将删除user用户,并且将/home目录下的user目录一并删除

限制root用户登录

首先创建一个普通用户test2,然后配置好su授权,需要时使用su授权执行命令,限制root用户直接登录服务器。

创建普通用户test2
[root@localhost ~]# useradd test2
[root@localhost ~]# passwd test2

为普通用户test2添加su授权
[root@localhost ~]# vim /etc/sudoers
root    ALL=(ALL)       ALL
test2   ALL=(ALL)       ALL

 

登录test2普通用户验证

修改root用户禁止ssh登录系统

执行指令
[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin no

[root@localhost ~]# systemctl restart sshd	重启ssh服务

 再次使用root用户登录就被限制了

可以使用普通用户登录后,su 切换至root用户

 

修改ssh 22端口

[root@localhost ~]# vim /etc/ssh/sshd_config
Port 2022

 

 

[root@localhost ~]# systemctl restart sshd  重启

验证

 

设置登录超时时间

通过命令查看cat /etc/profile grep TMOUT
vim /etc/profile 
添加export TMOUT=600 --600秒超时
  • 限制IP访问

通过设置,使得SSH只允许特定用户从特定的IP登录,其它未经允许的用户和IP都不能登录。

[root@localhost ~]# vim /etc/hosts.allow
sshd:192.168.2.*:allow	#允许访问的网段
sshd:192.168.3.10:allow	 #允许访问的IP

添加sshd:ALL限制所有ip地址访问

[root@localhost ~]# vim /etc/hosts.deny

 

 

  • 安全审计

审核策略开启

审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户;

开启审核策略,若日后系统出现故障、安全事故则可以查看系统日志文件,排除故障、追查入侵者的信息等。

查看rsyslog与auditd服务是否开启
[root@localhost ~]# systemctl status rsyslog 
[root@localhost ~]# systemctl status auditd

日志属性设置

应保护审计记录,避免受到未预期的删除、修改或覆盖等。

防止重要日志信息被覆盖

让日志文件转储一个月,保留6个月的信息,先查看目前配置

[root@localhost ~]# vim  /etc/logrotate.conf
把原始配置修改成    rotate 6

[root@localhost ~]# more /etc/logrotate.conf | grep -v "^#\|^$"

 

 

  • 查看系统登录日志

[root@localhost ~]# lastlog #查看登录用户、端口和登录时间等信息

[root@localhost ~]# last –x  #查看系统关闭、用户登录和退出的信息

 

[root@localhost ~]# lastb	#查看尝试登录的失败信息

[root@localhost ~]# tail -f /var/log/messages  #查看系统日志

[root@localhost ~]# last #参看账号登录情况

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/14864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google Play编写长描述的最佳实践

在我们为应用编写详细说明时&#xff0c;要遵循以下建议&#xff1a; 我们作为应用营销人员&#xff0c;要了解受众群体的需求和顾虑&#xff0c;如果不知道用户关心什么&#xff0c;那么我们可以查看关键词的搜索量、每个关键词的 Google Play 安装报告、当前关键字排名等等。…

element+vue小技巧和报错解决(持续更新)

目录 1-关于el-table复选框中表头和内容不对齐问题 2-日期选择器传值给后端格式不对 3-获取表格的当前行数据#default"{row}" 1-关于el-table复选框中表头和内容不对齐问题 <el-table:data"tableData"stripestyle"width: 100%"tooltip-ef…

Django框架之自定义管理页面

Django框架Admin站点管理一些默认的显示和功能包括语言都可以自定义设置处理&#xff0c;以贴近我们的实际业务。 属性说明 列表页属性 配置文件myapp/admin.py from django.contrib import admin from .models import Grades, Students# Register your models here.# 注册班…

算法训练 | Day41动态规划

343. 整数拆分 思路&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义&#xff1a;dp[i]&#xff1a;分拆数字i&#xff0c;可以得到的最大乘积为dp[i]。 确定递推公式&#xff1a;dp[i] max(dp[i], max((i - j) * j, dp[i - j] * j)) 可以想 dp[i]最…

产品推荐丨智慧水利行业应用终端+云平台

智慧水利是我国智慧城市建设的重要延伸&#xff0c;是新时代水利现代化的战略目标&#xff0c;贯穿于防汛抗旱减灾、水资源合理配置和高效利用、水资源和河湖健康保障等体系。随着水利技术的集成发展与场景的成熟应用&#xff0c;我国水利现已完成从自动化阶段到信息化阶段的过…

会议论文与期刊论文的写作差异

AI领域的会议论文和期刊论文在撰写方法上存在一定的差异&#xff0c;读者需要理解这些差异&#xff0c;才能做到有的放矢&#xff0c;提高论文的命中率。如果按照会议论文的风格来写期刊论文&#xff0c;或者按照期刊论文的风格来写会议论文&#xff0c;论文命中的概率将大大降…

离散数学期末复习第一章 数理逻辑

离散数学 离散数学是研究各种各样的离散量的结构及离散量之间的关系一门学科&#xff0c;是计算机科学中基础理论的核心课程。 什么是连续变量&#xff1f; 在一定区间内可以任意取值的变量叫连续变量&#xff0c;其数值是连续不断的&#xff0c;相邻两个数值可作无限分割&a…

【社区图书馆】-《科技服务与价值链》总结

【为什么研究价值链】 价值链及价值链协同体系是现代产业集群的核心枢纽&#xff0c;是推进城市群及产业集群化、服务化、生态化发展的纽带。因而推进价值链协同&#xff0c;创新发展价值链协同业务科技资源体系&#xff0c;既是科技服务业创新的重要方向&#xff0c;也是重塑生…

第3章-运行时数据区

此章把运行时数据区里比较少的地方讲一下。虚拟机栈&#xff0c;堆&#xff0c;方法区这些地方后续再讲。 转载https://gitee.com/youthlql/JavaYouth/tree/main/docs/JVM。 运行时数据区概述及线程 前言 本节主要讲的是运行时数据区&#xff0c;也就是下图这部分&#xff0c…

ASO优化之如何回复Google Play评论

应用的平均评分会影响 Google Play 商店优化 和应用的 Google Play 排名。应用的评分越高&#xff0c;我们在搜索结果中的排名就越靠前。因此&#xff0c;当应用处于 4 星评级范围内时&#xff0c;它会被更多 Google Play 商店的访问者看到和发现。我们可以使用应用雷达中的评级…

听我一句劝,别去外包,干了三年,废了....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

SAP ABAP MARA-MSBOOKPARTNO 制造商登记部分编号

BAPI_MATERIAL_SAVEDATA CLIENTDATA结构无此字段。 DATA:LS_TE_MARA TYPE BAPI_TE_MARA. DATA:LS_TE_MARAX TYPE BAPI_TE_MARAX. DATA:LT_BAPIPAREX TYPE TABLE OF BAPIPAREX. DATA:LS_BAPIPAREX TYPE BAPIPAREX. …

学生无线耳机哪款好?两百左右适合学生党的无线耳机推荐

学生无线耳机哪款好&#xff1f;现如今&#xff0c;学生党也成为了蓝牙耳机的主要用户群体之一。接下来&#xff0c;我来给学生群体推荐几款两百左右的无线耳机&#xff0c;一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;299 南卡小音舱的音质和佩戴体验都在…

传统制造企业如何数字化转型?中国减速机Top 1企业给出这份答案

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 数字中国建设正在如火如荼地展开&#xff0c;百业千行也都在寻求自身业务与数字化的深度融合。 2022年制造业增加值占GDP比重约为30%&#xff0c;在数字经济赋能新发展的当下&#xff0c;制造业成为数字技术重点实施落地的载…

Authing 入选《2022年度中国高科技高成长企业》榜单

​ 近日&#xff0c;Authing 入选【2022 年度中国高科技高成长企业系列榜单 】- 【云原生高成长企业榜】&#xff0c;该榜单由【第一新声】联合【天眼查】发起的“数字中国”系列之 2022 年度中国高科技高成长企业系列榜单发布&#xff0c;该榜单旨在发现和挖掘被资本市场关注&…

优秀的FAQ示例及FAQ页面制作技巧

在网页中问答设计中&#xff0c;虽然说客服会话更有人情味、解决效率更高&#xff0c;但从实际的客户使用情况和使用偏好来看&#xff0c;越来越多的人更喜欢自助服务。数据显示&#xff0c;约67%的受访者会优先选择自助服务&#xff0c;91%的客户使用过帮助中心来解决问题。可…

薪资17K是一个怎样的水平?来看看98年测试工程师的面试全过程…

我的情况 大概介绍一下个人情况&#xff0c;男&#xff0c;本科&#xff0c;三年多测试工作经验&#xff0c;懂python&#xff0c;会写脚本&#xff0c;会selenium&#xff0c;会性能&#xff0c;然而到今天都没有收到一份offer&#xff01;从年后就开始准备简历&#xff0c;年…

【JAVA-模块五 数组】

JAVA-模块五 数组 一、数组&#xff08;一维&#xff09;1.1数组是什么&#xff1f;1.2java中数组静态初始化&#xff1a;&#xff08;存&#xff09;两种定义格式&#xff1a;数组初始化格式&#xff1a;静态初始化后&#xff0c;打印数组名&#xff1a; 1.3 数组元素访问&…

MySQL高级篇——存储引擎和索引

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题_java黑马笔记 目录 一、存储引擎 1.1、查看、设置存储引擎的命令 1.2、InnoDB引擎 1.2.1、介绍 1.2.2、优势 1.2.3、InnoDB事务的ACID特性…

SpringCloud --- Eureka注册中心

一、场景 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图 思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f; 有多个user-service实例地址&#xff0c;order-service调用时该…