コピペでSSH設定をすると危険だということを「OpenSSH実践入門」から学んだ
OpenSSHを基礎から学ぶことができる「OpenSSH実践入門」を読みました。ローカルで編集したコードをGitHubにpushするためにSSHのKeyを登録する必要があるなど、身近なところで頻繁に利用されている技術ですが、毎回コピーアンドペースト(以下、コピペ)で何も考えることなく作業しているため、体系的な知識をつけようと読むことにしました。
約400ページと厚みのある書籍ですが後半は設定に関する話が多いため、必要になった時に参照するのがいいと思いました。3章で学ぶことが多かったです。
本書は、OpenSSH入門書のため公開鍵認証といった基礎知識を深く解説していません。難しいと感じる場合は、結城さんの暗号技術入門を事前に読むことをお勧めします。
目次
第1章 SSHとOpenSSHの概要
第2章 OpenSSHの基本的な使い方
第3章 一歩進んだOpenSSHの使い方
第4章 SSHクライアントの設定
第5章 SSHサーバの設定
第6章 OpenSSHの落とし穴
第7章 設定事例集
付録
OpenSSHには付属コマンドがある
OpenSSHに関係するのは、sshコマンドだと思っていましたが付属コマンドとしてscp
ssh-agent
ssh-keygen
ssh-keyscan
ssh-copy-id
などが使えます。scpは、Linuxの基本的なコマンドだと思っていたので驚きました。
3つのTCPポートフォワード機能
TCPポートフォワードは、TCPセッションをあるマシーンのあるポートに転送させる機能です。
クライアントからログインホストを通してターゲットにポートフォワードを行うLocalForward。逆のことを行うRemoteForwardがあります。また、アドレスやポートを動的に指定できるDynamicForwardがあります。
LocalForwardは、踏む台サーバーを経由してデータベース(DB)をローカルで確認したい時に便利そうだと思いました。
ポートフォワードは、ポートを転送する機能だということを忘れるとLocalForwardとRemoteForwardを勘違いしてしまうので、AWSなどを使って実験し知識を定着させる!
プロキシと多段SSH
学生時代、研究室のサーバーは所属学部のサーバーからアクセスする必要があったので、2回コマンドを実行する必要がありました。多段SSHを利用することによってこの問題を解決できると知りました。
また、sshコマンドには-Wオプション
がサポートされていて、sshをnetcatのように振る舞わせることできることを知りました。
制御ソケットにアクセス権を与えてはいけない
TCP同時接続数という制約があるため、sshは無限にセッションを確立できません。コントロールマスターは、1つの接続で複数のセッションを共有することでセッションを節約できます。
コントロールマスターは、制御用のソケットを管理することで上記のことを可能にするのですがアクセス権が奪われてしまうと、リモートホストへ入り放題になってしまいます。
Batchmode
クライアントの設定で、yes
にすると対話的に処理が行われなくなります。
PasswordAuthentication
パスワード認証を行うかを設定します。デフォルトは、noです。
NumberOfPasswordPrompts
パスワードを何度、尋ねるかを設定します。デフォルトは、3回です。
チャレンジ・レスポンス認証
ユーザーしか知らない情報を元に、認証を行います。「小学生の時の担任の先生の名前は?」のような認証です。OpenSSHにおいては、パスワード認証との明確な違いがわかっていないので調査します。
ログファイル
sshdにアクセルできる状態では、総当たり攻撃(ブルートフォースアタック)が行われてしまうためデフォルトのポートを使わないなどの戦略が取られます。
ログにアクセスしてきたIPアドレスが書き込まれるので、Denyするとよいと思いました。
まとめ
- OpenSSH実践入門を読んだ
- SSHは、設定次第で思わぬ危険を生んでしまう
- OpenSSHを本当に理解するために、AWSなどでインフラ構築をして実験する必要がある
- 本書は、SSH設定のコピペを辞めたいと思っているエンジニアにオススメ
OpenSSH[実践]入門 (Software Design plus)
- 作者: 川本安武
- 出版社/メーカー: 技術評論社
- 発売日: 2014/11/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
入門OpenSSHもオススメです。
- 作者: 新山祐介
- 出版社/メーカー: 秀和システム
- 発売日: 2006/06/26
- メディア: 単行本
- 購入: 3人 クリック: 39回
- この商品を含むブログ (19件) を見る