我正在为虚拟专用服务器开发防火墙,我正在研究的一件事是端口扫描仪。TCP 标志用于保护。我有2个问题。
规则:
-p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j DROP
Run Code Online (Sandbox Code Playgroud)
第一个参数表示检查带有 SYN 标志的数据包 第二个参数表示确保设置了标志 ACK、FIN、RST SYN
并且在这种情况下(有匹配项),丢弃 tcp 数据包
第一个问题:
我理解 RST 和 RST/ACK 的含义,但在第二个参数中使用了 RST SYN。
RST SYN 和 RST 和 SYN RST 有什么区别?
3 次握手中是否有“SYN RST”标志?
第二个问题是关于两者之间的区别
-p tcp --tcp-flags SYN,ACK,FIN,RST SYN -j DROP
Run Code Online (Sandbox Code Playgroud)
和
-p tcp --tcp-flags ALL SYN,ACK,FIN,RST SYN -j DROP
Run Code Online (Sandbox Code Playgroud)
什么时候应该使用 ALL ?
当我使用ALL时,这是否意味着如果带有syn标志的tcp数据包没有设置ACK“和”FIN“和”RST SYN标志,就不会有匹配?
我正在从 Apache 迁移到 nginx 并使用http://winginx.com/en/htaccess迁移重写规则。我试图理解翻译的意思,但我找不到任何关于它的文档。下面是一个例子:
if (-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
Run Code Online (Sandbox Code Playgroud)
我相信 -f
检查文件是否存在,并-d
检查目录是否存在,但是呢-e
?我在哪里可以在文档中找到这些?谢谢!
我对 DNSSEC 有一些疑问。我有一台服务器充当权威名称服务器,另一台充当缓存/解析器。我正在使用 Bind 9.7.1-P2,这些是我的配置文件:
Named.conf(权威服务器)
// Opciones de configuracion del servidor
include "/etc/rndc.key";
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
options{
version "Peticion no permitida/Query not allowed";
hostname "Peticion no permitida/Query not allowed";
server-id "Peticion no permitida/Query not allowed";
directory "/etc/DNS_RIMA";
pid-file "named.pid";
notify yes;
#files 65535;
dnssec-enable yes;
dnssec-validation yes;
allow-transfer { 172.23.2.37; 172.23.3.39; };
transfer-format many-answers;
transfers-per-ns 5;
transfers-in 10;
max-transfer-time-in 120;
check-names master ignore;
listen-on {172.23.2.57; 80.58.102.13; 80.58.102.103; 127.0.0.1; }; …
Run Code Online (Sandbox Code Playgroud) 使用以下命令查看证书的详细信息:
openssl x509 -noout -text -purpose -in mycert.pem
Run Code Online (Sandbox Code Playgroud)
我找到了一堆目的标志(我发现这些标志是由附加到证书的各种扩展设置的)。
这些目的标志之一是“任何目的”。我似乎找不到关于这个标志的任何文档以及为什么或为什么不设置它。
你们中有人知道我在哪里可以找到有关此目的的更多信息及其含义吗?
谢谢,
我有 Spamassassin 3.4 + Ubuntu 14 + Qmail + Clamav。一切都运行正常。检测到垃圾邮件时,会将其标记为 [垃圾邮件] 并发送给收件人。阅读垃圾邮件日志(对我来说是 mail.log),我 grep 这些行:
Jul 14 17:32:36 mail spamd[2575]: spamd: identified spam (11.3/7.0) for foo.user@foodomain.com.br:89 in 1.9 seconds, 5217 bytes.
Jul 14 17:32:36 mail spamd[2575]: spamd: result: Y 11 - BAYES_00,DCC_CHECK,DIGEST_MULTIPLE,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HELO_DYNAMIC_DHCP,HTML_IMAGE_ONLY_24,HTML_IMAGE_RATIO_02,HTML_MESSAGE,MPART_ALT_DIFF,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E8_51_100,RAZOR2_CHECK,RCVD_IN_BRBL_LASTEXT,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL scantime=1.9,size=5217,user=foo.user@foodomain.com.br,uid=89,required_score=7.0,rhost=localhost,raddr=127.0.0.1,rport=46216,mid=<20170714203234.33D342666A8E7@node225.7sete7corp.com>,bayes=0.000000,autolearn=no autolearn_force=no
Run Code Online (Sandbox Code Playgroud)
我知道垃圾邮件被标记是因为达到 11.3 分;在第二行,我知道垃圾邮件有标记/规则。
我的问题:是否可以更改 Spamassassin 上的一些配置以将单个标志分数添加到日志中?
Spamassassin 会发送报告,并将原始邮件附加到收件人。我知道摘要包含与分数相同的标志。
这些分数也可以记录下来,这对我很有用。
虚拟专用服务器的防火墙。
我正在研究如何防止 FIN 扫描,这让我想到了后果。
很多人都在使用这个规则:
-p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP
因此,当有人向我发送一个 FIN = 1 的数据包时,我无法将 FIN/ACK 发回。
这似乎不太可能,但这是否意味着我建立的连接不会被停止?
这是如何运作的 ?我的连接是否保持活跃,如果是,持续多长时间?
当有人关闭他/她的浏览器时,这实际上是如何工作的?它向我的服务器发送一个 FIN,我的服务器用 FIN/ACK 回复......但浏览器无法接收,对吧?谁拿到包裹,它去哪儿了?
如果...远程机器向我的服务器发送一个 SYN,我的回复是 SYN/ACK 并且假设我没有收到 ACK,我的服务器等待它多久?
有未完成的 3 次握手的名称吗?谢谢你。
我通过了以下内容,它对从appsettings.json
文件中创建 kubernetes 机密进行了试运行,然后将其通过管道传输到 kubernetes apply
。我认为-f
将采用--dry-run
创建的秘密的文件名并在应用秘密时使用它,但我想知道尾随-
是否有任何意义,或者它只是一个错字?
kubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml | kubectl apply -f -
我最近一直在阅读有关 TCP 协议的内容,因为我对使用某些标志的方式和原因有点好奇。
在我发现的信息中,它谈到了正常关闭 TCP FIN 应该用于关闭连接,但随后它也谈到了 TCP RST 可用于在活动连接上中止关闭。
我的问题是,为什么要使用 RST 来中止/关闭使用 TCP FIN 的活动连接?
(将活动连接称为在标准 3 次握手后两个端点发送和接收数据的连接。我知道当客户端为未侦听的服务器端口发送 SYN 时,服务器可以使用 RST)
我想标记某些 Active Directory 帐户,以表明它们代表个人、自然人,而不是组、服务帐户、内置帐户等。这可以通过自定义或内置属性、组等进行。
理想情况下,解决方案是:
flags ×9
tcp ×3
iptables ×2
attributes ×1
bind ×1
certificate ×1
conditional ×1
dnssec ×1
firewall ×1
groups ×1
kubernetes ×1
linux ×1
logging ×1
networking ×1
nginx ×1
openssl ×1
options ×1
spamassassin ×1
x509 ×1