我向我的孩子们展示了一些关于 EC2 ubuntu 实例上目录权限的基本知识,并且这样做了
$ sudo chmod 700 /home
Run Code Online (Sandbox Code Playgroud)
然后证明我无法再cd访问我的主目录,因为权限被拒绝。
然后我无意中断开了与 EC2 实例的连接。现在我无法重新登录,因为 ubuntu 端的 sshd 无法访问我的/home/ubuntu/.ssh/authorized_keys文件。我试图考虑解决方法,但我没有想法。
我准备删除并重新创建整个实例,但如果可能的话,我宁愿挽救这个实例。有任何想法吗?!
我正在设置一个 apache subversion 服务器以使用安全证书对 AD 域进行 kerberos 身份验证。
我已经成功地让它与带有 ssl.conf 配置的 mod_ssl 一起使用,但不能与 mod_nss 一起使用。对于 mod_nss,我遵循的配置主要来自这篇文章:https ://access.redhat.com/articles/1467293 。如果无法访问 mod_nss 的链接,我也在下面包含了突出的 mod_nss conf 行。
所以,只是想知道是否有任何使用 mod_ssl 和 mod_nss 的指南/优点/缺点。如果我能理解 mod_nss 出了什么问题,那就再好不过了。我在客户端收到协议错误。
ssl.conf:
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost _default_:443>
ErrorLog logs/svn_ssl_error_log
TransferLog logs/svn_ssl_access_log
LogLevel debug
SSLEngine on
SSLProtocol TLSv1.1 TLSv1.2
SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<Location /App_User>
DAV svn
SVNPath "/opt/user/App_User"
AuthType …Run Code Online (Sandbox Code Playgroud) 如果sites-enabled文件夹中有多个虚拟主机,我如何为所有虚拟主机设置一个通用白名单?
Aka 每个人都有这个街区
allow 127.0.0.1;
allow 192.168.0.0/16;
allow x.x.x.x;
deny all;
Run Code Online (Sandbox Code Playgroud)
默认情况下,如何将其应用于所有虚拟主机,而不必为每个子域编写它?
我已经设置了一个透明代理,可以squid监听 8080(http) 8443(https),并且可以正常工作。
另外,我设置了 iptables 来重定向请求。
iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
如果我设置显式代理来替换鱿鱼,http 仍然有效,但 https 不起作用(https 代理执行 MITM,我信任证书)。
我想知道使用 iptables REDIRECT 和显式设置浏览器代理之间的区别。代理是否以某种方式处理它?
如何log_format在 Nginx 中显示当前?
我没有明确设置它(这什么也没显示):
grep -i 'log_format' *
我在配置中的登录是在没有格式参数的情况下定义的:
access_log /var/log/nginx/access.log;
如何让 Nginx 打印当前日志格式的值,或者如何找出它是什么?
我偶尔会收到以下 421 错误:
错误的请求
客户端需要为此请求建立新连接,因为请求的主机名与用于此连接的服务器名称指示 (SNI) 不匹配。
但是,刷新浏览器会清除错误并且页面正常加载。下一次加载页面不会产生和错误,因此模式看起来很随机。我能看到的唯一模式是当我使用 header("Location: " . $url); 重定向页面时可能会发生这种情况。
我有 Comodo 的 PositiveSSL 多域证书。我的服务器是共享网络托管服务上的 Apache,所以我无权访问配置。
我从一个域加载页面,页面内是指向证书上第二个域的链接。
我读到的有关此错误的所有内容似乎都指向此问题与这是一个多域证书有关。
我想知道的是,网页 (php) 编码方面是否有任何可能导致此问题(并且可以修复)的内容,或者是否是配置错误或服务器错误,并且只有我的托管服务可以修理它。
到目前为止,我的托管服务无法提供任何内容,并要求在接下来发生的确切时间回电,以便他们进行研究。任何帮助将不胜感激,因为我并不过分相信他们可以解决这个问题。
更新 好吧,差不多几年后,决定是时候处理它了。通过删除提供图像和 javascript 的静态域,我能够解决大部分问题。但是,我仍在为某些内容使用第二个域,尤其是 Safari 仍然给我带来问题。
我做了更多的研究,并在这里找到了另一篇讨论它的文章。正是@Kevin 所描述的。文章证实它发生在 Safari 中。因此,根据建议,我着手为每个域获取单独的证书。我在共享主机 (Webhostinghub) 上,发现他们现在提供自动续订的免费 SSL (AutoSSL)。这听起来不错。他们为我设置了 5 个免费证书。到现在为止还挺好。我什至可能会尝试重新启用静态域进行测试。如果一切顺利,我将节省 $ 以启动作为奖励,并让我的 Comodo 证书在 7 月到期。
我正在尝试向定向到特定端口的响应添加一些安全标头。我有以下配置的前端:
frontend desenv_ext_1
bind *:80
bind *:443 ssl crt /etc/ssl/certs/cert.pem
mode http
option tcplog
default_backend desenv_1
timeout client 5m
#ACL to new attempt
acl header_c dst_port 80
#Attempt with no ACL
http-response set-header X-Frame-Options SAMEORIGIN
#Attempt with ssl ACL
http-response set-header Strict-Transport-Security max-age=31535400;\ includeSubDomains;\ preload; if {ssl_fc}
http-response add-header Referrer-Policy no-referrer if !{ ssl_fc }
#Attempt with header_c ACL
http-response set-header X-Content-Type-Options nosniff if header_c
http-response add-header X-XSS-Protection 1;\ mode=block if header_c
#Attempt with rspadd
rspadd X-Backen-Serve\ laranja if header_c …Run Code Online (Sandbox Code Playgroud) 我在 AWS Elastic Beanstalk 配置中使用“T2 Unlimited”实例。
默认实例终止策略(用于缩小规模时)首先终止最旧的实例。这很糟糕,因为最旧的实例最有可能积累 CPU 积分。我想将实例终止策略更改为“最新的优先”。
我试过这个:
option_settings:
aws:autoscaling:asg:
TerminationPolicies: [
"NewestInstance"
]
Run Code Online (Sandbox Code Playgroud)
但出现错误:
Invalid option specification (Namespace: 'aws:autoscaling:asg', OptionName: 'TerminationPolicies'): Unknown configuration setting.
Run Code Online (Sandbox Code Playgroud)
这并不奇怪,因为此选项未列为有效选项。
那么,当 Beanstalk 为环境创建新的自动缩放组时,如何才能自动将终止策略设置为最新的优先呢?
也许这是不必要的,因为自动缩放组仅在创建环境时创建?
我正在部署Goldfish,它是Vault 的一个接口,在专用于机密管理的服务器上进行生产。因此,安全是这里的首要问题。
我正在尝试在 Unbuntu 16.04 系统上使用 systemd 部署服务,为其提供尽可能少的权限。我希望它以非 root 用户身份运行goldfish并侦听端口 443。我尝试了多种选择。
解决方法1:使用systemd插座,在多个帖子建议我发现如这一个(金鱼后端写在去,因为在后)。这似乎是最精确和最安全的,因为它完全由 systemd 管理并为单个服务打开一个端口。我的单元文件如下所示:
/etc/systemd/system/goldfish.socket:
[Unit]
Description=a Vault interface
[Socket]
ListenStream=443
NoDelay=true # Tried with false as well
Run Code Online (Sandbox Code Playgroud)/etc/systemd/system/goldfish.service:
[Unit]
Description=a Vault interface
After=vault.service
Requires=goldfish.socket
ConditionFileNotEmpty=/etc/goldfish.hcl
[Service]
User=goldfish
Group=goldfish
ExecStart=/usr/local/bin/goldfish -config=/etc/goldfish.hcl
NonBlocking=true # Tried with false as well
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)不幸的是,我得到一个“listen tcp 0.0.0.0:443: bind: permission denied”。所以看起来它仍然没有得到想要的权限,这似乎违背了为服务创建套接字的目的。我在这里缺少什么?
解决方案 2:为服务提供 CAP_NET_BIND_SERVICE 能力。这次我没有使用 systemd 套接字,而是使用AmbientCapabilities服务中的设置(也尝试使用CpabilityBoudingSet和Capabilities,后者令人惊讶地未在 …
由于强制门户和默认 Docker IP 范围的问题,我试图让 Docker 使用 198.18.0.0 范围,而不是 172.17.0.0,这与我住的火车上使用的强制门户冲突。
按照docs,我创建了/etc/docker/daemon.json,并将以下内容放入其中:
{
"bip":"198.18.0.0/16"
}
Run Code Online (Sandbox Code Playgroud)
这适用于 docker0,但它似乎没有影响任何其他网络,并且使用 docker compose 创建的第一个网络是 172.17.0.0,它重新创建了冲突。
我该怎么做才能更改所有docker 网络的默认子网(最好不必在每个撰写文件中声明我的自定义 IP 范围)?
nginx ×2
amazon-ec2 ×1
apache-2.2 ×1
apache-2.4 ×1
docker ×1
haproxy ×1
http-headers ×1
https ×1
iptables ×1
networking ×1
redhat ×1
redirect ×1
security ×1
ssl ×1
svn ×1
systemd ×1
ubuntu ×1
vault ×1