当前位置: 首页 > news >正文

网站制作工具 简易聊城市住房和城乡建设局网站首页

网站制作工具 简易,聊城市住房和城乡建设局网站首页,网页设计制作网站总结,谷城网站制作LINUX基线安全检测-服务器安全配置检测 前言各模块检测如下1、密码复杂度检测2、rsyslog服务是否启用检测3、禁止ROOT远程登录检测4、禁止空密码登录检测5、密码重用是否限制为5次检测6、是否设置密码失效时间检测7、密码修改最小间隔时间检测8、密码过期警告时间是否大于等于7… LINUX基线安全检测-服务器安全配置检测 前言各模块检测如下1、密码复杂度检测2、rsyslog服务是否启用检测3、禁止ROOT远程登录检测4、禁止空密码登录检测5、密码重用是否限制为5次检测6、是否设置密码失效时间检测7、密码修改最小间隔时间检测8、密码过期警告时间是否大于等于7天检测9、SSH访问是否受限制检测10、SSH LogLevel设置为INFO检测11、SSH的MaxAuthTries是否设置为小于等于6检测12、禁用ssh端口转发检测13、root是否为唯一的UID为0用户检测14、root用户默认组的GID是否为0检测15、SSH空闲超时间隔是否设置检测16、用户禁止使用高危命令检测17、普通用户禁止修改高危文件检测 前言 众所周知服务器的安全配置是我们安全生产环境中很重要也是最为“硬性”的第一步 譬如说一个服务器创建好之后它没有禁止空密码登录那岂不是“人人都可以踩它两脚”随便一个人都可以登录进去然后干一些“见不的人”的事情因此我们要打好第一枪在第一步就要把一些小人卡在门外在服务器创建好之后立马进行安全配置检测针对有问题的检测项进行修复处理 以下则是我亲自编写测试上线使用的检测和修复脚本如有不对的地方欢迎大家留言我会立马改正 各模块检测如下 1、密码复杂度检测 系统版本 CentOS7/8 内容 把minlen密码最小长度设置为8-32位把minclass至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类设置为3或4 根据实际情况调整即可 检测方式 !/usr/bin/env sh echo 检测是否符合密码复杂度要求 st1cat /etc/security/pwquality.conf | grep minlen| grep -v # st2cat /etc/security/pwquality.conf | grep minclass| grep -v # if [ -z $st1 ] [ -z $st2 ]; then echo 检测结果为:未设置密码复杂度 elif [ cat /etc/security/pwquality.conf | grep minlen| grep -v # |awk -F {print $3} -gt 8 ] [ cat /etc/security/pwquality.conf | grep minclass| grep -v # |awk -F {print $3} -gt 2 ]; then echo 检测结果为:密码复杂度符合要求 else echo 检测结果为:密码复杂度不符合要求 fi2、rsyslog服务是否启用检测 系统版本 CentOS7/8 内容 确保rsyslog服务已启用记录日志用于审计 检测方式 #!/usr/bin/env sh echo 检测rsyslog服务是否启用 rsyslogactive(running) rsyslogstatussystemctl status rsyslog| grep Active | awk {print$2$3} if [ $rsyslogstatus $rsyslog ]; then echo 检测结果为:rsyslog服务已启用 else echo 检测结果为:rsyslog服务未启用 fi3、禁止ROOT远程登录检测 系统版本 CentOS 6/7/8 内容 /etc/ssh/sshd_config文件中PermitRootLogin应设置为no 检测方式 #!/usr/bin/env sh echo 检测是否禁止ROOT远程登录 set -e cfgfile/etc/ssh/sshd_config if [ cat ${cfgfile} | grep -E ^PermitRootLogin | awk {print $1} #PermitRootLogin -o cat ${cfgfile} | grep ^PermitRootLogin -o cat ${cfgfile} | grep ^PermitRootLogin | awk {print $2} yes ] then echo 检测结果为:未禁止root远程登录 exit 1 else echo 检测结果为:已禁止root远程登录 exit 0 fi4、禁止空密码登录检测 系统版本 CentOS 6/7/ 内容 /etc/ssh/sshd_config文件中PermitEmptyPasswords应设置为no 检测方式 #!/usr/bin/env sh echo 检测是否禁止空密码登录 set -e cfgfile/etc/ssh/sshd_config if [ cat ${cfgfile} | grep PermitEmptyPasswords | awk {print $1} #PermitEmptyPasswords -o cat ${cfgfile} | grep PermitEmptyPasswords -o cat ${cfgfile} | grep PermitEmptyPasswords | awk {print $2} yes ] then echo 检测结果为:未禁止空密码登录 exit 1 else echo 检测结果为:已禁止空密码登录 exit 0 fi5、密码重用是否限制为5次检测 系统版本 CentOS 6/7/ 内容 password sufficient pam_unix.so: 这部分指定了当用户尝试更改密码时应使用pam_unix.so模块来验证新密码。sufficient意味着如果这个模块成功验证了密码那么密码更改操作就成功不需要继续检查其他PAM模块。remember5: 这个参数指定了密码策略应检查新密码与过去5次使用的密码是否重复。如果新密码与这5次中的任何一次重复该策略将拒绝更改密码。根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测密码重用是否限制为5次 set -e Authcfg/etc/pam.d/password-auth /etc/pam.d/system-auth for filename in ${Authcfg} do if [ -z grep -E password ${filename} | grep sufficient | grep remember5 | grep pam_unix.so ] then echo 检测结果为:检测密码重用未限制为5次 exit 1 else echo 检测结果为:检测密码重用已限制为5次 exit 0 fi done6、是否设置密码失效时间检测 系统版本 CentOS 7/8 内容 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测是否设置密码失效时间 pass_max_dayscat /etc/login.defs | grep PASS_MAX_DAYS | grep -v # if [ -z $pass_max_days ]; then echo 检测结果为:未设置密码失效时间 elif [ cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v #| awk {print $2} -gt 180 ] || [ cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v #| awk {print $2} -lt 60 ]; then echo 检测结果为:设置密码失效时间不在60-180天范围内 else echo 检测结果为:设置密码失效时间在60-180天范围内 fi7、密码修改最小间隔时间检测 系统版本 CentOS 7/8 内容 在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测是否设置修改密码最小间隔时间 pass_min_dayscat /etc/login.defs | grep PASS_MIN_DAYS | grep -v # if [ -z $pass_min_days ]; then echo 检测结果为:未设置修改密码最小间隔时间 elif [ cat /etc/login.defs | grep PASS_MIN_DAYS | grep -v #| awk {print $2} -gt 14 ] || [ cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v #| awk {print $2} -lt 7 ]; then echo 检测结果为:设置修改密码最小间隔时间不在7-14天范围内 else echo 检测结果为:设置修改密码最小间隔时间在7-14天范围内 fi8、密码过期警告时间是否大于等于7天检测 系统版本 CentOS 7/8 内容 密码过期警告时间应大于等于7天 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测密码过期告警时间是否大于等于7天 set -e cfgfile/etc/login.defsif [ grep -E ^PASS_WARN_AGE ${cfgfile} | awk {print $2} -ge 7 ] then echo 检测结果为:密码过期告警时间已设置大于等于7天 exit 0 else echo 检测结果为:密码过期告警时间未设置大于等于7天 exit 1 fi9、SSH访问是否受限制检测 系统版本 CentOS 6/7/8 内容 /etc/ssh/sshd_config文件中应存以下其中之一 AllowUsers userlist AllowGroups grouplist DenyUsers userlist DenyGroups grouplist 检测方式 #!/usr/bin/env sh echo 检测SSH访问是否受限制 set -e ##返回任何非0状态即退出脚本执行 sshd_config/etc/ssh/sshd_config sshstatusps -ef | grep sshd | grep -v grep | awk -F {print $8$9} if [ -z $sshstatus ] then echo 检测结果为:未开启ssh服务 exit 2 fi if [ -z grep -E ^AllowUsers|^AllowGroups|^DenyUsers|^DenyGroups ${sshd_config} ] then echo 检测结果为:SSH访问未受限制 exit 1 else echo 检测结果为:SSH访问已受限制 exit 0 fi10、SSH LogLevel设置为INFO检测 系统版本 CentOS 6/7/8 内容 开启日志info日志格式可以记录很多的日志信息以便回溯比如登录操作告警失败等信息 检测方式 /usr/bin/env sh echo 检测SSH LogLevel设置是否为INFO sshd_config/etc/ssh/sshd_config log_levelcat $sshd_config | grep LogLevel| grep -v # if [ -z $log_level ]; then echo 检测结果为:SSH LogLevel设置为INFO elif [ cat $sshd_config | grep LogLevel| grep -v # | awk {print $2} INFO ]; then echo 检测结果为:SSH LogLevel设置为INFO else echo 检测结果为:SSH LogLevel设置为$log_level fi11、SSH的MaxAuthTries是否设置为小于等于6检测 系统版本 CentOS 6/7/8 内容 用于指定SSH服务器允许客户端进行身份验证尝试的最大次数 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测SSH的MaxAuthTries是否设置为小于等于4 set -e cfg/etc/ssh/sshd_config cfgstatus1cat $cfg | grep MaxAuthTries | grep -v #| awk -F {print$1} if [ -z $cfgstatus1 ] then echo 检测结果为:未设置此参数 elif [ cat $cfg | grep MaxAuthTries | grep -v #| awk -F {print$2} -le 6 ] then echo 检测结果为:已设置为小于等于6 else echo 检测结果为:未设置为小于等于6 fi12、禁用ssh端口转发检测 系统版本 CentOS 6/7/8 内容 GatewayPorts 设置no或者注释掉 检测方式 #!/usr/bin/env sh echo 检测是否禁用ssh端口转发功能 resultcat /etc/ssh/sshd_config | grep GatewayPorts | grep -v # | awk -F {print$NF}if [ $result no ] | [ -z $result ];thenecho 检测结果为:已禁用ssh端口转发 elseecho 检测结果为:已启用ssh端口转发 fi13、root是否为唯一的UID为0用户检测 系统版本 CentOS 6/7/8 内容 root应为唯一的UID为0用户 检测方式 #!/usr/bin/env sh echo 检测ROOT是否UID为0的唯一用户 set -e cfgfile/etc/passwd if [ cat passwd | awk -F : $3 0{print $1}|wc -l -eq 1 -a cat passwd | awk -F : $3 0{print $1} root ] then echo 检测结果为:root是uid为0的唯一用户 exit 0 else echo 检测结果为:root不是uid为0的唯一用户 exit 1 fi14、root用户默认组的GID是否为0检测 系统版本 CentOS 6/7/8 内容 root应为唯一的GID为0用户 检测方式 #!/usr/bin/env sh echo 检测ROOT是否GID为0的唯一用户 set -e cfgfile/etc/passwd root_gidcat ${cfgfile}|grep -E ^root | awk -F : {print $4} if [ ${root_gid} -eq 0 ] then echo 检测结果为:root是gid为0的唯一用户 exit 0 else echo 检测结果为:root不是gid为0的唯一用户 exit 1 fi15、SSH空闲超时间隔是否设置检测 系统版本 CentOS 6/7/8 内容 /etc/ssh/sshd_config文件中 ClientAliveInterval应设置为等于18000 ClientAliveCountMax应设置为等于2 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo SSH空闲超时间隔是否设置 set -e cfgfile/etc/ssh/sshd_config ClientAliveInterval_keycat ${cfgfile} | grep ClientAliveInterval | awk {print $1} ClientAliveInterval_valuecat ${cfgfile} | grep ClientAliveInterval | awk {print $2} ClientAliveCountMax_keycat ${cfgfile} | grep ClientAliveCountMax | awk {print $1} ClientAliveCountMax_valuecat ${cfgfile} | grep ClientAliveCountMax | awk {print $2} if [ ${ClientAliveInterval_key} -o ${ClientAliveInterval_key} #ClientAliveInterval -o ${ClientAliveCountMax_key} -o ${ClientAliveCountMax_key} #ClientAliveCountMax ] then echo 检测结果为:未设置最大空闲时间 exit 1 else if [ ${ClientAliveInterval_value} -eq 18000 -a ${ClientAliveCountMax_value} -eq 2 ] then echo 检测结果为:最大空闲时间已设置为18000秒(5小时)X236000秒(10小时) exit 0 else echo 检测结果为:最大空闲时间未设置为18000秒(5小时)X236000秒(10小时) exit 1 fi fi16、用户禁止使用高危命令检测 系统版本 CentOS 6/7/8 内容 /usr/bin/yum 权限为700 /usr/bin/rpm权限为700 /usr/bin/rz权限为700 /usr/bin/sz权限为700 /usr/bin/scp权限为700 根据实际情况调整即可 检测方式 #!/bin/bash echo 检测是否禁止普通用户执行高危命令 #file1/usr/bin/rz 禁止普通用户上传 file2/usr/bin/sz ##禁止普通用户下载(办公网与运维网场景不一样可能需要开放) file4/usr/bin/yum ##禁止普通用户执行 file5/usr/bin/rpm ##禁止普通用户执行 permission700 # 替换为你期望的权限值此值为仅支持root用户执行 if [[ -f $file1 $(stat -c %a $file1) $permission ]]; then echo 检测结果为:已禁止普通用户执行rz命令 elseecho 检测结果为:未禁止普通用户执行rz命令 fi if [[ -f $file2 $(stat -c %a $file2) $permission ]]; then echo 检测结果为:已禁止普通用户执行sz命令 elseecho 检测结果为:未禁止普通用户执行sz命令 fi if [[ -f $file3 $(stat -c %a $file3) $permission ]]; then echo 检测结果为:已禁止普通用户执行scp命令 elseecho 检测结果为:未禁止普通用户执行scp命令 fi if [[ -f $file4 $(stat -c %a $file4) $permission ]]; then echo 检测结果为:已禁止普通用户执行yum命令 elseecho 检测结果为:未禁止普通用户执行yum命令 fiif [[ -f $file5 $(stat -c %a $file5) $permission ]]; then echo 检测结果为:已禁止普通用户执行rpm命令 elseecho 检测结果为:未禁止普通用户执行rpm命令 fi17、普通用户禁止修改高危文件检测 系统版本 CentOS 6/7/8 内容 /etc/passwd权限为644 /etc/group权限为644 /etc/shadow权限为400 /etc/gshadow权限为400 /etc/hosts.deny权限为644 /etc/hosts.allow权限为644 根据实际情况调整即可 检测方式 #!/usr/bin/env sh echo 检测是否禁用普通用户修改高危文件 file1/etc/passwd ##禁止普通用户更改 file2/etc/shadow ##禁止普通用户查看 file3/etc/group ##禁止普通用户更改 file4/etc/gshadow ##禁止普通用户查看 file5/etc/hosts.deny ##禁止普通用户更改 file6/etc/hosts.allow ##禁止普通用户更改 permission1644 # 替换为你期望的权限值此值为仅支持root用户更改 permission2400 # 替换为你期望的权限值,即只有root用户可查看 if [[ -f $file1 $(stat -c %a $file1) $permission1 ]]; then echo 检测结果为:已禁止普通用户更改passwd文件 elseecho 检测结果为:未禁止普通用户更改passwd文件 fi if [[ -f $file3 $(stat -c %a $file3) $permission1 ]]; then echo 检测结果为:已禁止普通用户更改group文件 elseecho 检测结果为:未禁止普通用户更改group文件 fi if [[ -f $file2 $(stat -c %a $file2) $permission2 ]]; then echo 检测结果为:已禁止普通用户读取shadow文件 elseecho 检测结果为:未禁止普通用户读取shadow文件 fi if [[ -f $file4 $(stat -c %a $file4) $permission2 ]]; then echo 检测结果为:已禁止普通用户读取gshadow文件 elseecho 检测结果为:未禁止普通用户读取gshadow文件 fi if [[ -f $file5 $(stat -c %a $file5) $permission2 ]]; then echo 检测结果为:已禁止普通用户更改hosts.deny文件 elseecho 检测结果为:未禁止普通用户更改hosts.deny文件 fi if [[ -f $file6 $(stat -c %a $file6) $permission2 ]]; then echo 检测结果为:已禁止普通用户更改hosts.allow文件 elseecho 检测结果为:未禁止普通用户更改hosts.allow文件 fi
http://www.pierceye.com/news/906494/

