SSHやSSLのベースとなるソフトウェア

暗号化復号化

echo "hoge" | openssl enc -e -aes-256-cbc -base64 -k "foo"
echo "U2FsdGVkX18ZCcoBKxLDKZuP3HhHUinBMghKL0Gx3KI=" | openssl enc -d -aes-256-cbc -base64 -k "foo"

コンパイル

./config -fPIC shared
make
make install

SNIとは

SSLのNameVirtualHost今時のブラウザなら対応済み!

クライアント証明書による認証

通常はサーバーに証明書を入れるが、クライアント側に証明書を入れて、アクセス元が正しいかを判定する。クライアント証明書がクライアント/個人の身元特定に使用され、サーバ証明書は Web サイトの所有者を証明するという点です。

クライアント証明書作成

https://www.kakiro-web.com/linux/ssl-client.html

手順概要

  1. 独自認証局の作成(複数証明書対応させるため!)
  2. CSRの作成
  3. 独自認証局によるクライアント証明書作成
  4. ブラウザにインストール

If "! -R '10.0.0.0/8' && ! -R '172.16.0.0/12' && ! -R '192.168.0.0/16'">

   SSLVerifyClient require
   SSLVerifyDepth 1
   SSLOptions +FakeBasicAuth
   AuthUserFile /etc/httpd/conf/.htpasswd
   AuthName "secret page"
   AuthType Basic
   require valid-user

/If>

独自認証局の作成

openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -sha256 -days 3650 -out ca.crt

ca.keyとca.crtが出力ファイル。common nameはCSRと揃えるように!

CSRの作成

証明書と同じでkey作成して、csrを作成

openssl rsa -in client01.key -text -noout
openssl req -new -key client01.key -out client01.csr

CSRをもとに証明書作成

openssl ca -in csr/client01.csr -out client01.crt -keyfile myca/ca.key -cert myca/ca.crt -md sha256 -days 3650 -policy policy_anything

このコマンドを実行するとserialが+1され、indexファイルも更新される

認証局に必要なファイル

/etc/pki/CA/index.txt作成した証明書の有効状態を管理。空で良い
/etc/pki/CA/serial01からスタートのシーケンスファイル
/etc/pki/CA/newcerts/01.pemcsrに対応したシリアル番号のpemファイル

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-04-10 (水) 19:31:23