sshの運用について
サーバーを立ち上げた段階でsshをどう利用させるかは、インフラ側ではいつでもつきまとう悩みです。
会社やチームで基本ルールがあるならいいのですが、インフラ担当に一任されることも多いかと思います。
まさに僕は一任されてる側なので、なんとなくな条件によって設定を使い分けています。
あくまで、個人的なルールと設定ね。
状況別ssh設定
細かい調整は当然行いますが、ざっくり分けて4パターンで使い分けしています。
社内や閉鎖環境に設置するやつ
- rootログイン禁止
社内は、原則的にセキュリティが担保されている(原則的にね)ので、これといった設定はしません。
インターネットにつながっていない閉鎖空間でもこのまま運用する場合もあります。
インターネットを使ってsshアクセスさせるやつ
- rootログイン禁止
- ポート番号変更
- IP制限
最もよく使う設定はこれになります。
インターネット上に公開するサーバーにはポート番号の変更を必須として、可能であればIP制限をかけるようにしています。
ちょっと甘いんじゃない?とたたかれちゃうかもしれませんが、いろいろ制限かけると面倒臭がられるケースも多いもので勘弁してください。
シンプルでバランスの良い方法を選ぶようにしています。
インターネットを使ってsshアクセスさせるんだけどメンテナンスする人が少ない場合
- rootログイン禁止
- ポート番号変更
- IP制限
- 公開鍵認証(パスワードログイン禁止)
公開鍵認証はとても強力なセキュリティをもたらしてくれます。
「じゃあ全部これでいいじゃん」と言いたいところですが、鍵の管理がとても面倒です。
僕の場合、自分しか使わないもしくは、使い慣れている人だけで使う場合に選択しています。
なんかお客さんが「御社のセキュリティポリシーうんぬん……」的な難しいこと行ってきた場合
- つながない
この一択。と、言いたいのですが、そうも行かないこの世の中。
- rootログイン禁止
- ポート番号変更
- IP制限
- 公開鍵認証
- ポートフォワードの禁止
ひとまず、てんこ盛りにしてお伺いをたてます。
それでもダメなら、やっぱりsshをつながない方向で考えます。
VPNを代表に手段はいろいろあると思いますので。
sshがもたらす幸福
以上、状況による使い分けの僕的なルールをだらだらと書いてみました。
sshは強力な管理ツールです。
sshさえあれば、世界の裏でも体育館の裏でも、どこにサーバーが設置されてもメンテナンスやトラブル対応が可能です。
便利すぎてセキュリティ面でいろいろ言われますが、ちゃんと対策をして、どんどん便利に使っていきましょう。
だからって、飲み会の席とか、朝3時でもうぐっすり寝てる時間とか、そんな状況に電話1本よこして「トラブル対応して」と言われてもね、そういう為にあるんじゃないんだよ?
実際の設定変更手順
実際の設定変更は長くなっちゃうので別エントリーにします。
Qiita内探せば全部あると思いますが書いておきます。