一.简介

源码地址

日期:2017/9/1

介绍:安全加固脚本,会符合阿里云基线检查。有幂等性,可重复执行

效果图:

二.使用

适用:centos6/7

语言:中文

注意:脚本是符合阿里云基线检查的配置,请查看条目后再执行,也可以修改脚本选择需要的项目执行

下载

wget https://raw.githubusercontent.com/goodboy23/shell/master/jobs/ali_baseline.sh

执行

bash ali_baseline.sh

三.基线检查条目

Centos7

#开启地址空间布局随机化
#它将进程的内存空间地址随机化来增大入侵者预测目的地址难度,从而降低进程被成功入侵的风险
sysctl -w kernel.randomize_va_space=2 #禁止SSH空密码用户登录
#编辑文件/etc/ssh/sshd_config,将PermitEmptyPasswords配置为no
PermitEmptyPasswords no #检查密码重用是否受限制
#在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,在末尾添加
remember=5 #设置密码失效时间
#使用非密码登陆方式如密钥对,请忽略此项。在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如 PASS_MAX_DAYS 90。需同时执行命令设置root密码失效时间
chage --maxdays 90 root #设置密码修改最小间隔时间
#在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7: PASS_MIN_DAYS 7 需同时执行命令为root用户设置
chage --mindays 7 root #确保密码到期警告天数为7或更多
#在 /etc/login.defs 中将 PASS_WARN_AGE 参数设置为7-14之间,建议为7: PASS_WARN_AGE 7 同时执行命令使root用户设置生效
chage --warndays 7 root #确保SSH MaxAuthTries设置为3到6之间
#在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6
MaxAuthTries 4 #SSHD强制使用V2安全协议
#编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数
Protocol 2 #设置SSH空闲超时退出时间
#编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3
ClientAliveCountMax 2 #确保rsyslog服务已启用
systemctl enable rsyslog
systemctl start rsyslog #确保SSH LogLevel设置为INFO,记录登录和注销活动
#编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释)
LogLevel INFO #访问控制配置文件的权限设置
chown root:root /etc/hosts.allow
chown root:root /etc/hosts.deny
chmod 644 /etc/hosts.deny
chmod 644 /etc/hosts.allow #设置用户权限配置文件的权限
chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow
chmod 0644 /etc/group
chmod 0644 /etc/passwd
chmod 0400 /etc/shadow
chmod 0400 /etc/gshadow #除root以外其他UID为0的用户都应该删除,或者为其分配新的UID
cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'|grep -v '^root$' #密码复杂度检查
#编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。
minlen=10 minclass=3 #检查系统空密码账户
#为用户设置一个非空密码

Centos6

#强制用户不重用最近使用的密码,降低密码猜测攻击风险
#在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,在末尾加
remember=5 #设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
#编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3
ClientAliveCountMax 2 #设置较低的Max AuthTrimes参数将降低SSH服务器被暴力攻击成功的风险。
#在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6
MaxAuthTries 4 #设置密码修改最小间隔时间,限制密码更改过于频繁
#在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7: PASS_MIN_DAYS 7 需同时执行命令为root用户设置
chage --mindays 7 root #设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。
#使用非密码登陆方式如密钥对,请忽略此项。在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如 PASS_MAX_DAYS 90。需同时执行命令设置root密码失效时间
chage --maxdays 90 root #检查密码长度和密码是否使用多种字符类型
#编辑/etc/pam.d/password-auth 和 /etc/pam.d/system-auth配置文件中包含password requisite pam_cracklib.so 这一行。增加配置minlen(密码最小长度)设置为9-32位,minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4
password requisite pam_cracklib.so try_first_pass retry=3 minlen=11 minclass=3 #确保SSH LogLevel设置为INFO,记录登录和注销活动
#编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释)
LogLevel INFO #除root以外其他UID为0的用户都应该删除,或者为其分配新的UID
cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'|grep -v '^root$' #它将进程的内存空间地址随机化来增大入侵者预测目的地址难度,从而降低进程被成功入侵的风险
sysctl -w kernel.randomize_va_space=2 #设置用户权限配置文件的权限
chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow
chmod 0644 /etc/group
chmod 0644 /etc/passwd
chmod 0400 /etc/shadow
chmod 0400 /etc/gshadow #访问控制配置文件的权限设置
chown root:root /etc/hosts.allow
chown root:root /etc/hosts.deny
chmod 644 /etc/hosts.deny
chmod 644 /etc/hosts.allow #确保rsyslog服务已启用,记录日志用于审计
service rsyslog start #SSHD强制使用V2安全协议
#编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数
Protocol 2 #确保密码到期警告天数为7或更多
#在 /etc/login.defs 中将 PASS_WARN_AGE 参数设置为7-14之间,建议为7: PASS_WARN_AGE 7 同时执行命令使root用户设置生效
chage --warndays 7 root #禁止SSH空密码用户登录
#编辑文件/etc/ssh/sshd_config,将PermitEmptyPasswords配置为no
PermitEmptyPasswords no #检查系统空密码账户
#为用户设置一个非空密码

