我经常需要在 Linux 中压缩档案。有没有更简单的方法而不是总是构建如此复杂的命令?
tar zcvf /tmp/mybackup.tar.gz /home/important
我经常需要在 Linux 中压缩档案。有没有更简单的方法而不是总是构建如此复杂的命令?
tar zcvf /tmp/mybackup.tar.gz /home/important
我在 RFC 中没有找到任何对此的参考,希望在这里找到可靠的答案。
域mail.example.com
运行邮件服务器。我想为awesomeexample.com
指向的域设置 MX 记录mail.example.com
。我可以使用 FQDN 还是必须使用静态 IP 地址?
我想使用 Snort 2.x 作为 IPS。我知道,我需要两个 NIC 来捕获流量(DAQ 模式)。
eth0
= 我的网卡到 WANeth1
= 我用于 Snort 的内部(虚拟)NIC。我当前的运行命令:
snort -u snort -g snort -c /etc/snort/snort.conf --daq afpacket -i eth0:eth1 -l /var/log/snort -Q
我如何启用 PROMISC 模式:
tee /etc/rc.local <<EOF
#!/bin/sh -e
ifconfig eth0 promisc
ifconfig eth1 promisc
exit 0
EOF
chmod +x /etc/rc.local
systemctl start rc-local
我需要将两张卡中的哪一张置于混杂模式?eth0
,eth1
甚至两者兼而有之?
我是否必须输入中的eth0
公共HOME_NET
IP suricata.yaml
?
vars:
# more specific is better for alert accuracy and performance
address-groups:
HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]"
我的理解是只有私有地址属于变量HOME_NET
出于安全原因,我必须限制/禁用通过 RDP(端口 3389)与远程计算机(Windows 10)之间的文件传输。文件传输是通过端口 3389 进行的,还是可以通过阻止端口 139/445 SMB 来安全地阻止文件传输?在这一点上,GPO 对我来说太不确定了。
我Postfix
与 Lets Encrypt 结合使用来传输 TLS 加密的电子邮件。
中的以下参数/etc/postfix/main.cf
是相关的:
smtp_tls_key_file = /etc/letsencrypt/live/foo.bar/privkey.pem
smtp_tls_cert_file = /etc/letsencrypt/live/foo.bar/fullchain.pem
smtp_tls_CAfile = /etc/letsencrypt/live/foo.bar/fullchain.pem
我可以毫无问题地发送电子邮件,但我收到 Postfix 无法验证接收站点证书的警告消息:
postfix/smtp[10736]: Untrusted TLS connection established to example.com[xxx.xxx.xxx.xxx]:25: TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)
我怀疑这是因为 Postfix 无法使用此参数访问其证书存储:
smtp_tls_CAfile = /etc/letsencrypt/live/foo.bar/fullchain.pem
更改smtp_tls_CAfile = /etc/ssl/certs
将破坏我的整个 TLS 配置。
我必须进行什么配置才能使 Postfix 能够通过 Lets Encrypt 发送加密消息并检查接收方的证书?
这个错误让我发疯:在 Debian Buster 上运行 nginx。ipv4 工作正常,但使用 ipv6 进行测试会抛出:
Unable to connect to the server
AAAA
记录可用且有效。http://ipv6-test.com
从 DualStack 主机与 Powershell ( ) 的连接Test-NetConnection
不成功。
版本检查nginx -V
:
nginx version: nginx/1.14.2
built with OpenSSL 1.1.1d 10 Sep 2019
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-Cjs4TR/nginx-1.14.2=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/build/nginx-Cjs4TR/nginx-1.14.2/debian/modules/http-auth-pam --add-dynamic-module=/build/nginx-Cjs4TR/nginx-1.14.2/debian/modules/http-dav-ext --add-dynamic-module=/build/nginx-Cjs4TR/nginx-1.14.2/debian/modules/http-echo --add-dynamic-module=/build/nginx-Cjs4TR/nginx-1.14.2/debian/modules/http-upstream-fair --add-dynamic-module=/build/nginx-Cjs4TR/nginx-1.14.2/debian/modules/http-subs-filter
/etc/nginx/sites-available/default
好像
server {
listen 80 default_server;
listen [::]:80 default_server;
}
netstat -tulpn
说
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 656/nginx: master p
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 656/nginx: master p
tcp6 0 0 :::80 :::* LISTEN 656/nginx: master p
tcp6 0 0 :::443 :::* LISTEN 656/nginx: master p
防火墙已打开ufw status
:
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
援助非常appreachiated!
我使用 Apache 上的 .htaccess 文件来显示自定义错误文档。这一切都很好。
但是我仍然在日志中看到很多这样的错误:
[Thu Aug 13 10:38:31 2020] [notice] [client AH00113: /home/www/.htaccess:6 cannot use a full URL in a 401 ErrorDocument directive --- ignoring!
我的 .htacess 的第 6 行看起来直截了当:
ErrorDocument 401 http://error.foo.bar/401.html
为什么不能使用 401 ErrorDocument 指令中的完整 URL?错误或功能?
由于fail2ban Version 0.10
支持 IPv6。我fail2ban
与ufw
. 我发现只有 IPv4 地址被阻止。这是不利的。
Failed to execute ban jail 'nginx-noscript' action 'ufw' info 'ActionInfo({'ip': '2400:xx:xx:xx::xx', 'family': 'inet6', 'fid': <function Actions.ActionInfo.<lambda> at 0x7fbe026ee820>, 'raw-ticket': <function Actions.ActionInfo.<lambda> at 0x7fbe026eeee0>})': Error banning '2400:xx:xx:xx::xx'
根据fail2ban changelog,它说并非所有禁令都已扩展到IPv6。有谁知道让fail2ban阻止IPv4和IPv6的可靠方法?
我已经在 Debian Buster 上成功安装了 Wireguard。现在我想在之后配置 IPv6。我已经做到了。但是[Peer]
-Section 中的设置wg0.conf
似乎并不持久。
systemctl stop [email protected]
nano /etc/wireguard/wg0.conf
结果:
[Peer]
PublicKey = xxxxx
AllowedIPs = 10.200.200.2/32, xxx:xxxx:xx:xxx:100::2/72
保存并重新启动服务后systemctl start [email protected]
,wg0.conf
看起来很好。
当我再次重新启动 VM 或服务时,我的所有其他设置都将丢失。
[Peer]
PublicKey = xxxxx
AllowedIPs = 10.200.200.2/32
任何想法?
这就是我的wg0.conf
样子
[Interface]
Address = 10.200.200.1/24
Address = xxxx:xxx:xx:xxx::1/72
DNS = 10.200.200.1
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROU$
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTR$
ListenPort = 51820
PrivateKey = xxx
[Peer]
PublicKey = xxx
AllowedIPs = 10.200.200.2/32, xxx:xxxx:xx:xxx:100::2/72
[Peer]
PublicKey = xxx
AllowedIPs = 10.200.200.3/32, xxx:xxxx:xx:xxx:100::3/72
[Peer]
PublicKey = xxx
AllowedIPs = 10.200.200.4/32, xxx:xxxx:xx:xxx:100::4/72
Apache 上的端口可以在两个位置进行更改:
/sites-available/000-default.conf
ports.conf
默认情况下,两个 .conf 文件都指示 Apache 监听端口 80。
我想将 Apache 设置为侦听特定端口。似乎,这ports.conf
覆盖了000-default.conf
当服务器仅在一个 IP 地址上运行时,更改端口的正确位置在哪里?
每天晚上,机器人都试图侵入我的 Apache 服务器:
/var/log/apache2/error.log
输出:
[Mon Dec 30 02:55:39.098671 2019] [php7:error] [pid 14930] [client xxx.xxx.xxx.xxx:62420] script '/var/www/html/test.php' not found or unable to stat
我本来希望fail2ban能抓住它,因为它有一个过滤器:apache-noscript.conf
[Definition]
failregex = ^%(_apache_error_client)s ((AH001(28|30): )?File does not exist|(AH01264: )?script not found or unable to stat): /\S*(php([45]|[.-]cgi)?|\.asp|\.exe|\.pl)(, referer: \S+)?\s*$
^%(_apache_error_client)s script '/\S*(php([45]|[.-]cgi)?|\.asp|\.exe|\.pl)\S*' not found or unable to stat(, referer: \S+)?\s*$
默认的 jail.conf 默认情况下这样说:
[apache-noscript]
port = http,https
logpath = %(apache_error_log)s
有谁知道为什么fail2ban 仍然不阻止访问?
Fail2ban 可以在很多地方进行配置。
$ fail2ban-client -i
Fail2Ban v0.10.2 reads log file that contains password failure report
and bans the corresponding IP addresses using firewall rules.
在 Debian Buster 上,我可以在几个配置文件中编辑我的设置:
/etc/fail2ban/jail.d/defaults-debian.conf
/etc/fail2ban/fail2ban.conf
/etc/fail2ban/jail.conf
/etc/fail2ban/action.d/
而且 - 最后但并非最不重要 - 一些教程推荐:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
fail2ban的文档说:
修改应在 .local 而不是 .conf 中进行。这避免了升级时的合并问题。这些文件有据可查,那里应该有详细的信息。
这是否意味着,我要编辑的每个 .conf 文件都应该作为 .local 文件存在?
我很困惑!有人可以对此有所了解吗?