基于Centos 7系统的安全加固方案

news/2025/1/10 12:52:58 标签: java, 服务器, 前端

创作不易,麻烦点个免费的赞和关注吧!

声明!

免责声明:本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害,包括但不限于数据丢失、系统损坏、个人隐私泄露或经济损失等,不承担任何责任。所有使用本教程内容的个人或组织应自行承担全部风险。

基于centos7版本测试 注意:修改任何配置文件,为保障安全请先备份,命令: cp -a +配置文件路径 +存放位置路径

1.密码长度与有效期

 位置:vi /etc/login.defs

修改:

 PASS_MAX_DAYS   90     注:密码有效期
 PASS_MIN_DAYS   2        注:修改密码最短期限
 PASS_MIN_LEN    8        注:密码最短长度
 PASS_WARN_AGE   30    注:密码过期提醒

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_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 authtok_type=
  如何要设定root也要履行该规则,需要添加enforce_for_root
  例如:password requisite pam_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 enforce_for_root authtok_type=

解释:

  minlen=8 最小长度8位
  difok=5 新旧密码最少5个字符不同
  dcredit=-1 最少1个数字
  lcredit=-1 最少1个小写字符
  ucredit=-1 最少1个大写字符
  ocredit=-1 最少1个特殊字符
  retry=1  1次错误后返回错误信息
  type=XXX 此选项用来修改缺省的密码提示文本

3.新口令不能与近期相同

位置:

 vi /etc/pam.d/system-auth

修改:

 在password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok 
 所在行的后面添加remember=5

解释:

 remeber=5 记住近期5个密码,改密码不能与近期5个有相同的。

4.会话超时

位置:

vi /etc/profile

修改:

在文件的末尾添加 export TMOUT=600

解释:

export TMOUT=600 10分钟超时

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=600 even_deny_root root_unlock_time=1800

解释:

deny=5 5次登录失败
unlock_time=1800 锁定30分钟

6.SSH配置加固

位置:

vi /etc/ssh/sshd_config

修改:

(1)禁止空密码登录
将#PermitEmptyPasswords no参数的注释符号去掉,改成
PermitEmptyPasswords no

(2)关闭ssh的tcp转发
将#AllowTcpForwarding yes参数改成
AllowTcpForwarding no

(3)关闭S/KEY(质疑-应答)认证方式
将#ChallengeResponseAuthentication yes参数,改成
ChallengeResponseAuthentication no


(4)关闭基于GSSAPI 的用户认证
将GSSAPIAuthentication yes参数,改成
GSSAPIAuthentication no

重启ssh服务:

systemctl restart sshd.service

7.重用名root

位置:vi /etc/passwd 把里面的root用户修改为想要设定的用户名。保存:wq\
位置:vi /etc/shadow 把里面的root用户修改为想要设定的用户名。强制保存:wq!

重启:

重启服务器,使用修改过的用户名登录。
通过查询Id 当前用户 如果UID是0,就修改成功,否则就是未成功。

注意:

如果重启长时间处于运行的服务器可能会导致系统崩溃。
修改root用户名后,会导致登录系统出现10秒左右的延迟。

8.查询是否存在特权账户与空口令

awk -F: '$3==0 {print $1}' /etc/passwd 查询是否存在特权账户
awk -F: 'length($2)==0 {print $1}' /etc/shadow 查询是否存在空口令

修改:

如果存在特权账户,删除除root以外的任何账户。
如果存在空口令,为该用户设定密码。

9.删除多余用户

userdel 用户名

10.设定禁止root远程登录

位置:

vi /etc/ssh/sshd_config

修改:

PermitRootLogin no

11.日志上传服务器

位置:

vi /etc/rsyslog.conf

修改:

*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages  找到这行添加下面的内容
*.* @@172.16.x.xx:514
*.* @172.16.x.xx:514

注:

@@表示TCP流量,@表示UDP流量。

12.防火墙

systemctl start firewalld  开启防火墙
systemctl enable firewalld  自启动
firewall-cmd --per --add-port=80/tcp 开启80端口
firwall-cmd --reload 重载防火墙
firewall-cmd --list-all  查看防火墙端口

kali魔改版,新增60款工具,需要的兄弟们自取

我用夸克网盘分享了「zss_kali_kde完整版.7z」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。

链接:https://pan.quark.cn/s/1b0e2c5f865d

有想报考oscp的读者可以咨询作者,我们泷羽sec目前正在做oscp培训,泷老师带着打100+台靶机,同时还有直播讲解知识点。

图片

现邀请读者参加我们的帮会,99元即可享受到超多红队工具以及各种资料,包括但不限于“照妖镜”、免杀教程、免杀工具、以及安卓免杀工具(不定期上线)

通过以下二维码进帮会可以私聊笔者

图片

图片

还有很多poc以及一些二开的工具

图片

图片


http://www.niftyadmin.cn/n/5818676.html

相关文章

Mongodb基础sqL

------------------------------------------数据库------------------------------ (2).查看所有数据库 show dbs (3).选择数据库,如果不存在则隐式创建这个数据库 use 数据库名 ------------------------------------------集合------------------------------ …

apollo内置eureka dashboard授权登录

要确保访问Eureka Server时要求输入账户和密码,需要确保以下几点: 确保 eurekaSecurityEnabled 配置为 true:这个配置项控制是否启用Eureka的安全认证。如果它被设置为 false,即使配置了用户名和密码,也不会启用安全认…

【网络协议】交换机概念与配置(第一部分)

概述 本文将探讨交换机的概念以及交换机的基础配置,并以此引入对 VLAN 的讨论。 文章目录 概述CSMA/CD以太网通信单播(Unicast)多播(Multicast)广播(Broadcast) MAC 地址以太网中的双工设置半双…

企业级PHP异步RabbitMQ协程版客户端 2.0 正式发布

概述 workerman/rabbitmq 是一个异步RabbitMQ客户端,使用AMQP协议。 RabbitMQ是一个基于AMQP(高级消息队列协议)实现的开源消息组件,它主要用于在分布式系统中存储和转发消息。RabbitMQ由高性能、高可用以及高扩展性出名的Erlan…

redis:安装部署、升级以及失败回退

安装部署 一、准备工作 1. 检查系统要求 确保你的服务器满足 Redis 的基本要求: 操作系统:支持的 Linux 发行版(如 Ubuntu, CentOS)内存:至少 4GB(根据实际应用需求调整)CPU:单核或多核 CPU磁盘空间:足够的磁盘空间用于数据存储和日志记录2. 更新系统软件包 在开始…

数据结构大作业——家谱管理系统(超详细!完整代码!)

目录 设计思路: 一、项目背景 二、功能分析 查询功能流程图: 管理功能流程图: 三、设计 四、实现 代码实现: 头文件 结构体 函数声明及定义 创建家谱树头结点 绘制家谱树(打印) 建立右兄弟…

c语言-----常识问题

1.VS的C4996错误 由于微软在VS2013中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误: VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。 要想继续使用此函数&…

Win32汇编学习笔记09.SEH和反调试

Win32汇编学习笔记09.SEH和反调试-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net SEH - structed exception handler 结构化异常处理 跟筛选一样都是用来处理异常的,但不同的是 筛选器是整个进程最终处理异常的函数,但无法做到比较精细的去处理异常(例如处理…