shell脚本 阿里云基线检查一键配置的更多相关文章

  1. 阿里云Linux服务器,配置JDK,MySQL

    云服务器配置:低配 Linux CentOS 7.4 64位 选择空白镜像: 安装图形界面 yum groups install "MATE Desktop" yum groups ...

  2. nginx进行获取阿里云slb真实ip配置操作

    环境: 1.使用阿里云的slb进行配置nginx,nginx无法获取用户的真实ip解决方案 参考阿里云: https://help.aliyun.com/knowledge_detail/40535. ...

  3. 阿里云服务器Linux系统安装配置ElasticSearch搜索引擎

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  4. 阿里云ECS服务器CentOS7配置vsftps及其问题解决

    前言 之前只在虚拟机中配过FTP服务器,今天买了云服务器,发现安装vsftpd后就是连不上,通过搜索了很多资料,最后找到了解决办法,系统是CentOS7,服务器类型是ECS 阿里云安全组配置 首先进入 ...

  5. 阿里云https免费证书配置-包教会

      阿里云https免费证书配置-包教会-有需要请联系小编! 小编个人站点:https://www.itdog.site/ 小编微信号:wvqusrtg  

  6. 阿里云centos 安装和配置 DokuWiki

    安装 1) 添加虚拟主机:由于我的 阿里云CentOs服务器 安装了oneinstack的一键部署PHP.JAVA.Nginx等环境,所以域名配置很方便,照着文档一步一步做就可以了 cd /root/ ...

  7. Hadoop(一)阿里云hadoop集群配置

    集群配置 三台ECS云服务器 配置步骤 1.准备工作 1.1 创建/bigdata目录 mkdir /bigdatacd /bigdatamkdir /app 1.2修改主机名为node01.node ...

  8. 阿里云CentOS7系列三 -- 配置防火墙

    前面讲到了安装JDK以及Tomcat.但是大家会发现,当我们访问 http:// XXX.XXX.XXX.XXX:8080/80 时候,tomcat 猫并没有出现.原因就是没有设置防火墙. 再次介绍下 ...

  9. 阿里云linux centos 一键部署web环境--图文详解

    一.购买阿里云服务器ECS 1,登录阿里云,选择阿里云服务器ECS 2,创建实例 或 3,选好配置 4,完成配置 注:记住用户名和密码 二.一键配置linux环境 1,下载xshell,安装成功后,建 ...

随机推荐

  1. RocketMQ架构原理解析(二):消息存储

    一.概述 由前文可知,RocketMQ有几个非常重要的概念: broker 服务端,负责存储.收发消息 producer 客户端1,负责产生消息 consumer 客服端2,负责消费消息 既然是消息队 ...

  2. RestSharp使用说明

    翻译自:https://github.com/restsharp/RestSharp/wiki,转载请注明. 一.新手入门 如果只有少量一次性请求需要封装为API,则可以如下使用RestSharp : ...

  3. vue 3 学习笔记 (六)——watch 、watchEffect 新用法

    选项式API与之前写法相同,本篇文章主要通过 Options API 和 Composition API 对比 watch 的使用方法,让您快速掌握 vue3 中 watch 新用法.建议收藏! 一. ...

  4. java 必应壁纸批量下载

    基于java 必应壁纸批量下载 - rookie丶k - 博客园 (cnblogs.com)实现 上面代码运行本地有点小问题,改了改 1.ssl验证 2.请求头 3.需要优化下载速度,多线程方式(还不 ...

  5. 【Mysql】深入理解 MVCC 多版本并发控制

    MVCC MVCC(Multi-Version Concurrency Control),即多版本并发控制.是 innodb 实现事务并发与回滚的重要功能.锁机制可以控制并发操作,但是其系统开销较大, ...

  6. Mac更换鼠标指针样式_ANI、CUR文件解析

    前情提要 因为之前写了一篇mousecape的博客有一些回应,所以我决定写个续.主要是教大家怎么把cur文件和ani文件插入到mousecape里面,顺便提供几个做好的cape文件. 先给大家推荐一个 ...

  7. Linux排序数据

    1.sort 默认是按照字符大小来排序,如果要按照数字大小排序,需要加参数-n,-M按月排序 如:sort text.txt按字符大小排序 sort -n text.txt 按照数字大小排序 sort ...

  8. Codeforces 1097G - Vladislav and a Great Legend(第二类斯特林数+树上背包)

    Codeforces 题目传送门 & 洛谷题目传送门 首先看到这题我的第一反应是:这题跟这题长得好像,不管三七二十一先把 \(k\) 次方展开成斯特林数的形式,\(f(X)^k=\sum\li ...

  9. Codeforces 258E - Little Elephant and Tree(根号暴力/线段树+标记永久化/主席树+标记永久化/普通线段树/可撤销线段树,hot tea)

    Codeforces 题目传送门 & 洛谷题目传送门 yyq:"hot tea 不常有,做过了就不能再错过了" 似乎这是半年前某场 hb 模拟赛的 T2?当时 ycx.ym ...

  10. springboot与数据访问之jdbc

    官网的starthttps://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter 添加依 ...