相关文章:

  • 河南双师培训网站html 路径 网站根路径
  • 专业定制网站企业如何注册公司营业执照
  • 福泉市自己的网站某个产品营销推广方案
  • 金坛市建设局网站微信网站有什么作用
  • 设计建网站今天的最新消息新闻
  • 电商行业建设网站ui网页设计培训学校
  • fineui 如何做网站私密浏览器免费版片视频动漫
  • 产地证是在哪个网站上做一起做网店下载安装
  • 舞钢市城乡建设局网站阿里巴巴网站谁做的
  • 巴彦淖尔市网站制作网站不收录怎么解决
  • 站群源码长春建设网站公司哪家好
  • 石家庄网站建设雨点牛wordpress qq登录免费
  • 有网站如何做淘宝客荆门市城乡建设管理局网站
  • 综合性门户网站列举如何拥有自己的微信小程序
  • 我图网类网站建设做外贸哪个网站最好
  • 做网站后台运营这个工作怎么样成都网络推广哪家好
  • angularjs做的网站有哪些wordpress 文章
  • 全国网站建设公司排名wordpress功能强大的主题
  • 做网站用c 还是php番禺制作网站平台
  • 营销网站运营的基本环节郑州大学现代远程教育 《网页设计与网站建设》个人主页
  • 网站建设合同是谁开的wordpress装主题需要ftp
  • 新乡门户网站建设方案开启wordpress upwn
  • 烟台企业自助建站系统浙江网站seo
  • 北京婚纱摄影网站珠海网站建设怎样
  • 用什么软件来做网站域名网安备案
  • 能打开各种网站的浏览器推荐制作小网站
  • 山东公司网站开发好看的个人博客主页
  • 长沙优化网站获客软件最新网页游戏排行榜2021
  • 学校网站 建设网络系统管理与维护电大考试题
  • 中文域名转码网站琼筑网站是哪家做的