CentOS 7安全加固
本次实验使用的centos 7 版本

一、查找系统中是否存在空密码账户
1、使用命令: awk -F: '($2==""){print $1}' /etc/shadow 直接查看。可以看到系统中没有空密码账户

2、验证一下。添加一个账户qwe, 命令:useradd qwe(此时qwe虽然没有密码但是他还不能使用空密码登录)

3、使用root账户清除qwe密码,passwd -d qwe

4、再次使用 awk -F: '($2==""){print $1}' /etc/shadow 命令查看系统中空密码账户

二、查找uid值为0的用户。
如果passwd文件中uid值为0的话,那么这个用户就拥有root权限。
1、查找uid为0账户: awk -F: '($3==0){print $1}' /etc/passwd 可以看到当前系统只有root账户拥有root权限。

2、修改权限的话,以root用户权限修改passwd文件中的uid为0,保存退出。

在root用户下使用su - lu切换lu用户

此时切换lu用户是,依然显示的是root的状态,但是查看history明显是lu用户,而且lu已经获取到了root的权限,使用该用户可以做root用户的操作
查看uid为0命令 awk -F: '($3==0){print $1}' /etc/passwd

接下来我想到,用lu用户修改/etc/passwd文件中root用户uid为1000,保存退出

然后切换回root用户,以此时uid为1000的root查看passwd时,文件已变为只读

三、安全加固的一些方案
1、密码策略
修改 /etc/login.defs文件中相应参数

PASS_MAX_DAYS 密码有效期
PASS_MIN_DAYS 修改密码的最短期限
PASS_MIN_LEN 密码最短长度
PASS_WARN_AGE 密码过期提醒
2、修改密码策略
修改vi /etc/pam.d/system-auth文件,将password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= 注释并在其下面新增1行 password requisite pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type=

备注:
try_first_pass而当pam_unix验证模块与password验证类型一起使用时,该选项主要用来防止用户新设定的密码与以前的旧密码相同。
minlen=8:最小长度8位
difok=5:新、旧密码最少5个字符不同
dcredit=-1:最少1个数字
lcredit=-1:最少1个小写字符,(ucredit=-1:最少1个大写字符)
ocredit=-1:最少1个特殊字符
retry=1:1次错误后返回错误信息
type=xxx:此选项用来修改缺省的密码提示文本
3、新口令不能与10个最近使用的相同
修改vi /etc/pam.d/system-auth文件,在password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok 所在行的后面添加 remember=11

4、设置会话超时
修改vi /etc/profile文件在最后添加参数export TMOUT=600。(600秒 十分钟)

5、账户锁定策略(终端登录)
修改vi /etc/pam.d/system-auth文件,在# User changes will be destroyed the next time authconfig is run.行的下面,添加 auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800(终端登录失败5次,锁定半小时)

6、禁止root通过ssh远程登录
修改vi /etc/ssh/sshd_config文件,将配置参数#PermitRootLogin yes改成PermitRootLogin no

CentOS 7安全加固的更多相关文章
- CentOS 7 主机加固手册-下
CentOS 7 主机加固手册-上 CentOS 7 主机加固手册-中 CentOS 7 主机加固手册-下 0x1f 删除禁用非必要的服务 删除非必要的服务 # Remove yum remove ...
- CentOS 7 主机加固手册-中
CentOS 7 主机加固手册-上 CentOS 7 主机加固手册-中 CentOS 7 主机加固手册-下 0x0c 设置/boot/grub2/grub.cfg权限 Set grub.conf ...
- CentOS 7 主机加固手册-上
TIPs: 世界上有一撮人专门研究主机安全加固基线,有兴趣的读者可以到 http://benchmarks.cisecurity.org/ 获取更加详细专业的主机安全基线配置文档.或者到 https: ...
- CentOS服务器的加固方案
>>>Centos账户安全 对Centos的加固首先要控制用户的权限,用户权限主要涉及到/etc下的/passwd,/shadow和/group三个文件 /passwd文件主要是存储 ...
- 六招轻松搞定你的CentOS系统安全加固
Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了.我们要如何为这类服务器做好安全加固工作呢? 一. 账户安全 1.1 锁定系统中多余的自建帐号 检查方 ...
- CentOS系统安全加固常见方法
关于Linux系统安全加固的具体实现脚本及基线检查规范,以供主机维护人员参考学习. 其中以下脚本主要实现的功能包括: *加固项包括:密码长度.session超时时间.删除不用的帐号和组.限制root用 ...
- Linux(CentOS 7) 安全加固之非业务端口服务关闭 postfix port 25
目录 关闭TCP 25 端口对应的服务 1. 确认对应端口的进程 2. 查找与关闭对应服务 3. 确认结果,端口已关闭 关闭TCP 25 端口对应的服务 [0 root@Qvps /root] #ca ...
- Ubuntu 系统服务器初始化配置、安全加固、内核优化和常用软件安装的Shell脚本分享
转载自:https://www.bilibili.com/read/cv13875402?spm_id_from=333.999.0.0 描述: 适用于企业内部 Ubuntu 操作服务器初始化.系统安 ...
- CentOS 6.5 安全加固及性能优化 (转)
通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化. 环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5- ...
随机推荐
- Java之for循环嵌套练习
1.打印4层*** ***** ***** ***** ***** class forfor{ public static void main(String[] args){ for(int y=0; ...
- 虚拟机如何固定ip并访问外网?!
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNor ...
- Ubuntu18下sudo apt install xxx出现问题
当执行sudo apt install rpm时失败(apt-get也失败),输出如下报错信息: E: Could not get lock /var/lib/dpkg/lock - open (11 ...
- Vue学习Day003
事件修饰符 在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求.尽管我们可以在方法中轻松实现这点,但更好的方式是: ...
- 遇到的难题之一 —— js方法toFixd()
工作中遇到金额需要保留两位小数的需求,单价1.265,数量为1,正常来讲金额应为1.27,用了toFixd()方法后结果为1.26. 最终找到问题所在:1.265 - 1.26 = 0.0049999 ...
- 自动化运维之Saltstack
第三十八课 自动化运维之Saltstack 目录 一.自动化运维介绍 二. saltstack安装 三. 启动saltstack服务 四. saltstack配置认证 五. saltstack远程执行 ...
- struts2实现文件上传和下载
在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来 ...
- 集成学习-Adaboost
Adaboost 中文名叫自适应提升算法,是一种boosting算法. boosting算法的基本思想 对于一个复杂任务来说,单个专家的决策过于片面,需要集合多个专家的决策得到最终的决策,通俗讲就是三 ...
- ORM-Model操作
django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成 ...
- 自学python之路(day5)
一.文件操作1. 只读1) r 以str形式 f = open('d:\文件操作.txt',mode='r',encoding='utf-8') # r是默认的 content=f.read() pr ...