#はじめに
Linux初心者の設定記録
思いついた順で設定していきます
設定記録1:IDCFクラウド登録~ssh接続
設定記録2:ログインユーザー作成~rootのSSH接続禁止
設定記録3:Apacheサーバー設定~DNS設定まで
設定記録4:Digest認証導入
の続き
#今回の目的
- sshの設定変更
#sshの認証と通信
公開鍵・秘密鍵を使った認証で、ハッシュ関数で使う乱数シードを受け渡し。
以後はそのシードをもとに通信をやり取りする、という理解。
いまいち理解しきれていないが、いったんはその理解で進める。またいずれ調べる。
#ssh認証
##現状
- IDCFクラウド登録時に生成したSSH認証鍵はRSAのkey size 1024bit
ssh-keygen -l -f /home/username/.ssh/authorized_keys
1024 54:03:ec:4b:15:98:85:c7:8d:88:29:72:06:83:28:9c (RSA) #結果 1024bitのRSA
- ググったらSSH認証で使用されるもので多いのはRSAの2048bit
- 1024bitでもすぐに危ないという感じではなさそうだが、あまりよろしくはなさそう
#暗号アルゴリズムの安全性
IPA 発行のSSL/TLS 暗号設定 ガイドラインのP13に暗号アルゴリズムの安全性について記載あり
SSLではないけれど、暗号アルゴリズムの安全性ということでは同様のはずなので、新アルゴリズムはここを参考に選ぶ
- RSA 1024bitはビット安全性が80 ビット、つまり2^80の計算量で暗号ができる
- RSA 4096bitでもビット安全性は128~192ビットの間
RSAとは違うECDSA という暗号アルゴリズムも利用できる。
ECDSA 521bitはRSAの15360bitに匹敵するビット安全性らしい。
一定以上のkey sizeなら暗号速度がRSAより早くなるらしい。
また、521なのは512のtypoではなく、速度向上のためらしい。
ということでECDSA 521bitで設定してみることにする。
抜粋
ビット安全性 | 暗号スイート |
---|---|
80 ビット | RSA-1024 ECDSA-160 |
112 ビット | RSA-2048 ECDSA-224 |
128 ビット | ECDSA-256 |
128 ビット ~ 192 ビット |
RSA-4096 |
192 ビット | ECDSA-384 |
256 ビット | ECDSA-521 |
#ECDSAでの鍵生成
ssh-keygen -t ecdsa -b 521 -N ""
# -t でアルゴリズム指定 -b でkey size指定 -Nでパスフレーズ指定
#ファイル名はid_ecdsaがデフォルト設定なのでそのままEnterすれば ~/.ssh/id_ecdsa とecdsa.pubができる
#作った公開鍵をサーバーへ転送
scp -i ~/.ssh/id_rsa -P 2222 ~/.ssh/id_ecdsa.pub username@example.com:~/.ssh/
#サーバーへ接続
ssh idcfCloud
#まずは現在の公開鍵をバックアップ
cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.old
#公開鍵を上書き
cat ~/.ssh/id_ecdsa.pub > ~/.ssh/authorized_keys
#ecdsaでssh認証できるか確認
ssh -i ~/.ssh/id_ecdsa username@example.com -p 2222
認証に問題なければバックアップファイルとRSAの秘密鍵は削除してOK
rm ~/.ssh/authorized_keys.old
SSH接続用configファイルも書き換える
vim ~/.ssh/config
#IdentityFile ~/.ssh/id_rsa #コメントアウト
IdentityFile ~/.ssh/id_ecdsa #追記
これで行けるはず。
ダメならsshdのrestartや、サーバー側の~/.ssh/authorized_keysのパーミッションが600になってるか確認
systemctl restart sshd.service
chmod 600 ~/.ssh/authorized_keys
#セキュリティ
暗号方式について調べたときに知った副産物
#HostKey /etc/ssh/ssh_host_rsa_key #コメントアウト
AddressFamily inet #IPv4のみ
AllowUsers username #認証ユーザー指定、複数ユーザーはスペース区切り username username2
#参考URL
いろいろssh設定について書いてある
http://www.nca.gr.jp/imgs/nca_ssh_server_config_v01.pdf
P13にビット安全性の一覧表がある
https://www.ipa.go.jp/files/000045645.pdf
http://labunix.hateblo.jp/entry/20160228/1456586770
https://blog.ayurina.net/2016/07/15/ssh%E9%8D%B5%E3%81%AE%E6%9A%97%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F%E3%82%92%E5%BC%B7%E5%8C%96%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82/
https://wiki.archlinuxjp.org/index.php/SSH_鍵
http://qiita.com/suthio/items/2760e4cff0e185fe2db9