skillup

技術ブログ

サーバー・ネットワーク

TLS通信の基礎など

投稿日:

今のプロジェクトでVPN環境を変えたところ、Dockerのpullでいきなりエラーが・・・

WindowsにWSL2を使ってubuntuを入れているのですが、WindowsのCA証明書の追加をubuntu側にインストールして無事解決しました。

ただ、メカニズムがわかっていなかったのでここで少しメモしておこうと思います。

Dockerのpullに関して

そもそもDockerでimageをpullする際にはディフォでTLS通信が必要になってきます。

なので、sslがらみのエラーがでたときに問答無用でoffにする・・・などもありといえばありですが、根本的な解決にはなっていません。

Ubuntu on Docker で SSL/TLS 通信するとエラーになる問題の対処

まずはメカニズムを理解せねば・・ということで、TLSの基礎について学んでいこうと思います。

TLSとは

TLSとはSSLの発展版のような機能のようで、簡単にいいますと、以下の2点になるかと思います。

  • 公開鍵による情報のやりとり(共通鍵単一よりもセキュア)
  • サーバーの正当性を証明(認証局から証明書のようなものが発行され、なりすましの防止になる。この認証局をCA=CertificationAuthoriryといい、必要になる証明書がCA証明書です。)

めちゃくちゃ基本的でわかりやすいのでリンクを・・・

SSLとTLSとは?意外に知らないSSLとTLSの違い(簡単編)

今回と少しベクトルが違いますが、ローカルでHTTPS通信する場合の処理など。

【Apache】ローカルに立てたDockerコンテナでHTTPS通信する方法

DockerでのCA証明書追加

DockerImage自体に証明書を追加し、CA証明書として追加する必要があります。

本来Dockerデーモンの設定に組み込まれているようですが、VPNなどで通信の経路が変わった際には必要になるかと思います。

CA証明書に関して、実際発行されているものを使用するケースもあると思いますし、いわゆるオレオレ証明書を使うケースもあるかと・・・

実際のコマンドなどはリンクを参照いただければと思います。

Zscaler 環境下で作る WSL2(Ubuntu 20.04) + Docker 環境

Dockerイメージとオレオレ証明書組み込みレシピ

-サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

ansible localでの使用,sudoに関して

最近継続的に調査しているansibleについて Contents1 local2 sudo local ansibleは通常別のホストに対して行うものですが、 hostsファイルのIPを変更し、以下の …

no image

herokuでのhttpd.conf設定

前回の記事でLet’s EncryptでSSL設定する場合、 http://ドメイン/.well-known/ というURLにアクセスする必要があります。 ただherok …

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

composer経由でのpearライブラリのインストール

2018年7月現在、PHPのライブラリはほとんどComposer経由でインストールできるかと思いますが、稀にComposerに対応していないものもあり、その場合、pearから取得してくる必要があります …

no image

サーバーの過負荷の発見 理論編

会社のテストサーバー(このブログが入っているサーバー)なんかが重くなってくると、再起動したりしているわけなんですが、CPUやメモリの使用率をみたり、といったシステマティックな運用はしてないです。 本来 …

アーカイブ