一.密码长度与有效期

默认配置:

  1. [root@i-1y3we23j ~]# cat /etc/login.defs |grep PASS_ |grep -v '#'
  2. PASS_MAX_DAYS
  3. PASS_MIN_DAYS
  4. PASS_MIN_LEN
  5. PASS_WARN_AGE

加固方案:

  1.  

1.备份配置文件:

# cp -a /etc/login.defs /etc/login.defs.default

2.编辑配置文件并将相关参数改成如下

  1. # vi /etc/login.defs
  2. PASS_MAX_DAYS
  3. PASS_MIN_DAYS
  4. PASS_MIN_LEN
  5. PASS_WARN_AGE

备注:

/etc/login.defs文件的pass_min_len 参数并不具备强制性,测试仍然可以设置7位密码。最终需要cracklib来实现。

参数说明:

PASS_MAX_DAYS 密码有效期

PASS_MIN_DAYS 修改密码的最短期限

PASS_MIN_LEN 密码最短长度

PASS_WARN_AGE 密码过期提醒

二.密码复杂度

默认配置:

  1. [root@i-1y3we23j ~]# cat /etc/pam.d/system-auth | grep "pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type="
  2. password requisite pam_pwquality.so try_first_pass local_users_only retry= authtok_type=

加固方案:

  1. .备份配置文件:
  2. # cp -a /etc/pam.d/system-auth /etc/pam.d/system-auth.default
  3. .编辑配置文件
  4. # vi /etc/pam.d/system-auth
  5. password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
  1. 注释并在其下面新增1 password requisite pam_cracklib.so try_first_pass minlen= difok= dcredit=- lcredit=- ocredit=- retry= 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:此选项用来修改缺省的密码提示文本

三.新口令不能与4个最近使用的相同

默认配置:

  1. [root@i-1y3we23j ~]# cat /etc/pam.d/system-auth |grep use_authtok
  2. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok

加固方案:

  1. .备份配置文件
  2. .编辑配置文件:
  3. # vi /etc/pam.d/system-auth
  4. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok 所在行的后面添加
  5. remember=5
  6. .保存配置文件

备注:

记住5个历史密码

四.设置会话超时(5分钟)

默认配置:

加固方案:

  1. .备份配置文件:
  2. # cp -a /etc/profile /etc/profile.default
  3. .编辑配置文件:
  4. vi /etc/profile
  5. 在文件的末尾添加参数
  6. export TMOUT=
  7. .保存配置文件

备注:

5分钟无操作中断登录会话

五.设置history命令时间戳

默认配置:

加固方案:

  1. .备份配置文件:

  2. .编辑配置文件:
  3. vi /etc/profile
  4. 在文件的末尾添加参数
  5. export HISTTIMEFORMAT="%F %T `whoami` "
  6. .保存配置文件

六.设置登陆失败锁定(终端登录)

默认配置:

加固方案:

  1. .备份配置文件
  2. .编辑配置文件:
  3. # vi /etc/pam.d/system-auth
  4. 在# User changes will be destroyed the next time authconfig is run.行的下面,添加
  5. auth required pam_tally2.so deny= unlock_time= even_deny_root root_unlock_time=
  6. .保存配置文件

备注:

通过终端登录,5次登录失败后锁定账号30分钟,锁定期间此账号无法再次登录。

七.禁止root通过ssh远程登录

默认配置:

  1. # cat /etc/ssh/sshd_config |grep PermitRootLogin
  2. #PermitRootLogin yes

加固方案:

  1. .备份配置文件
  2. # cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.default
  3. .编辑配置文件
  4. vi /etc/ssh/sshd_config
  5. 将配置参数#PermitRootLogin yes改成PermitRootLogin no
  6. .保存配置文件
  7. .重启ssh服务
  8. # /etc/init.d/sshd restart

八.SSH 配置参数增强

  1. .备份配置文件
  2. .编辑配置文件
  3. #vi /etc/ssh/sshd_config
  4.  
  5. ()禁止空密码登录
  6. 将#PermitEmptyPasswords no参数的注释符号去掉,改成
  7. PermitEmptyPasswords no
  8.  
  9. ()关闭sshtcp转发
  10. 将#AllowTcpForwarding yes参数改成
  11. AllowTcpForwarding no
  12.  
  13. ()关闭S/KEY(质疑-应答)认证方式
  14. 将#ChallengeResponseAuthentication yes参数,改成
  15. ChallengeResponseAuthentication no
  16.  
  17. ()关闭基于GSSAPI 的用户认证
  18. GSSAPIAuthentication yes参数,改成
  19. GSSAPIAuthentication no
  20.  
  21. .保存配置文件
  22. .重启ssh服务

九.设置SSH登录警告语

默认配置:

加固方案:

  1. .备份配置文件
  2. # 略
  3. .编辑配置文件
  4. #vi /etc/ssh/sshd_config
  5. 找到#Banner none参数,在其下一行,增加
  6. Banner /etc/ssh/alert
  7. .保存配置文件
  8. 4新增告警信息文件.
  9. #vi /etc/ssh/alert
  10. 文件内容,设置成
  11. *******************************************************
  12. 这里的内容自己定义,可以提示一下登录的用户引起运维人员重视
  13. Warning!!!Any Access Without Permission Is Forbidden!!!
  14. *******************************************************
  15. .保存后重启ssh

十.设置umask值

默认配置:

  1. # umask

加固方案:

  1. .备份配置文件
  2. # cp -a /etc/bashrc /etc/bashrc.default
  3. .编辑配置文件
  4. # vi /etc/bashrc
  5. 在文件末尾增加参数
  6. umask
  7. .保存配置文件
  8. . 备份配置文件
  9. # cp -a /etc/profile /etc/pr ofile.default
  10. .编辑配置文件
  11. # vi /etc/profile
  12. 在文件末尾增加参数
  13. umask
  14. .保存配置文件

备注:

将umask值设置成0027,用于拿掉新增目录与文件的非所有者和所有者所属组的访问权限

默认:

新增目录权限755,即rxwr-xr-x

新增文件权限644,即

rw-r--r—

加固后:

新增目录权限750,即rxwr-x---

新增文件权限640,即

rw-r-----

十一.禁止Control-Alt-Delete 键盘重启系统命令

默认配置:

  1. ls /usr/lib/systemd/system/ctrl-alt-del.target

加固方案:

  1. .备份配置文件
  2. cp -a /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target.default
  3. .移除该原源文件
  4. rm -rf /usr/lib/systemd/system/ctrl-alt-del.target

十二. 隐藏系统版本信息

默认配置:

加固方案:

  1. 执行以下命令:
  2. #mv /etc/issue /etc/issue.bak
  3. #mv /etc/issue.net /etc/issue.net.bak

备注:登录界面显示系统版本信息

十三.设置grup密码

默认配置:无

加固方案:

  1. .备份配置文件
  2. cp -a /etc/grub.d/00_header /etc/grub.d/00_header.default
  3. .使用grub2-mkpasswd-pbkdf2 加密密码(密码自己定义,但是一定得保存好否则最后连自己都登录不进去)
  4. [root@localhost ~]# grub2-mkpasswd-pbkdf2
  5. Enter password:
  6. Reenter password:
  7. PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
  8.  
  9. .添加以下配置到该文件的最后面(特别需要注意 用户名root和密文之间是空格分隔,而不是换行)
  10. cat <<EOF
  11. set superusers='root'
  12. password_pbkdf2 root grub.pbkdf2.sha512..B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
  13. E0F
  14. .执行命令grub2-mkconfig -o /boot/grub2/grub.cfg
  15. 重新编译生成grub.cfg文件

十四.最大文件打开数(文件句柄数)

默认配置:

  1. [root@i-1y3we23j ~]# ulimit -n

加固方案:

  1. .备份配置文件
  2. cp -a /etc/security/limits.conf /etc/security/limits.conf.default
  3. .添加以下两行配置到该文件最后
  4. * soft nofile
  5. * hard nofile

备注:修改所有用户的最大文件打开数为65535

十五.用户最大进程数

