首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记录一下fail2ban不能正常工作的问题 & 闲扯安全

    今天我第一次学习使用fail2ban,以前都没用过这样的东西,小地方没有太多攻击看上,但是工作之后这些安全意识和规范还是会加深认识,fail2ban很简单的远离,分析日志,正则匹配查找,iptables...ban ip,然后我今天花了很长时间都没办法让他工作起来,我写了一个简单的规则ban掉尝试暴力登录phpmyadmin的ip,60秒内发现3次ban一个小时。...我通过fail2ban-regex测试工具测试的时候结果显示是能够正常匹配的,我也试了不是自己写的规则,试了附带的其他规则的jail,也是快速失败登录很多次都不能触发ban,看fail2ban的日志更是除了启动退出一点其他日志都没有...后面我把配置还原,重启服务,这次我注意到重启服务之后整个负载都高了起来,fail2ban-server直接是占满了一个核,这种情况居然持续了十几分钟的样子,简直不能忍。

    5.3K30

    通信|DNS域名中的点儿和通配符

    —— 琉璃康康 DNS中有两个经常使用但是容易被忽视的小东西: 一个是尾随点(Trailing dot) 一个是通配符(Wildcard) DNS 尾随点(Trailing Dot) 尾随点是DNS定义必要的一个知识点...,根域为空,其他依次降级: RFC 1034 提供了关于 DNS 的基础概念,其中解释了尾随点的作用。它指出,尾随点用于区分相对和绝对域名。...另外需要注意的是,我们在浏览器中输入域名的时候通常不用带trailing dot,主要是因为我们大多数互联网用户不熟悉 DNS 的内部工作机制,包括尾随点的概念,所以为了使网络更加用户友好,浏览器和其他客户端软件被设计成自动处理这些技术细节...,提示405 not allowed;但是google.com和google.com.都是可以正常打开谷歌主页的。 嗯,个中缘由咱们自己瞎猜吧。...但是通配符使用的时候有一些限制: 位置限制:通配符必须完整地出现在域名的最左侧,且不能被部分使用。

    1.6K10

    日更系列:C++的异常处理到底是用还是不用

    一次线上问题: 问题源自于工作中碰到的一次线上性能问题。线上日志显示了频繁的异常捕获,然后线上服务质量开始下滑。原因是C++ try..catch异常生产导致了服务不稳定。...即任何前导或尾随空格将导致它抛出异常。 异常产生跟环境有关吗: 说到这里倒也正常,上线之前做次完整的测试环境测试和灰度环境测试,不就完了吗。但是重点在于,上线之前,这个代码压根没有抛出异常。...如果出现了错误(异常也是一种C++错误处理),可以及时通过日志告知,而且服务不至于奔溃,但是同样的,异常生成和处理(主要是try...cache(exception e) 在异常抛出时,生成exception的工作会让效率大打折扣...从C++17开始,不能再从函数写可能抛出某种异常。只能声明不能抛出某种异常noexcept,如果一个函数声明不会抛异常,结果抛出异常,C++运行时会调用std::terminate来终止应用程序。

    3K10

    Swift基础 嵌套

    提供排序闭包的一种方法是编写正确类型的正常函数,并将其作为参数传递给sorted(by:)方法: func backward(_ s1: String, _ s2: String) -> Bool {...嵌套表达式语法 嵌套表达式语法具有以下一般形式: { (parameters) -> return type in statements } 嵌套表达式语法中的参数可以是输入输出参数,但它们不能有默认值...在sorted(by:)方法的情况下,从正在进行排序的事实中可以清楚地看出闭包的目的,读者可以安全地假设闭包可能与String值一起工作,因为它有助于对字符串数组进行排序。...尾随关闭 如果您需要将闭包表达式传递给函数作为函数的最终参数,并且闭包表达式很长,则将其写为尾随闭包可能会有用。您在函数调用的括号后写一个尾随闭包,即使尾随闭包仍然是函数的参数。...这违反了规逃逸闭包不能捕获结构对self的可变引用的规则。 自动关闭 自动闭包是自动创建的闭包,用于包装作为参数传递给函数的表达式。它不需要任何参数,当调用它时,它会返回包裹在里面的表达式的值。

    83500

    ReactiveSwift源码解析(五) SignalProtocol的observe()、Map、Filter延展实现

    从下方每个方法中的调用方式可以看出,每个方法在调用时所提供的尾随闭包就是该方法所表示的快捷方式。...可以将不同类型的信号量和观察者进行适配使其正常通信。接下来我们就来看一下SignalProtocol协议的Map相关的扩展以及使用方式。...map函数的尾随闭包中就是映射规则,其中value是Int类型,而返回值是String类型。...如果你理解上述map的工作原理的话,Filter就显得简单多了。Filter的工作原理以及实现方式与map相似,只不过将Event的map改成了过滤条件。...首先我们将会给出Filter的使用方式,然后在该处Filter的代码实现方式并给出工作原理图。

    1K70

    ReactiveSwift源码解析(九) SignalProducerProtocol延展中的Start、Lift系列方法的代码实现

    当然,在正常情况下,上述写法尤为繁琐,而是使用方式也是比较麻烦的。下方我们就来看一下直接调用add(closure)方法的代码。...add()的尾随闭包的参数是MyClass类型的对象myclass1,其返回值是(MyClass)->MyClass类型的闭包,所以我们就直接在尾随闭包块中返回了一个闭包块,该返回的闭包块的类型就是(MyClass...下方代码中lift()方法的尾随闭包就是上述函数实现中的transform的闭包体。下方的signal参数就是transform在调用时传入的参数。...下方这些方法的工作方式以及运行原理和上面这个图非常相似。只不过是生成中间的信号量的方式不同。 下方代码片段中每个方法在使用lift(transform)方法时使用了尾随闭包的简写形式。...其中的$0参数就是尾随闭包的Signal参数,$0信号量通过调用其对应的方法生成的新的信号量就是该尾随闭包的返回值。具体如下所示。

    71980

    iPhone 16 或将配备可拆卸电池 | Swift 周报 issue 57

    在领英上,杰夫・阿尔维斯也确认了他从苹果离职的消息,也提到了他在苹果 11 年的工作经历,对苹果及在苹果的同事充满感激。...正在审查的提案SE-0439 允许在逗号分隔的列表中使用尾随逗号 提案正在审查。该提案旨在允许在逗号分隔的列表中使用尾随逗号,这些逗号目前仅限于数组和字典文字,只要有终止符可以实现明确的解析。...Swift论坛1) 提议SE-0439:允许在逗号分隔的列表中使用尾随逗号内容大概这项提案旨在允许在逗号分隔的列表中使用尾随逗号,只要有明确的终止符可以进行无歧义解析。...详细设计:只有在有明确终止符的情况下才支持尾随逗号。单元素列表允许尾随逗号,但零元素列表不允许。该提案不会影响现有有效代码的源代码兼容性,但会改变某些无效代码的解析方式。...问题出现在 Actor 类的 usesObject() 方法中,编译器报错说非可发送类型 OtherObjCObject 不能跨越 actor 边界。

    85100

    在Windows中劫持DLL

    动机包括执行可执行文件(通过受信任的可执行文件执行恶意代码可能不太会引起警钟,在某些情况下甚至绕过应用程序白名单功能,如AppLocker,获得持久性(如果目标应用程序已预先安装并定期运行,恶意代码也会正常运行...用户帐户控制(UAC)作为一种安全功能在WindowsVista中引入,在以正常权限运行的进程提升到更高权限之前,通过提示请求用户确认,在用户抱怨在执行任意任务时会出现大量的UAC提示之后,Microsoft...有一些关于绕过UAC的优秀研究——我最喜欢的技术之一是使用尾随空格模拟受信任的目录(mocking of trusted directories using trailing spaces),但归根结底...-微软辩称不是,但鉴于大多数(非企业)Windows计算机默认使用"管理员帐户",这至少是一个缺陷 无论哪种方式,这都为我们提供了一种极好的方法,通过这种方法,DLL劫持可以变得更加强大,需要注意的是不能在...Windows上通过传统方式创建带有尾随空格的文件夹,你可以像最初的研究人员那样编译一些C代码行来完成这项工作,但事实证明VBScript实际上也可以为我们完成这项工作,下面的POC表明,只需几行代码,

    2.7K10

    Swift学习:闭包

    } 说明: 1.闭包的外层是一个大括号,先写的参数和返回值,然后操作部分之前使用in; 2.闭包就相当于OC中的block, 也可以看做是匿名函数; 3.闭包表达式参数可以是in-out参数,但不能设定默认值...,可以使用尾随闭包来增强函数的可读性。...尾随闭包的写法:将闭包书写在函数括号之后,函数会支持将其作为最后一个参数调用,使用尾随闭包,不需要写出它的参数标签。...() { //闭包主体部分 } //注意:如果闭包表达式是函数或方法的唯一参数,则当你使用尾随闭包时,你甚至可以把 () 省略掉: someFunctionThatTakesAClosure...3.Swift会负责被捕获变量的所有内存管理工作,包括对捕获的一份值拷贝,也包括释放不再需要的变量。

    1.1K10

    gRPC 一种现代、开源、高性能的远程过程调用 (RPC) 可以在任何地方运行的框架

    gRPC 允许您定义四种服务方法: 一元 RPC,其中客户端向服务器发送单个请求并获得 单响应返回,就像正常的函数调用一样。...一旦服务器收到客户端的请求消息,它就会做任何工作 需要创建和填充响应。然后返回响应 (如果成功)与状态详细信息(状态代码和 可选状态消息)和可选的尾随元数据。...服务器 使用单个消息响应(以及其状态详细信息和可选 尾随元数据),通常但不一定要在它收到所有 客户端的消息。...DEADLINE_EXCEEDED 指定截止时间或超时是特定于语言的:某些语言 API 可以工作 在超时(持续时间)方面,某些语言 API 在超时方面工作 的截止日期(固定时间点),可能有也可能没有默认截止日期...取消 立即终止 RPC,以便不再执行任何进一步的工作。

    91540

    Netflix 工程师的生活——40毫秒的案例

    很快就可以看出,处理程序中没有任何不正常的行为,即使播放不流畅,处理器也能在几毫秒内运行正常。...音频数据以大约45字节/毫秒的速度传输。 当音频数据以接近10字节/毫秒的速度传输时,卡顿区域在右侧。速度还不够快,无法维持正常播放。...在正常播放的情况下,你可以看到处理程序大约每15毫秒被调用一次。在播放卡顿的情况下,在右侧大约每55毫秒调用一次处理程序。调用之间有额外的40毫秒,没有办法跟上播放的速度。但这是为什么呢?...我知道epoll()的性能不能得到保证,所以我怀疑有什么东西以系统的方式影响epoll()。...这个故事确实体现了我热爱这份工作的一个方面:我不能预知我们的合作伙伴会向我抛出的所有问题,要解决这些问题,我必须了解多个系统,与优秀的同事合作,并不断督促自己学习更多知识。

    1.2K00

    REST API 设计最佳实践:如何构建、设计和使用 API ?

    作为一名开发者,我很幸运能够在工作中使用一些仍然存在的SOAP服务。但是,我主要接触的是REST,这是一种基于资源的API和Web服务开发架构风格。...它对每个响应都返回200 OK,并通过status字段来表示请求是否成功: { "status": "success", "data": {} } 尽管HTTP状态码返回200 OK,但我不能完全确定它有没有处理我的请求失败...": { "error": "Expected at least three items in the list." } } 因此,我必须检查状态代码和临时状态字段,以确保一切正常后才能读取数据...优雅地处理尾部斜杠 关于URI是否应该有尾随斜杠/实际上并不是一个值得争论的问题,你只需要选择其中一种方式(即带或不带尾随斜杠),坚持使用它,并在客户端使用错误约定时优雅地重定向。 讲个故事吧!...有两个主要场景,我觉得202 Accepted特别适用: 如果资源将在未来处理后被创建 — 例如:在某个工作/流程完成之后。 如果资源以某种方式已经存在,但这不应被视为错误。 13.

    1.7K40

    雾天安全行车诱导系统车辆检测雷达工作原理与技术方案

    尾随的驾驶人员可以根据黄色灯带和红色灯带变化得到有效警示提醒,直观判断出路况和前车位置信息,从而保持安全距离,有序通过团雾区域,避免追尾事故的发生。...这种直线传播特性这就决定了每一组相对的雾灯设备必须安装一对红外对射探测器,才能保证每组雾灯的正常工作,能检测的也只是过线瞬时车辆。3、设备使用寿命短。红外传感器的使用环境会直接影响其使用寿命。...使用频率过高,如连续工作24h,也会缩短传感器的使用寿命。4、对射安装要求高,调试维护不便。高速雾区智能行车诱导系统是一个相对比较复杂,专业知识、技术要求较高的系统。...因红外探测器长期工作在室外,不可避免地受到大气中粉尘、微生物以及雪、霜、雾的作用,长久以往,探测器的外壁上往往会堆积一层粉尘样的硬壳。...一组雾灯可选择安装一个雷达,叠加上通信联动,可保证每组雾灯的正常工作,进一步减少了设备使用成本。(5)体积小巧,易集成。

    50660

    Kafka异常Offset commit cannot be completed since the consumer is not part of an...

    auto partition assignment; it is likely that the consumer was kicked out of the group.这个异常翻译过来,是“偏移提交不能完成...ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG是max.poll.interval.ms,表示最大轮询间隔时间,若手动设置为500,意味着消费者在两次连续轮询之间最多只能等待500毫秒...该参数如果设置较小,可能会导致频繁重新平衡,而消费者本身没有问题的情况下,设置过小反而影响频繁导致该消费者无法正常工作,就会抛出以上异常。但是,若设置过大的话,可能导致消费者在长时间无法处理新的记录。...运行测试一下耗时:假如该处理逻辑平均耗时为:1151毫秒,那么max.poll.interval.ms应该设置比1151毫秒大,当然,还需考虑一些额外突发耗时情况在内。...反正不能比1151毫秒小,若比1151毫秒小,就会抛出org.apache.kafka.clients.consumer.CommitFailedException异常。

    2.8K10
    领券