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

西部数码助手网站后台管理网站建设模块需求分析

西部数码助手网站后台管理,网站建设模块需求分析,做网站网站盈利会怎么样,郑州最新出入通知官方文档介绍 在《检查SSH安全配置-sshd服务端未认证连接最大并发量配置》中我们简略地阐述了“MaxStartups参数”在SSH安全配置中的意义。但是#xff0c;并未对该参数做详细说明。 为啥没有详细说明呢#xff1f;因为俺也没弄明白#xff01; 我们先看一下sshd_config的…官方文档介绍 在《检查SSH安全配置-sshd服务端未认证连接最大并发量配置》中我们简略地阐述了“MaxStartups参数”在SSH安全配置中的意义。但是并未对该参数做详细说明。 为啥没有详细说明呢因为俺也没弄明白 我们先看一下sshd_config的man文档是如何介绍该参数的。 Specifies the maximum number of concurrent unauthenticated connections to the SSH daemon.  Additional connections will be dropped until authentication succeeds or the LoginGraceTime expires for a connection.  The default is 10:30:100. Alternatively, random early drop can be enabled by specifying the three colon separated values start:rate:full (e.g. 10:30:60).  sshd(8) will refuse connection attempts with a probability of rate/100 (30%) if there are currently start (10) unauthenticated connections.  The probability increases linearly and all connection attempts are refused if the number of unauthenticated connections reaches full (60). 指定SSH守护进程未认证的最大并发连接数。额外的连接将被丢弃直到身份验证成功或连接的LoginGraceTime过期。默认值是10:30:100。 或者可以通过指定三个冒号分隔的值start:rate:full来启用随机提前掉落(例如“10:30:60”)。如果当前有10个未验证的连接sshd(8)将以概率/10030%拒绝连接尝试。如果未经身份验证的连接数达到满60则概率线性增加并且所有连接尝试都被拒绝。 ^_^ 是不是每个字都认识串起来就有点云里雾里了关键就是介绍得太朦胧缺少了很多上下文。然而官方信息就止于此了。 于是我问了AI百度Google。 Kimi AI的回答 MaxStartups 是 SSH 服务器sshd的一个配置参数用于控制未认证的并发连接数。它的作用是防止服务器被大量的未认证连接淹没从而保护服务器的资源和安全性。以下是 MaxStartups 参数的详细工作原理 配置格式 MaxStartups 的配置格式为 start:rate:full也可以只配置 start此时默认值为 start:30:start。 参数解释 start: 表示当未认证的连接数超过 start 时开始拒绝新的连接。 例如MaxStartups 10:30:100 中的 10 表示当未认证连接数超过 10 时开始拒绝新的连接。 rate: 表示拒绝连接的概率以百分比形式表示。 例如MaxStartups 10:30:100 中的 30 表示当未认证连接数超过 10 时拒绝连接的概率为 30%。 拒绝概率会线性增加直到达到 full 值。 full: 表示当未认证连接数达到 full 时拒绝所有新的连接尝试。 例如MaxStartups 10:30:100 中的 100 表示当未认证连接数达到 100 时所有新的连接尝试都会被拒绝。 工作原理 未认证连接: 当客户端尝试连接到 SSH 服务器时如果身份验证未完成例如密码错误该连接将被视为“未认证连接”。 未认证连接会占用 MaxStartups 的名额直到身份验证成功或连接被拒绝。 拒绝机制: 当未认证连接数超过 start 时新的连接尝试将有 rate 概率被拒绝。 拒绝概率会线性增加直到未认证连接数达到 full此时所有新的连接尝试都会被拒绝。 抛出疑问 更晕了有没有~~ 尽管还是不太清楚MaxStartups对于start:rate:full三个参数了解却更加清晰了。另外不清楚的点也总结到了 1、MaxStartups作用范围额外的连接将被丢弃直到身份验证成功或连接的LoginGraceTime过期缺省值120秒。跟源IP地址有没有关系是同一个并发内还是全局场景下所有并发都生效 注LoginGraceTime如果用户没有成功登录服务器将在此时间之后断开连接。如果该值为0则没有时间限制。缺省值是120秒。 2、达到full最大阈值此后拒绝的是正常连接还是未认证链接 3、未认证连接的定义也比较模糊。 我不知道你能不能看懂我说的问题但是要解答这些问题要么去读openssh的源代码要么就要做实验。 实验验证 实验原理 1、编写脚本并发创建大量“未认证连接”使用错误密码 2、通过lastb可以查看登录失败记录可以通过此来查看openssh产生的“未认证连接”数量 实验验证项 本实验将验证以下项目 1、验证openssh在怎样一个阈值下会拒绝创建连接拒绝创建的是正常连接还是“未认证连接” 2、MaxStartups作用范围是在一个并发内还是全局性的 3、过多的“未认证连接”对openssh是否有影响 实验步骤与代码 以下是一个使用 paramiko 库通过 Python 脚本创建 SSH 连接的示例代码 import logging import subprocess import sys from concurrent.futures.thread import ThreadPoolExecutor import paramiko# 配置日志 log logging.getLogger() log.setLevel(logging.INFO) # 设置日志级别为 INFO# 创建日志格式 fmt logging.Formatter(%(asctime)s [%(levelname)s] [%(threadName)s] [%(filename)s:%(lineno)d] %(message)s) streamH logging.StreamHandler() streamH.setFormatter(fmt) streamH.setLevel(logging.INFO) log.addHandler(streamH)# 禁用 paramiko 的日志输出 paramiko_logger logging.getLogger(paramiko) paramiko_logger.setLevel(logging.CRITICAL) # 设置 paramiko 日志级别为 CRITICAL paramiko_logger.propagate False # 禁用 paramiko 日志传播def doSsh(ip, port):ssh paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:ssh.connect(ip, portport, usernameroot, passwordyour_password)log.info(fLogin successful to {ip}:{port})except Exception as e:log.error(fLogin failed to {ip}:{port}. Error: {e})finally:ssh.close()if __name__ __main__:if len(sys.argv) ! 4:log.error(Usage: python tmaxssh.py ip port number)sys.exit(1)ip sys.argv[1]port int(sys.argv[2])number int(sys.argv[3])with ThreadPoolExecutor(max_workers1000) as executor:futures [executor.submit(doSsh, ip, port) for _ in range(number)]# 等待所有任务完成for future in futures:future.result() 实验步骤 1、清零lastb记录 echo /var/log/btmp lastb|wc -l             2 2、修改MaxStartups配置项 MaxStartups 10:30:100 systemctl restart sshd 3、创建1000个“未认证连接” python3 tmaxssh.py 192.168.XX.202 4022 1000 21 4、查看产生的登录失败数 lastb|wc -l 102 5、手动登录并故意输入错误密码然后查看登录失败数是否变化 ~]# ssh -p4022 root192.168.XX.202 root192.168.XX.202s password:  Permission denied, please try again. root192.168.XX.202s password:  Permission denied, please try again. root192.168.XX.202s password:  root192.168.XX.202: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). ~]# lastb|wc -l 105 6、手动登录并输入正确的密码 ~]# ssh -p4022 root192.168.XX.202 root192.168.XX.202s password:  Activate the web console with: systemctl enable --now cockpit.socket Last login: Tue Feb 25 14:56:57 2025 from 192.168.XX.230 ~]# exit 注销 7、连续执行3、4步骤 ~]# python3 tmaxssh.py 192.168.XX.202 4022 1000 21 lastb|wc -l 205 ~]# python3 tmaxssh.py 192.168.XX.202 4022 1000 21 lastb|wc -l 305 实验总结 1、验证openssh在怎样一个阈值下会拒绝创建连接拒绝创建的是正常连接还是“未认证连接” 答MaxStartups对正常会话创建没有影响它是针对大量“未认证连接”的保护措施。实验表明当达到 1000 个“未认证连接”时只记录了 100 个其他的均被拒绝。 2、MaxStartups作用范围是在一个并发内还是全局性的 答第5个、7个实验表明MaxStartups 不是全局生效的。每批 1000 个“未认证连接”中只有 100 个被记录而下一批 1000 个仍然会产生 100 个登录失败记录。OpenSSH 如何区分同一批并发的具体机制尚不明确。 3、过多的“未认证连接”对openssh是否有影响 答实验观察到过多的“未认证连接”会导致 OpenSSH 响应变慢。 总结 MaxStartups start:rate:full 要配置使用默认10:30:100即可并且限制约严格约好建议配置为10:30:60或更低。 检查方法 执行以下命令验证MaxStartups是否为10:30:60或更严格的限制 sshd -T | awk $1 ~ /^\s*maxstartups/{split($2, a, :);{if(a[1] 10 || a[2] 30 || a[3] 60) print $0}} 判定标准 没有任何回显信息
http://www.hkea.cn/news/14492975/

