所以我有以下脚本来阻止 IP:
#!/bin/bash
# here's your list of IPS
CURRENT_BL=/path/to/my/ip_black_list.txt
# create/flush recreate the tables
iptables -F BLACKHOLE
iptables -N BLACKHOLE
for BAD_IP in $(cat $CURRENT_BL)
do
ipset add ipset-blacklist $BAD_IP 2>/dev/null || \
echo "Failed to add ${BAD_IP}"
done
# REJECT the matching target
iptables -A BLACKHOLE -p all -m set --match-set ipset-blacklist src -j REJECT
iptables -A BLACKHOLE -j RETURN
# assume your nginx is on 80 and 443
iptables -A INPUT -p tcp -m multiport --destination-ports 80,443 …Run Code Online (Sandbox Code Playgroud) 我正在尝试在多个 EC2 实例上复制 SSH 公钥。
阅读ssh-copy-id手册页,当您传递密钥文件时,程序会添加.pub扩展名(如果缺少)。
AWS 密钥是按.pem格式生成的,我可以使用此解决方法:
ssh-keygen -y -f my-new-key.pem | ssh user@host \
-i already-on-remote-server-key.pem 'cat > ~/.ssh/authorized_keys'
Run Code Online (Sandbox Code Playgroud)
但疑问仍然存在......是否可以使用ssh-copy-id文件.pem或唯一的解决方案是使用解决方法?
我正在尝试创建shell用于将文件复制到远程备份的脚本。
到目前为止,这是我的脚本:
PASSWORD=MY-SECRET-PASS
URL=SLOS755513-3:SL1255513@objectstorage.net
DIR=/backup
scp /home/user/my_log.txt $URL:$DIR
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
ssh: Could not resolve hostname SLOS755513-3: Name or service not known
lost connection
Run Code Online (Sandbox Code Playgroud)
我想这是因为用户名中的特殊字符,因为如果我只是简单地写,test它实际上会尝试以test用户身份连接。
但我试图逃避\-,\:一切都给了我同样的错误。我也不确定如何在脚本中使用密码。
这是我在服务器故障中的第一篇文章,所以我很抱歉任何失礼:)
问题:当我尝试访问充当 WAF 的 apache 背后的“ http://dummy_server/wp-admin ”时,它陷入无限重定向循环。
HAProxy 和 WAF 的完整配置可以在这里找到https://www.haproxy.com/blog/scalable-waf-protection-with-haproxy-and-apache-with-modsecurity/
对于我可以调查的内容,如果我在对 dummy_server/wp-admin 执行 GET 操作时在关闭 apache VH(即仅使用 HA 代理)的同时访问 dummy_server,则服务器会响应
HTTP/1.1 302 Found
Date: Wed, 20 Feb 2019 19:00:49 GMT
Location: https://dummy_server/wp-login.php?redirect_to=.....
Run Code Online (Sandbox Code Playgroud)
然后浏览器重定向到 dummy_server/wp-login 并等待用户凭据。
尽管如此,如果我在激活 WAF 的情况下对 dummy_server 执行 GET,则Location标头将更改为
Location: https://dummy_server/wp-admin
Run Code Online (Sandbox Code Playgroud)
以及陷入重定向循环的过程。
如果我关闭 WAF 配置(我使用的是 modsecurity),则 apache 仅充当反向代理,但问题仍然存在。
下面是虚拟机配置:
<VirtualHost *:90>
<IfModule mod_security2.c>
Include /etc/apache2/owasp-modsecurity-crs/crs-setup.conf
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
</IfModule>
ProxyPreserveHost On
ProxyRequests Off
ProxyVia Off
ProxyPass / http://192.168.57.22:81/
ProxyPassReverse / …Run Code Online (Sandbox Code Playgroud) 我正在我们的 DC (Windows Server 2016) 中创建新的 DNS 记录,我遇到了许多没有常规主机名的记录,只有一个“@”的区域。
我们正在使用范围和策略以及用于 DNS 配置的新 Windows Server 2016 功能。
我知道可以在主机名中使用“*”作为通配符,但我不知道“@”的含义。
我每天都使用 USB 外部驱动器,我希望能够检查它们的完整性。我最近碰巧发现我无法从中读取 SMART 属性。
我想知道是否有外部外壳允许操作系统检查 SMART 属性(USB 或 eSATA),以及这是否是硬件和/或软件限制。
我怀疑这是某些 USB 外壳与硬件相关的限制,但在其他地方找不到真正的答案。
我有一个在 vSphere 6.5 上运行的虚拟机,它有 24 个 vCPU。该服务器有两个物理 CPU (xeon e5-2699 v4),它们有 22 个内核并启用了超线程。
vcpu 在物理 cpu 上究竟是如何运行的?将 vcpu 减少到 22 会更好,它可以在一个物理 cpu 上运行,或者在这种情况下 vSphere 甚至会使用多个物理 cpu 吗?
我已经设置了一个 NginX,以便从实例中提供一些静态文件。
静态文件将由我拥有的 3 个不同域使用。
NginX 服务器位于其自己的(第 4 个)域中。我想限制对我的文件的访问并应用 CORS 策略。
我已经研究过如何实现这一点,并且我确实做到了。在我的位置块中,我测试了以下代码:
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' 'http://localhost:3000';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' 'http://localhost:3000';
add_header 'Access-Control-Allow-Methods' …Run Code Online (Sandbox Code Playgroud) 我正在尝试查找 Kubernetes 集群上运行的哪个应用程序正在使用特定端口与 RabbitMQ 集群进行通信。在 RabbitMQ 上,我看到连接来自 192.168.1.10:34226。192.168.1.10是Kubernetes节点之一。登录到 192.168.1.10 后,我检查是否通过 tcpdump 命令从该节点建立了连接tcpdump -i eth0 port 34226。我看到两个方向的交通。现在我正在尝试查找哪个进程正在建立此连接。首先我尝试了 netstat:
netstat -tapn | grep 34226
结果什么也没发现。然后我尝试了 ss 但仍然一无所获。连接已建立,通过 tcpdump 我可以看到发送到 RabbitMQ 的心跳数据包以及来自 RabbitMQ 的响应。但 netstat 和 ss 不报告已建立的连接。
更新1
我发现这与网络命名空间有关。我的问题与this问题类似,但我需要找到从34226端口建立连接的进程的PID。
我已使用 AWS 控制台修改卷调整了 EBS 卷的大小。这是 lsblk 命令在进行任何更改之前返回的内容:
\n\n$ lsblk\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nxvdn 202:208 0 4G 0 disk \n\xe2\x94\x94\xe2\x94\x80md0 9:0 0 16G 0 raid0 /mnt/data\nxvdc 202:32 0 80G 0 disk \n\xe2\x94\x94\xe2\x94\x80md1 9:1 0 160G 0 raid0 /mnt/temp\nxvda 202:0 0 8G 0 disk \n\xe2\x94\x94\xe2\x94\x80xvda1 202:1 0 8G 0 part /\nxvdp 202:240 0 4G 0 disk \n\xe2\x94\x94\xe2\x94\x80md0 9:0 0 16G 0 raid0 /mnt/data\nxvdo 202:224 0 4G 0 disk \n\xe2\x94\x94\xe2\x94\x80md0 9:0 0 16G 0 raid0 /mnt/data\nxvdb 202:16 0 80G 0 …Run Code Online (Sandbox Code Playgroud)