小编Lek*_*eyn的帖子

在 nginx 配置文件中拆分长行

为了不向后端传递垃圾,我对location指令有一个严格的正则表达式。它看起来像这样:

location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
    # other directives
}
Run Code Online (Sandbox Code Playgroud)

我想在 80 个字符处折叠该行,有没有办法拆分配置?以下结果会导致语法错误,但这是我正在寻找的内容:

location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/"\
            "...(more|restrict).ext" {
# results in a literal newline (%0A) being accepted
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/
...(more|restrict).ext" {
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到提示(http://wiki.nginx.org/ConfigNotation也没有http://wiki.nginx.org/HttpCoreModule#location提到折叠线的任何内容)

configuration nginx

17
推荐指数
1
解决办法
8178
查看次数

如何使用 Tap 设备使用 IPv4 和 IPv6 设置 OpenVPN?

我已经设法使用 tap0 为完整的 IPv4 连接设置了 OpenVPN。现在我想对 IPv6 做同样的事情。

地址和网络设置(注意我的真实前缀被 2001:db8 替换):

2001:db8::100:0:0/96    my assigned IPv6 range
2001:db8::100:abc:0/112 OpenVPN IPv6 range
2001:db8::100:abc:1     tap0 (on server) (set as gateway on client)
2001:db8::100:abc:2     tap0 (on client)
2001:db8::1:2:3:4       gateway for server

 Home laptop   (tap0: 2001:db8::100:abc:2/112 gateway 2001:db8::100:abc:1/112)
  |      | |      (running Kubuntu 10.10; OpenVPN 2.1.0-3ubuntu1)
  | wifi | |
   router  |
      |   OpenVPN
  INTERNET |
eth0  |   /tap0
     VPS        (eth0:2001:db8::1:2:3:4/64    gateway 2001:db8::1)
               (tap0: 2001:db8::100:abc:1/112)
                  (running Debian 6; OpenVPN 2.1.3-2)
Run Code Online (Sandbox Code Playgroud)

服务器具有本机 IPv4 和 IPv6 连接,客户端只有 …

ipv6 openvpn tap

10
推荐指数
1
解决办法
3万
查看次数

没有重定向网关的 OpenVPN 客户端执行三角路由和 IP 欺骗在 Ubuntu 上不起作用

我有一个运行在我的服务器上的 OpenVPN 客户端,在不同国家的远程网络上获取公共 IP。客户端配置如下:

dev tap
remote a.b.30.7
float a.b.30.7
port 5167
ifconfig a.b.28.178 255.255.255.128
route-gateway a.b.28.129
#redirect-gateway def1
secret woot.key
cipher AES-128-CBC
dhcp-option DNS a.b.8.8
Run Code Online (Sandbox Code Playgroud)

对重定向网关进行了注释,以便我的服务器(运行 openvpn 客户端)不会被 VPN 连接“接管”。我可以将服务绑定到 tap0 接口(即 httpd 等),并在另一个国家/地区使用此 IP 运行网站。运行 openVPN 客户端的服务器所在的 ISP 没有适当的出口过滤,因此 VPN 的流量可以使用另一个国家的公共 IP 离开 eth0 的默认网关。只有入站流量通过 VPN 路由(即传入的 httpd 请求),但出站流量通过使用 VPN 公共 IP 欺骗的 eth0 流出。没有任何关于路由或 iptables 的麻烦,这在 DEBIAN 服务器上没有问题。明显的好处是我拥有常规 eth0 接口的速度和路由,但 IP 位于不同的国家/地区。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
x.y.150.64 …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu debian routing openvpn

7
推荐指数
1
解决办法
2275
查看次数

为什么 mod_security 需要 ACCEPT HTTP 标头字段?

经过一些调试,我发现 mod_security 的核心规则集会阻止没有(可选!)ACCEPT 标头字段的请求。

这是我在日志中找到的内容:

ModSecurity:警告。需要匹配“rx ^OPTIONS$”与“REQUEST_METHOD”。[文件“/etc/apache2/conf.d/modsecurity/modsecurity_crs_21_protocol_anomalies.conf”] [行“41”] [id“960015”] [msg“请求缺少接受头”] [严重性“关键”] [标签“ PROTOCOL_VIOLATION/MISSING_HEADER"] [主机名 "example.com"] [uri "/"] [unique_id "T4F5@H8AAQEAAFU6aPEAAAAL"]
ModSecurity:访问被拒绝,代码为 400(第 2 阶段)。需要匹配“rx ^OPTIONS$”与“REQUEST_METHOD”。[文件“/etc/apache2/conf.d/modsecurity/optional_rules/modsecurity_crs_21_protocol_anomalies.conf”] [行“41”] [id“960015”] [msg“请求缺少接受头”] [严重性“

为什么需要这个标题?我知道“大多数”客户发送这些,但为什么他们的缺席被视为安全威胁?

http mod-security apache-2.2

7
推荐指数
1
解决办法
1万
查看次数

DKIM 选择器名称应该是不可猜测的吗?

M³WAAGDKIM密钥轮换最佳实践文档(PDF)推荐了一个“足够”随机DKIM选择名称,以便它无法通过浏览DNS猜测。文字引述:

4.3 键选择器命名方案

为 DKIM 密钥选择器定义一个命名方案,该方案既对取证分析有意义,又足够随机,因此无法通过浏览 DNS 轻易猜出密钥。

注意:选择器命名方案还应设计为降低攻击者可以轻松预测未来选择器的名称并检索相关键的风险。有关发布密钥以供将来使用的过程的描述,请参阅第 5 节

这可能与较短的 512 位 RSA 密钥有关,但对我来说似乎没有意义,例如 2048 位的 RSA 密钥。DNS 持有非秘密的公钥,只需阅读一封签名邮件即可发现。默默无闻的安全性和很少的安全性?

为什么随机 DKIM 选择器名称会更好,什么时候遵循他们的建议才有意义?

dkim

7
推荐指数
1
解决办法
3598
查看次数

chmod Linux 目录中的所有文件(包括隐藏文件)(非递归)

昨天我做了一件我今天意识到的愚蠢的事情。我跑了:

/root# chmod o-rwx * .*
Run Code Online (Sandbox Code Playgroud)

这应该删除当前目录 ( /root) 中所有文件的读取、写入和执行权限。我一这样做,screen表现得很奇怪,我无法以非 root 用户身份运行命令,除非我使用 root 登录,否则 ssh 拒绝工作。

这是由于bash扩大.*..太!现在,如何在chmod不使用find循环或其他语言(如 perl)的情况下chmod 目录中的所有文件?

linux files chmod

6
推荐指数
1
解决办法
8107
查看次数

NTPd 是否必须侦听接口或地址以更新服务器时间?

默认情况下,NTPd 侦听 UDP 端口 123(所有 IP 地址)。这是否需要仅更新服务器时间?

如果有必要监听一个地址,应该使用哪个地址?它可以侦听的可能地址是:

  • 127.0.0.1
  • 服务器IP
  • ::1 (IPv6)
  • 服务器 IP (IPv6)

为什么它甚至必须监听本地主机(127.0.0.1 和 ::1)?没有人可以访问该地址上的服务器。


要将 NTPd 绑定到单个地址,-I可以使用该选项。对于我的 Debian 盒子,我必须编辑/etc/default/ntp,并替换-g为:

-g -I 1.2.3.4 -I 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

这会导致 NTPd 侦听公共地址 1.2.3.4(用您自己的地址替换)和 127.0.0.1。

ntpd

5
推荐指数
2
解决办法
3万
查看次数

在所有文件夹上运行 chown 并将所有者设置为文件夹名称减去尾随 / 的脚本

一些麻木跑了chown -R username。在我们的网络服务器上的 /home 文件夹中,认为他在所需的文件夹中。毋庸置疑,服务器正在抛出很多问题。

我们有 200 多个网站,我不想将它们全部单独列出,因此我正在尝试制作一个脚本,将所有文件夹的所有者更改为文件夹名称,不带尾随 /。

到目前为止,这就是我所拥有的一切,一旦我可以删除 / 就可以了,但我还想检查文件是否包含 . 在其中,如果没有,则运行该命令,否则转到下一个。

#!/bin/bash
for f in *

do

    test=$f;
    #manipluate the test variable
    chown -R $test $f

done
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒!

提前致谢!

linux ssh shell bash

4
推荐指数
1
解决办法
9759
查看次数

如何通知网络中的每个人 Internet 连接已关闭?

我们的互联网连接很糟糕。白天它会在没有任何警告的情况下上下几次。每次这样做时,我们都会接到大量电话,说网络已关闭。

更换互联网连接不是一种选择,因为它们是唯一为我们所在的建筑物提供服务的连接。

我想知道是否有人知道在我们的 ISP 出现故障时自动通知所有人的方法。理想情况下,这将是一个内部网站,用户可以访问以查看 ISP 是否已关闭(例如访问http://isbroadstripedown并查看当前状态),但如果它是一个内部程序,我们将在服务器或工作站上运行该程序也。只要人们可以访问它看看发生了什么。

internet isp

1
推荐指数
1
解决办法
463
查看次数

如何找到下一个 IPv6 地址?

我有一个 /96 块的 IPV6 地址,我想知道如何找到下一个地址(因为 ipv6 地址可以包含数字和字母)。我知道第一个地址可能是数字,但我还没有弄清楚我如何真正以某种顺序找到该数量的地址

EG:我可以使用什么技术来确保我实际上能够使用所有地址

ipv6 ip-address

0
推荐指数
1
解决办法
2153
查看次数