相关文章:

  • 免费网站教程wordpress 显示文章标签
  • 网站设计字体大小规范精品一卡2卡三卡4卡分类
  • 免费的域名注册网站宣传广告牌图片
  • 网站集成微信登陆网上申报系统
  • 网站和公众号的区别是什么意思枝江市住房和城乡建设局网站
  • 做网站分什么软件石家庄移动端网站建设
  • 韩国封号事件网站建设网站浮动窗口怎么做的
  • 网站不足网站开发程序哪个好
  • 大良网站建设广东的一起(17)做网站
  • 北京网站设计公司哪家公司好安阳市设计
  • 和布克赛尔网站建设动漫设计与制作专业的学校有哪些
  • 宿州网站公司青岛建设工程信息网
  • 扬州 网站建设828企业服务平台
  • wordpress 企业站旅游wordpress
  • 汉滨区住房和城乡建设局网站在阿里云安装wordpress
  • 网站首页图片大全网站地图 xml html
  • 备案网站建设方案模板吉林省吉林市有几个区
  • 郑州公司网站制作用ps做个人网站界面
  • 什么是 网站收录网络推广软件
  • 个人信息页面设计漂亮的网站如何进行推广
  • dw网页设计制作网站的成品新闻发稿公司
  • 做网站多少钱google注册公司流程图片
  • 有个印度做网站的天天找我建盏公司官方网站
  • 网上做夫妻的网站大型门户网站核心技术
  • 网站开发就业培训班电子贺卡在线制作网站
  • 公司网站建设成都做网站好赚钱吗
  • 视频播放网站建设wordpress菜单导航代码
  • 内蒙古建设工程交易中心网站企业为什么要建站点呢
  • 宣讲家网站 家风建设手机网站生成app软件
  • NET网站开发工程师网站招聘网站开发要多久