AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-252130

MrE's questions

Martin Hope
MrE
Asked: 2015-12-12 10:34:11 +0800 CST

如何从我自己的 CA 创建 SSL 证书链?

  • 5

我使用自己的 CA 为我的基础设施中的服务创建 SSL 证书。这些证书由我的 CA 直接签名。

在我看来,这可能是一个弱策略,就好像证书要被泄露一样,我需要从一个 CA 创建新的。如果 CA 被入侵,游戏就会结束,因为每项服务都需要更新。

所以我的理解是,“保护”自己和“淡化”关注点的典型方法是创建一个证书链,并用链的末端签署服务证书,这样如果签名者被泄露,下一个级别可用于创建新的签名证书。

我说对了吗?

然后我想做的是创建自己的证书链。

整个 TLS/SSL 对我来说仍然有点模糊,但正如我所见,首先创建一个主密钥,openssl genrsa然后使用该密钥创建一个自签名证书openssl req -x509 -new来创建 CA。

openssl req -new -key' and sign the request with my CA with然后我可以使用openssl x509 -req -CA ca.pem创建新密钥和证书签名请求...`

那么,要创建一个证书链,应该怎么做呢?

我是否只需创建一个新密钥、新签名请求,并使用最后一个签名证书而不是 CA 对其进行签名?依此类推,直到我有足够的保护级别,然后用最低级别的证书签署所有证书/密钥对?

这东西令人困惑,我想把它做对;-)

我发现的所有关于 TLS 的内容都极其复杂,而“简单”的教程则晦涩难懂。我正在浏览 openssl 手册页,但我想简单地解释一下这个过程,然后我会确保每一步都正确。

感谢您的洞察力。

ssl
  • 2 个回答
  • 20930 Views
Martin Hope
MrE
Asked: 2015-10-06 23:32:10 +0800 CST

通过 ssh 的 netcat / 命名管道代理

  • 1

我习惯于使用 ssh 在 localhost 上转发远程服务端口,例如:

ssh -L 2181:localhost:2182 user@server (将远程主机端口2182转发到本地端口2181)

现在,从我 ssh 到的机器上,我正在尝试访问 tcp 服务并将响应转发到我的本地机器:

local-machine:2181 <-- SSH --> remote-machine:2182 <-- netcat/named pipe --> service:2181

注意:我没有直接访问服务机器的权限,我只能通过我 SSH 连接的机器访问网络。

我试图将 netcat 与命名管道一起使用:

在远程机器上:

mkfifo fifo
nc -k -l 2182 <fifo | nc service 2181 >fifo

在本地机器上: echo message | nc localhost 2181

但这似乎不起作用。

我也试过,在远程机器上 nc -k -l 2182 0<fifo | nc service 2181 1>fifo

没有运气

在远程机器上nc -k -l 2182输出我从本地机器发送的消息:2181

如果我只是像这样简单地管道:nc -k -l 2182 | nc service 2181 我确实看到了远程机器上服务的响应。所以我可以一直到服务并回到远程机器,但它停在那里:

local-machine:2181 <-/- SSH --> remote-machine:2182 <-- netcat --> service:2181

所以我不明白为什么命名管道不会通过 ssh 连接将响应转发回我的本地机器。

echo message | nc localhost 2182在远程机器上不会在本地机器上输出任何内容,因此由于某种原因它没有通过 SSH 实现。

知道为什么会这样以及如何解决吗?

感谢帮助。

(为清楚起见进行了编辑)注意:我需要这个,因为我只能通过 SSH 连接到一台机器,它是集群的一部分,并且该机器可以访问服务。我不想将服务暴露给外部,也不想每个服务容器都有一个 SSHD。

ssh
  • 2 个回答
  • 5581 Views
Martin Hope
MrE
Asked: 2015-09-26 16:34:11 +0800 CST

用于 TLS 身份验证的 CA 证书

  • 1

使用 CoreOS 并保护不同的组件需要 TLS。

有 etcd、docker 和其他需要 CA 签署证书的服务。可以使用相同的 CA 证书为所有服务签署不同的证书,还是我真的应该为每个服务创建一个 CA?

我知道这是主观的,我可能会得到很多“意见”,但真的有什么好的理由来创建几个 CA 吗?

security
  • 1 个回答
  • 38 Views
Martin Hope
MrE
Asked: 2015-09-03 11:47:19 +0800 CST

nginx 多个站点,通过 URL 重定向

  • 2

假设我有几个用于监控后端服务的 Web UI 站点。

我想让它们可以从网络上访问(由 Auth 保护),但最好捆绑在一个子域下,并且可以通过各种 URL 访问,例如:

https://monitor.mydomain.com/my-service-monitor/

使用 nginx,如果我使用类似的重写规则

server {
    listen 443 ssl;
    server_name monitor.mydomain.com;
    # auth stuff here...

    location /my-service-monitor/ {
        rewrite                     ^/my-service-monitor(/.*)$ $1 break;
        proxy_pass                  http://my-service-monitor;
    }
} 

发生的事情是重定向有效,但是因为所有静态内容都引用根 URL,所以它没有按预期显示(因为后端站点正在输出查看根 / url 的 HTML,而不是相对 URL monitor.mydomain .com/my-service-monitor/...

我该如何解决这个问题,或者有更简单的解决方案吗?(我可以使用多个子域,但这在 IMO 的外部暴露太多了)

我正在考虑重定向(返回 301 ...)到子域根 URL 但在不同的端口上,然后添加一个服务器块监听该端口代理到服务器,但我觉得这将是身份验证问题。

任何见解将不胜感激。

nginx
  • 2 个回答
  • 2350 Views
Martin Hope
MrE
Asked: 2014-11-04 11:39:22 +0800 CST

将 LXC 容器桥接到具有不同 IP 范围的主机网络

  • 1

我对linux很陌生,过去一周左右我一直在努力解决一个问题......

我正在尝试在 IP 192.168.10.33 连接到 IP 192.168.10.1 网关的工作站(主机)上设置 LXC 容器集群

LXC 节点默认连接到 IP 为 10.0.3.1 的 lxcbr0 网桥,容器的 IP 介于 10.0.3.111 和 10.0.3.120 之间

我可以从主机ping每个容器,我可以从容器ping桥(10.0.3.1),以及主机IP(eth0,192.168.10.33),但我无法访问网关(192.168.10.1)我已经阅读了大量关于网络、iptables 和路由的帖子和手册页,但到目前为止没有任何效果(定义默认 gw、ip 转发......)

如果我将 lxcbr0 网桥配置为 192.168.10.33(主机 IP),并且我的容器在同一 IP 范围(192.168.10.111 到 120)上获取 IP,那么它工作正常。

我想了解我应该如何桥接具有不同 IP 范围的 2 个网络(桥接 192.168.10.0/24 和 10.0.3.0/24)???

(作为免责声明,我禁用了防火墙和任何可能阻止到达网关的东西,我可以从主机访问它)

任何能指出我正确方向的见解将不胜感激。谢谢

networking
  • 2 个回答
  • 1783 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve