我有 haproxy 配置,非常适合后端的 vault 服务器,使用 http 配置,它使用 200 OK 代码基于未密封和活动的 vault 服务器进行负载平衡。这适用于http。但是我们将所有内容都设置为 https (tls),因此健康检查不再起作用,haproxy 将我们引导至密封的保险库服务器。如何修改以下配置以支持 https Vault 服务器后端的健康检查?我当前的 http 配置如下:
listen vault
bind 0.0.0.0:443
mode tcp
balance roundrobin
option httpchk HEAD /v1/sys/health
http-check expect status 200
option tcplog
option ssl-hello-chk
server web1 <vault 1 IP>:8200 check
server web2 <vault 2 IP>:8200 check
Run Code Online (Sandbox Code Playgroud) 我有一台 CentOS 7 服务器,我在其中打开了用于 SNMP 连接的端口。
即使我可以看到这里打开的端口:
[matias@Centos_7_VM ~]$ sudo firewall-cmd --list-all
[sudo] password for matias:
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client
ports: 80/tcp 10050/tcp 50000/tcp 161/tcp 160/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Run Code Online (Sandbox Code Playgroud)
当我尝试从外部访问此端口时,我总是发现它已关闭。甚至 nmap 也同意这一点:
Starting Nmap 7.01 ( https://nmap.org ) at 2018-08-01 14:52 -03
Nmap scan report for Centos_7_VM (192.168.43.216)
Host is up (0.52s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http …Run Code Online (Sandbox Code Playgroud) 我想在使用 sshfs 安装驱动器时使用 arcfour 密码。但是,如果我指定sshfs -o Ciphers=arcfour我的虚拟机重置连接(我可以在没有此选项的情况下进行 sshfs)。有什么办法可以使这项工作?我这样做是为了让 sshfs 执行得更快(我也关闭了压缩)。
所以我有两个站点在运行,每个站点都在一个 Amazon ELB 后面。
出于这篇文章的目的(以及我公司的隐私),每个主机名都使用这些主机名:
两者都安装了证书。两个证书都是可信的(从 CA 购买)。
它们通过浏览器/等完美运行,并且在请求站点时使用正确的证书(ELB 的预期行为)。已通过各种浏览器和请求确认在访问每个站点时正在加载和验证适当的证书。
但是,在尝试使用 Nagios 监控证书到期时,我发现了一个奇怪的问题。
证书监控有效,但仅适用于 ELB 中的默认证书,无论正在访问哪个主机。
这是命令定义,标准设置:
define command{
command_name check_cert_expire
command_line $USER1$/check_http -S -H $HOSTADDRESS$ -C $ARG1$
}
Run Code Online (Sandbox Code Playgroud)
然后在主机/服务定义中:
define host{
host_name example.com
use docker-container
display_name Example Site 1
check_command check_https_page!/
}
define host{
host_name anotherexample.com
use docker-container
display_name Example Site 2
check_command check_https_page!/
}
define service{
host_name example.com
use generic-service
service_description Cert Expiry Site1
check_command check_cert_expire!45
}
define service{
host_name anotherexample.com
use generic-service
service_description …Run Code Online (Sandbox Code Playgroud) monitoring load-balancing nagios amazon-web-services amazon-elb
基本上,这里发生了什么,我不明白什么?
我为我的用户设置了一组 subuid。我想将文件 chown 到特定的 subuid,这是该用户分配的一部分
administrator@host:/home/administrator$ cat /etc/subuid
root:100000:65536
administrator:165536:65536
administrator:1000000:9000001
administrator@host:/home/administrator$ cat /etc/subgid
root:100000:65536
administrator:165536:65536
administrator:1000000:9000001
Run Code Online (Sandbox Code Playgroud)
尽管此 subuid 是分配的一部分,但尝试 chown 此文件失败。
administrator@host:/home/administrator$ ls -lhat
...
-rw-rw-r-- 1 administrator administrator 229 Aug 2 13:00 file
drwxrwxr-x 7 administrator administrator 4.0K Aug 2 13:00 ..
administrator@host:/home/administrator$ chown 1500000:1500000 file
chown: changing ownership of 'file': Operation not permitted
administrator@host:/home/administrator$ stat file
File: file
Size: 229 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 658357 Links: 1
Access: (0664/-rw-rw-r--) Uid: …Run Code Online (Sandbox Code Playgroud) 我们正在使用一些已配置的 Amazon EC2 实例Security Groups(例如,只能从特定 IP 进行 SSH - 抱歉,我不能发布规则)。
前段时间查iptables了一下,好像没有配置。
sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Run Code Online (Sandbox Code Playgroud)
我的问题是:
配置是否有意义iptables- 通过raw method或通过某些前端,例如csf(不一定是最佳选择,但我想提供一些示例)?
或者我们什么也得不到?
firewall iptables amazon-ec2 amazon-web-services security-groups
我对此非常困惑,这似乎完全错误,但我不知道如何所以我将从头开始。
我使用本指南在我的 Debian 服务器上配置了 openvpn 。在我将必要的文件复制到我的 archlinux 桌面并尝试运行脚本后,我注意到连接超时:
$ openvpn server.ovpn
Thu Aug 2 18:50:29 2018 OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Apr 24 2018
Thu Aug 2 18:50:29 2018 library versions: OpenSSL 1.1.0h 27 Mar 2018, LZO 2.10
Thu Aug 2 18:50:29 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]<server-ip>:1194
Thu Aug 2 18:50:29 2018 Socket Buffers: R=[212992->212992] S=[212992->212992]
Thu Aug 2 18:50:29 2018 UDP link local: (not bound)
Thu …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个包含 cron 的 docker 镜像。从 docker 文件系统的特定位置删除文件的 cron。下面是我的 Dockerfile
FROM ubuntu:latest
MAINTAINER docker@ekito.fr
RUN apt-get update && apt-get -y install cron
# Copy testfiles folder to docker container.
COPY ./testfiles /opt/
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
RUN (crontab -l -u root; echo "* * * * * root rm -rf /opt/*") | crontab
# Run the command on container startup
CMD cron
ENTRYPOINT ["/bin/sh", "-c", "/bin/bash"]
Run Code Online (Sandbox Code Playgroud)
一切都很成功。我的 cron 也设置在容器中
roadrunner:test shailesh$ …Run Code Online (Sandbox Code Playgroud) 我想~/.ssh/known_hosts用新创建的 GCE 实例的主机密钥信息更新我的。但我不确定如何安全地检索该信息。
我想像
gcloud compute ssh <GCEUSER>@<GCEHOST> --command='ssh-keyscan 127.0.0.1'
Run Code Online (Sandbox Code Playgroud)
可能工作。但是(根据gcloud 计算 ssh 文档)似乎只是一个包装器ssh(并且,根据StrictHostKeyChecking=no在 $HOME/.config/gcloud/logs/ 下的关联日志文件中列出的参数中看到的,显然没有做任何事情某种检查主机的身份)。
似乎确实有一种方法可以使用 Web 控制台来启动基于浏览器的 ssh 会话(并以交互方式/手动方式运行ssh-keyscan),但是 1)我看不到内部结构以了解它是否真的像它应该的那样安全和 2) 不是用于脚本集成的有效 API。
是否有gcloud用于安全检索 GCE 实例的主机密钥的 API/机制?
我有一个部署运行一个由一个独特容器组成的 pod。部署当前已启动并正在运行,我想修改其 pod 模板以向容器添加端口。
以下是当前定义的端口:
$ kubectl get deployment -o yaml spark-master | yq -r -y '.spec.template.spec.containers[] | select(.name=="spark-master").ports'
- containerPort: 7077
protocol: TCP
- containerPort: 8080
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
这是我尝试添加端口的补丁6066:
$ kubectl patch deployment spark-master -p '{"op": "add", "path": "/spec/template/spec/containers/0/ports/-", "value": {"containerPort": 6066}}'
deployment "spark-master" not patched
$ kubectl get deployment -o yaml spark-master | yq -r -y '.spec.template.spec.containers[] | select(.name=="spark-master").ports'
- containerPort: 7077
protocol: TCP
- containerPort: 8080
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
……没有成功。
另一个尝试,这次指定端口协议:
$ kubectl patch deployment spark-master …Run Code Online (Sandbox Code Playgroud) linux ×3
firewall ×2
ssh ×2
amazon-ec2 ×1
amazon-elb ×1
centos ×1
centos7 ×1
chown ×1
containers ×1
debian ×1
docker ×1
haproxy ×1
iptables ×1
kubernetes ×1
monitoring ×1
nagios ×1
openvpn ×1
security ×1
ssh-keys ×1
sshfs ×1
systemd ×1
ubuntu ×1
uid ×1
vault ×1