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

シェルスクリプトでのsshログインとメール送信

久々にシェルスクリプトをやったんでその復習を。 応用範囲は結構広そうです。 Contents1 ファイルの読みこみ方2 関数の定義、使い方3 SSHログイン4 ssh鍵認証つきのログイン5 メール送信 …

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

no image

WinSCPの活用法

WinSCPの活用方法などについて WinSCPでZIPの解凍、ZIPへの圧縮を右クリックからカスタムコマンドで実行できるようにする。 特にzipでファイルを固める処理はよくやるので覚えておきましょう …

no image

dockerコマンドについて再考(ttyや/bin/bashなど)

Contents1 ttyオプションに関して2 docker execコマンドに関して2.1 ログインしないパターン2.2 shellに関して ttyオプションに関して dockerでnodeを起動さ …

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

アーカイブ