默认配置:

  1. [root@i-1y3we23j ~]# cat /etc/security/limits.d/-nproc.conf
  2. # Default limit for number of user's processes to prevent
  3. # accidental fork bombs.
  4. # See rhbz # for reasoning.
  5.  
  6. * soft nproc
  7. root soft nproc unlimited

加固方案:

  1. .备份配置文件
  2. cp -a /etc/security/limits.d/-nproc.conf /etc/security/limits.d/-nproc.conf.default
  3. .修改配置文件vim /etc/security/limits.d/-nproc.conf
  4.  
  5. * soft nproc
  6. * hard nproc

备注:修改所有用户的最大进程数为65535

十六.系统参数调优

默认配置:

加固方案:

  1. .备份配置文件
  2. cp -a /etc/sysctl.conf /etc/sysctl.conf.default
  3. .添加以下调优参数到该文件中
  4. net.ipv4.ip_forward =
  5. net.ipv4.conf.default.rp_filter =
  6. net.ipv4.conf.default.accept_source_route =
  7. kernel.sysrq =
  8. kernel.core_uses_pid =
  9. kernel.msgmnb =
  10. kernel.msgmax =
  11. kernel.shmmax =
  12. kernel.shmall =
  13. net.core.wmem_default =
  14. net.core.rmem_default =
  15. net.core.rmem_max =
  16. net.core.wmem_max =
  17. net.ipv4.route.gc_timeout =
  18. net.ipv4.tcp_retries2 =
  19. net.ipv4.tcp_fin_timeout =
  20. net.ipv4.tcp_wmem =
  21. net.ipv4.tcp_rmem =
  22. net.ipv4.tcp_mem =
  23. net.core.somaxconn =
  24. net.core.netdev_max_backlog =
  25. net.core.wmem_default =
  26. net.core.rmem_default =
  27. net.core.rmem_max =
  28. net.core.wmem_max =
  29. net.ipv4.route.gc_timeout =
  30. net.ipv4.ip_local_port_range =
  31. net.ipv4.tcp_retries2 =
  32. net.ipv4.tcp_syn_retries =
  33. net.ipv4.tcp_synack_retries =
  34. net.ipv4.tcp_timestamps =
  35. net.ipv4.tcp_tw_recycle =
  36. net.ipv4.tcp_tw_reuse =
  37. net.ipv4.tcp_keepalive_time =
  38. net.ipv4.tcp_keepalive_probes =
  39. net.ipv4.tcp_keepalive_intvl =
  40. net.ipv4.tcp_max_orphans =
  41. net.ipv4.tcp_wmem =
  42. net.ipv4.tcp_rmem =
  43. net.ipv4.tcp_mem =
  44.  
  45. fs.file-max =
  46. kernel.pid_max =
  47. net.ipv4.tcp_wmem =
  48. net.core.wmem_max =
  49. net.core.netdev_max_backlog =
  50. net.ipv4.tcp_window_scaling =
  51. net.ipv4.tcp_max_syn_backlog =
  52.  
  53. net.core.netdev_max_backlog =
  54. net.core.somaxconn =
  55. net.ipv4.tcp_max_orphans =
  56. net.ipv4.tcp_max_syn_backlog =
  57. net.ipv4.tcp_timestamps =
  58. net.ipv4.tcp_syn_retries =
  59. net.ipv4.tcp_synack_retries =
  60.  
  61. net.ipv4.tcp_syncookies =
  62. net.ipv4.tcp_tw_reuse =
  63. net.ipv4.tcp_tw_recycle =
  64. net.ipv4.tcp_fin_timeout =
  65.  
  66. net.ipv4.tcp_keepalive_time =
  67. net.ipv4.ip_local_port_range =
  68. net.ipv4.tcp_max_syn_backlog =
  69. net.ipv4.tcp_max_tw_buckets =

centos7 系统安全加固方案的更多相关文章

  1. CentOS7 系统服务器初始化配置、安全加固、内核升级优化常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875630?spm_id_from=333.999.0.0 描述: 适用于企业内部 CentOS7 系列操作服务器初始化. ...

  2. 阿里云安骑士-Centos7系统基线合规检测-修复记录

    执行命令 sysctl -w net.ipv4.conf.all.send_redirects=0sysctl -w net.ipv4.conf.default.send_redirects=0sys ...

  3. Android 第三方加固方案 对比 MD

    常见的第三方加固方案官网介绍 由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备.之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通 ...

  4. MongoDB安全加固方案,防止数据泄露被勒索

    早上起来,发现生产数据库被删了,留下一个数据库名叫“PLEASE_READ”,里面内容如下: "Info" : "Your DB is Backed up at our ...

  5. linux系统安全加固--账号相关

    linux系统安全加固 一.账号相关 1.禁用或删除无用账号 减少系统无用账号,降低安全风险. 当我们的系统安装完毕后,系统默认自带了一些虚拟账户,比如bin.adm.lp.games.postfix ...

  6. 解决docker容器中Centos7系统的中文乱码

    解决docker容器中Centos7系统的中文乱码问题有如下两种方案: 第一种只能临时解决中文乱码: 在命令行中执行如下命令: # localedef -i zh_CN -f UTF-8 zh_CN. ...

  7. 如何利用PowerShell完成的Windows服务器系统安全加固实践和基线检测

    0x00 前言简述 最近单位在做等保测评,由本人从事安全运维方面的工作(PS:曾经做过等保等方面的安全服务),所以自然而然的与信安的测评人员一起对接相关业务系统的检查,在做主机系统测评检查时发现了系统 ...

  8. 读:HIS 与医保系统的接入方案及实现

    HIS 与医保系统的接入方案及实现刘剑锋 李刚荣第三军医大学西南医院信息科(重庆 400038) 医院HIS和医保系统的接口设计方案涉及两个部分,分别由医院和医保中心分别完成相,应的程序设计,这两部分 ...

  9. 使用Xshell5连接虚拟机VMware中安装的CentOS7系统

    使用Xshell5连接VMware中安装的CentOS7系统 准备材料 Xshell 下载地址 VMware Workstation 12 Pro 下载地址 CentOS 7 64位系统 下载地址 安 ...

随机推荐

  1. FINDSTR 命令使用详解

    Findstr 使用正则表达式搜索文件中的文本模式. 语法 findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/ ...

  2. 杂项:ASP.NET Core

    ylbtech-杂项:ASP.NET Core 1.返回顶部 1. ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且连接 Internet 的新式应用程序.使用 ASP.NET ...

  3. eclipse与maven配置

    一.配置maven环境 电脑上需安装java环境,安装JDK1.7 + 版本 (将JAVA_HOME/bin 配置环境变量path ) 配置 MAVEN_HOME 将 %MAVEN_HOME%/bin ...

  4. django上课笔记6-MVC,MTV架构-中间件-初识Form组件

    一.MVC,MTV架构 models(数据库,模型) views(html模板) controllers(业务逻辑处理) --> MVC models(数据库,模型) templates(htm ...

  5. ubuntu设置里面怎么少了好多设置了比如桌面背景

    哈哈  我也是醉了  这个虚拟机真的不好对付 解决办法:sudo apt-get install unity-control-center          ok!

  6. Gym 100962G Green Day (找规律)

    题意:你用k 个生成树构成一个完全图. 析:n 个点的完全图有n(n-1)/2个边,一个生成树有n-1个边,你有k 个生成树 即边数等于 K(n-1) ,即  n(n-1)/2 == k(n-1)   ...

  7. 分析express-pjax

    先来看见express-pjax的源代码 module.exports = function() { return function(req, res, next) { if (req.header( ...

  8. 跟我一起玩Win32开发(17):启动和结束进程

    这里我再次说明一下,我不知道为什么,现在的人那么喜欢走极端,估计是价值观都“升级”了的缘故吧. 我撰写这一系列Win32相关的文章,并不是叫大家一定要用Win32去开发项目,仅仅是给大家了解一下,Wi ...

  9. _bzoj1096 [ZJOI2007]仓库建设【斜率优化dp】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1096 又是一道经典斜率优化. #include <cstdio> const i ...

  10. Seek the Name, Seek the Fame POJ - 2752

    Seek the Name, Seek the Fame POJ - 2752 http://972169909-qq-com.iteye.com/blog/1071548 (kmp的next的简单应 ...