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

WordPress5分钟建站营销咨询公司排名前十

WordPress5分钟建站,营销咨询公司排名前十,淘宝联盟怎么做网站,兰溪网站此脚本是一个用于检查Linux系统安全配置的Bash脚本。它通过多项安全标准对系统进行评估,主要检查以下内容: IP地址获取:脚本首先获取主机的IP地址,确保其以10.115开头。 密码策略检查: 检查最小密码长度(P…

此脚本是一个用于检查Linux系统安全配置的Bash脚本。它通过多项安全标准对系统进行评估,主要检查以下内容:

  • IP地址获取:脚本首先获取主机的IP地址,确保其以10.115开头。

  • 密码策略检查:
    检查最小密码长度(PASS_MIN_LEN),确保至少为12。
    检查密码最大生存周期(PASS_MAX_DAYS),确保为90天。
    检查密码复杂度策略,确保满足特定要求。

  • 用户权限与账户管理:
    检查是否限制普通用户使用su命令切换到root用户。
    确认是否存在普通用户账户。
    检查是否删除了不必要的工作账户(如listen, gdm等)。

  • 系统安全配置:
    检查文件和目录的默认权限(umask),确保为027。
    检查命令行界面的超时退出设置(TMOUT),确保为300秒。
    确保启用了syslog日志审计。
    确认日志文件的权限设置。

  • FTP与SSH配置:
    检查FTP匿名用户是否禁用,VSFTP是否禁用匿名登录。
    确保root用户的FTP登录被禁用。
    检查SSH服务的状态,确保其启用。
    危险文件检查:查找潜在危险文件(如/etc/hosts.equiv等)并确认其不存在。

  • Telnet检查:确认Telnet服务未启用,检查相关配置文件。

  • 服务与端口管理:检查不必要的服务和端口是否关闭。

  • DNS配置检查:确保DNS配置符合指定的标准。

最后,脚本会输出不合格项和检查失败项的详细信息,并提供检查的汇总,包括总检查项数、合格数、不合格数和检查失败数。
该脚本适用于系统管理员定期审计和加强Linux系统的安全性。

脚本代码:

#!/bin/bash# 初始化计数器
total_checks=0
pass_checks=0
fail_checks=0
not_found_checks=0
declare -a results# 获取主机的IP地址(以10.123开头)
ip_address=$(ip addr | awk '/inet / && /10\.123\./ {gsub(/\/[0-9]+/, "", $2); print $2}')
echo "主机IP:$ip_address"# 检查口令最小长度
total_checks=$((total_checks + 1))
PASS_MIN_LEN=$(grep '^PASS_MIN_LEN' /etc/login.defs | awk '{print $2}')
if [[ -n $PASS_MIN_LEN ]]; thenif [[ $PASS_MIN_LEN -ge 12 ]]; thenpass_checks=$((pass_checks + 1))elseresults+=("PASS_MIN_LEN ($PASS_MIN_LEN) 不符合标准")fail_checks=$((fail_checks + 1))fi
elseresults+=("PASS_MIN_LEN 未找到")not_found_checks=$((not_found_checks + 1))
fi# 检查口令生存周期
total_checks=$((total_checks + 1))
PASS_MAX_DAYS=$(grep '^PASS_MAX_DAYS' /etc/login.defs | awk '{print $2}')
if [[ -n $PASS_MAX_DAYS ]]; thenif [[ $PASS_MAX_DAYS -eq 90 ]]; thenpass_checks=$((pass_checks + 1))elseresults+=("PASS_MAX_DAYS ($PASS_MAX_DAYS) 不符合标准")fail_checks=$((fail_checks + 1))fi
elseresults+=("PASS_MAX_DAYS 未找到")not_found_checks=$((not_found_checks + 1))
fi# 检查密码复杂度策略
total_checks=$((total_checks + 1))
PAM_CONFIG="/etc/pam.d/system-auth"# 检查未注释的密码复杂度策略
if grep -q "^[^#]*password\s\+requisite\s\+pam_pwquality.so" "$PAM_CONFIG"; then# 直接提取行并检查参数line=$(grep "^[^#]*password\s\+requisite\s\+pam_pwquality.so" "$PAM_CONFIG")# 提取每个参数ucredit=$(echo "$line" | grep -o 'ucredit=[-0-9]*' | cut -d'=' -f2)lcredit=$(echo "$line" | grep -o 'lcredit=[-0-9]*' | cut -d'=' -f2)dcredit=$(echo "$line" | grep -o 'dcredit=[-0-9]*' | cut -d'=' -f2)ocredit=$(echo "$line" | grep -o 'ocredit=[-0-9]*' | cut -d'=' -f2)# 检查参数值是否均为 -1if [[ "$ucredit" == "-1" && "$lcredit" == "-1" && "$dcredit" == "-1" && "$ocredit" == "-1" ]]; thenpass_checks=$((pass_checks + 1))elseresults+=("密码复杂度配置不符合标准: ucredit=$ucredit, lcredit=$lcredit, dcredit=$dcredit, ocredit=$ocredit")fail_checks=$((fail_checks + 1))fi
elseresults+=("未配置有效的密码复杂度策略")not_found_checks=$((not_found_checks + 1))
fi
# 检查是否限制用户su到root
total_checks=$((total_checks + 1))
# 检查 pam_rootok.so
if grep -q '^[^#]*auth\s\+sufficient\s\+pam_rootok.so' /etc/pam.d/su; thenpass_checks=$((pass_checks + 1))
elseecho "未找到: auth sufficient pam_rootok.so"
fi# 检查 pam_wheel.so
if grep -q '^[^#]*auth\s\+required\s\+pam_wheel.so\s\+group=wheel' /etc/pam.d/su; thenpass_checks=$((pass_checks + 1))
elseecho "未找到: auth required pam_wheel.so group=wheel"
fi# 根据找到的情况更新失败检查数
if [ "$pass_checks" -lt 2 ]; thenresults+=("用户su限制不符合标准")fail_checks=$((fail_checks + 1))
fi# 检查是否按用户分配账号
total_checks=$((total_checks + 1))
if grep -qE '^[^:]+:.*' /etc/passwd; thenpass_checks=$((pass_checks + 1))
elseresults+=("不存在普通用户账号")fail_checks=$((fail_checks + 1))
fi# 检查是否删除工作账号
for user in listen gdm webservd nobody nobody4 noaccess; dototal_checks=$((total_checks + 1))if grep -q "^$user:" /etc/passwd; thenresults+=("账号 $user 存在")fail_checks=$((fail_checks + 1))elsepass_checks=$((pass_checks + 1))fi
done# 检查是否设置文件与目录缺省权限
total_checks=$((total_checks + 1))
UMASK=$(grep '^umask' /etc/profile)
if [[ -n $UMASK ]]; thenif [[ $UMASK == *"027"* ]]; thenpass_checks=$((pass_checks + 1))elseresults+=("umask 设置不符合标准")fail_checks=$((fail_checks + 1))fi
elseresults+=("umask 未找到")not_found_checks=$((not_found_checks + 1))
fi# 检查命令行界面超时退出
total_checks=$((total_checks + 1))
TMOUT=$(grep '^export TMOUT=' /etc/profile)
if [[ -n $TMOUT ]]; then# 提取 TMOUT 的值TMOUT_VALUE=$(echo "$TMOUT" | cut -d'=' -f2 | tr -d ' ')# 检查是否设置为 300if [[ "$TMOUT_VALUE" == "300" ]]; thenpass_checks=$((pass_checks + 1))elseresults+=("TMOUT 设置不符合标准,当前值为: $TMOUT_VALUE")fail_checks=$((fail_checks + 1))fi
elseresults+=("TMOUT 未找到")not_found_checks=$((not_found_checks + 1))
fi# 检查是否启用syslog日志审计
total_checks=$((total_checks + 1))
if systemctl is-active --quiet rsyslog; thenpass_checks=$((pass_checks + 1))
elseresults+=("syslog 日志审计未启用")fail_checks=$((fail_checks + 1))
fi# 检查日志文件权限
declare -A expected_permissions=(["/var/log/cron"]="775"["/var/log/secure"]="775"["/var/log/messages"]="755"["/var/log/maillog"]="775"["/var/log/boot.log"]="775"["/var/log/mail"]="775"["/var/log/spooler"]="775"
)# 检查每个日志文件的权限
for file in "${!expected_permissions[@]}"; dototal_checks=$((total_checks + 1))if [[ -f $file ]]; thenperms=$(ls -ld "$file" | awk '{print $1}')# 检查其他用户权限if [[ ${perms:8:1} == "w" ]]; thenresults+=("$file 权限不符合标准")fail_checks=$((fail_checks + 1))elsepass_checks=$((pass_checks + 1))fielse# 文件不存在时将其视为符合标准pass_checks=$((pass_checks + 1))  # 符合标准fi
done# 检查FTP及SSH相关配置
total_checks=$((total_checks + 1))
if ! grep -q 'ftp' /etc/passwd; thenpass_checks=$((pass_checks + 1))
elseresults+=("FTP匿名用户未禁用")fail_checks=$((fail_checks + 1))
fi# 检查VSFTP配置
total_checks=$((total_checks + 1))
if [ ! -f /etc/vsftpd.conf ] || grep -q "anonymous_enable=NO" /etc/vsftpd.conf; thenpass_checks=$((pass_checks + 1))
elseresults+=("VSFTP未禁用匿名登录")fail_checks=$((fail_checks + 1))
fi# 检查root用户FTP登录
total_checks=$((total_checks + 1))
if [ ! -f /etc/ftpusers ] || grep -q 'root' /etc/ftpusers; thenpass_checks=$((pass_checks + 1))
elseresults+=("root 用户FTP登录未禁用")fail_checks=$((fail_checks + 1))
fi# 检查SSH服务状态
total_checks=$((total_checks + 1))
if systemctl is-active --quiet sshd; thenpass_checks=$((pass_checks + 1))
elseresults+=("SSH服务未启用")fail_checks=$((fail_checks + 1))
fi# 检查是否删除潜在危险文件
for file in /etc/hosts.equiv /etc/.rhosts /etc/.netrc; dototal_checks=$((total_checks + 1))if [[ -e $file ]]; thenresults+=("$file 存在")fail_checks=$((fail_checks + 1))elsepass_checks=$((pass_checks + 1))fi
done# 检查是否安装了 telnet 和 telnet-server
total_checks=$((total_checks + 1))
if rpm -qa | grep -qE "telnet|telnet-server"; then# 如果安装了,检查 /etc/xinetd.d/telnet 配置total_checks=$((total_checks + 1))if [[ -f /etc/xinetd.d/telnet ]]; thendisable_line=$(grep -E "^disable" /etc/xinetd.d/telnet)if [[ $disable_line == "disable = no" ]]; thenresults+=("Telnet服务仍在启用")fail_checks=$((fail_checks + 1))elsepass_checks=$((pass_checks + 1))fielsepass_checks=$((pass_checks + 1))fi
elsepass_checks=$((pass_checks + 1))
fi# 检查是否关闭不必要的服务和端口
total_checks=$((total_checks + 1))
if ps -ef | grep -q '[f]tp'; thenresults+=("FTP服务仍在运行")fail_checks=$((fail_checks + 1))
elsepass_checks=$((pass_checks + 1))
fi# 检查DNS配置
total_checks=$((total_checks + 1))
DNS_IPS=("114.114.114.114" "233.5.5.5") # 指定的DNS IP地址
DNS_CONFIG=$(grep -E '^nameserver' /etc/resolv.conf | awk '{print $2}')if [[ -n $DNS_CONFIG ]]; thenfound_ip=falsefor ip in "${DNS_IPS[@]}"; doif [[ "$DNS_CONFIG" == *"$ip"* ]]; thenfound_ip=truebreakfidoneif [[ $found_ip == false ]]; thenresults+=("DNS配置不符合标准: 未找到指定的DNS IP")fail_checks=$((fail_checks + 1))elsepass_checks=$((pass_checks + 1)) # 如果找到了至少一个IP,增加合格计数fi
elseresults+=("DNS配置未找到")not_found_checks=$((not_found_checks + 1))
fi# 输出不合格项和检查失败项
if [ ${#results[@]} -ne 0 ]; thenecho "不合格项和检查失败项:"for result in "${results[@]}"; doecho "$result"done
elseecho "所有检查项均符合标准。"
fi# 输出汇总
echo ""
echo "检查汇总:"
echo "总检查项数: $total_checks"
echo "合格数: $pass_checks"
echo "不合格数: $fail_checks"
echo "检查失败数: $not_found_checks"

检查结果示例:
在这里插入图片描述


文章转载自:
http://disciplinarian.qpnb.cn
http://swaggeringly.qpnb.cn
http://absurdly.qpnb.cn
http://scrooch.qpnb.cn
http://revealer.qpnb.cn
http://extortionary.qpnb.cn
http://cyanosis.qpnb.cn
http://gentlest.qpnb.cn
http://whammer.qpnb.cn
http://plasmatron.qpnb.cn
http://varicocele.qpnb.cn
http://prime.qpnb.cn
http://brage.qpnb.cn
http://moorfowl.qpnb.cn
http://shellfishery.qpnb.cn
http://leptonic.qpnb.cn
http://manumission.qpnb.cn
http://simpleton.qpnb.cn
http://precast.qpnb.cn
http://horticulturist.qpnb.cn
http://plane.qpnb.cn
http://psychotechnics.qpnb.cn
http://beguile.qpnb.cn
http://cresset.qpnb.cn
http://postmitotic.qpnb.cn
http://nibelungenlied.qpnb.cn
http://augmented.qpnb.cn
http://brushup.qpnb.cn
http://infradian.qpnb.cn
http://socialize.qpnb.cn
http://stator.qpnb.cn
http://nugatory.qpnb.cn
http://gueber.qpnb.cn
http://chlorination.qpnb.cn
http://misremember.qpnb.cn
http://negrito.qpnb.cn
http://overridden.qpnb.cn
http://blagueur.qpnb.cn
http://architect.qpnb.cn
http://amuse.qpnb.cn
http://buccinator.qpnb.cn
http://lights.qpnb.cn
http://pearly.qpnb.cn
http://miscalculation.qpnb.cn
http://sinusoidal.qpnb.cn
http://pushpin.qpnb.cn
http://woolfell.qpnb.cn
http://bungalow.qpnb.cn
http://tolidine.qpnb.cn
http://semisedentary.qpnb.cn
http://reposit.qpnb.cn
http://eroticism.qpnb.cn
http://pursuance.qpnb.cn
http://herd.qpnb.cn
http://amphictyonic.qpnb.cn
http://impeller.qpnb.cn
http://purposeful.qpnb.cn
http://monad.qpnb.cn
http://backout.qpnb.cn
http://sunday.qpnb.cn
http://cactaceous.qpnb.cn
http://jostle.qpnb.cn
http://know.qpnb.cn
http://congest.qpnb.cn
http://newtonian.qpnb.cn
http://merosymmetrical.qpnb.cn
http://rebutment.qpnb.cn
http://isopterous.qpnb.cn
http://hoof.qpnb.cn
http://sedulity.qpnb.cn
http://azorean.qpnb.cn
http://goddamned.qpnb.cn
http://tessella.qpnb.cn
http://descendent.qpnb.cn
http://clearly.qpnb.cn
http://aedicule.qpnb.cn
http://fortuity.qpnb.cn
http://electroplate.qpnb.cn
http://incognito.qpnb.cn
http://zestful.qpnb.cn
http://dichroscope.qpnb.cn
http://riproaring.qpnb.cn
http://buhl.qpnb.cn
http://cottonpicking.qpnb.cn
http://cementitious.qpnb.cn
http://quadrille.qpnb.cn
http://fatuity.qpnb.cn
http://sportsmanship.qpnb.cn
http://graveward.qpnb.cn
http://garnetberry.qpnb.cn
http://histotome.qpnb.cn
http://reddish.qpnb.cn
http://zinckic.qpnb.cn
http://lessee.qpnb.cn
http://gabe.qpnb.cn
http://rivulet.qpnb.cn
http://ambagious.qpnb.cn
http://wiggly.qpnb.cn
http://insectival.qpnb.cn
http://allonym.qpnb.cn
http://www.hrbkazy.com/news/86548.html

相关文章:

  • 旅游网站制作方案大数据网站
  • 做网站是否需要自购服务器百度的客服电话是多少
  • 网站建设技术咨询协议扬州seo博客
  • 自己怎么做外贸英文网站seo的实现方式
  • 温州建站程序创建网站的基本流程
  • 龙岩做网站改版找哪家公司谷歌搜索引擎营销
  • 玩家世界网站建设微信推广软件哪个好
  • 企业网站设计特点值得收藏的五个搜索引擎
  • 优秀的营销策划案例广州网站优化服务
  • 高端网站开发公司seo必备软件
  • 济南哪家公司可以做网站竞价广告代运营
  • jianshe导航网站廊坊seo建站
  • 平台门户网站建设方案百度今日排行榜
  • 做社区网站用什么程序搜索广告优化
  • wordpress标题去掉私密哈尔滨关键词优化方式
  • 宁波企业名称查询网站网络营销的推广
  • 做素材网站赚钱吗郑州最新通告
  • 天津宇昊建设集团有限公司网站百度浏览器官网入口
  • 网站制作和收费标准网站关键词免费优化
  • 做自己的网站需要多少钱微信推广软件有哪些
  • app手机端电子商务网站功能深圳seo教程
  • 北京做网站推广上海谷歌seo推广公司
  • 网络营销策划论文惠州企业网站seo
  • 什么网站可以免费做兼职百度热点榜单
  • 奉贤区做网站进入百度首页
  • 软件开发用的软件seo和sem的联系
  • 西安住房和城乡建设局网站免费接单平台
  • 华为云做网站不能修改页面企业文化建设方案
  • 海南政务服务网平台优化是什么意思
  • 网站的ftp上传地址宁波seo关键词优化教程