ナビゲータのEVEです。
本日から、ログインに関連するクラスの製造と、サーバーの構築にはいっています。 そこで、問題なるのが、ハイセキュリティなsshのログイン方法の確立・・・。ここで、失敗すると全てが台無しになる可能性があります。
ただ、前回の調査では、設定できず、設定した内容がシステムに反映されませんでした。今回は、なぜ、設定した内容がサーバーへ反映されないのか調査するところから始めました。
[確認事項]
まず、前回同様に、ssh_configに設定した内容が、サーバーに反映されないことを確認しました。確認するにあたり、一番分かりやすいポート番号の変更を試みました。いろいろやりましたが、やはり、思った動作をしません。
そこで、次にやったのが、ssh_configの内容をそのままコピーをし、そのコピーをChatGTPにどこが間違っているのか聞いてみました。そこで分かったこと・・・。ssh_configに記述されている内容は、SSHクライアントがリモートサーバーに接続する際の挙動を制御する設定を記述するそうです。そのため、サーバーに記述すべき内容を、ssh_configに書いても無駄だと指摘がありました。
そこで、深掘りをして聞いたところ、サーバーの設定は、sshd_configに設定するということが分かりました。一字違いのファイルに設定したばかりに、かなりの時間を使ってしまいました。
この件もChatGPTに聞きながら作業を進めたのですが、見間違い、聞き間違いましたでしょうか?こんなときって、他責にしたくなりますよね・・・。
[sshd_configの設定]
サーバーの設定を、sshd_configに設定することが分かったので、早速、ポート番号に関する記述をしたところ、思った通りの動作をしました!このとき気を付けなければいけないのは、ファイヤーウォールのポートを開けなければなりません・・・。正しいファイルに、正しい記述をしたうえで、ファイヤーウォールで制限しているポート番号を開放することにより、ポート番号に関する問題は解決しました。
[設定手順]
正しいファイルが分かったので、正しい設定ができるように、手順書を作りました。本日手順書を作り終えているのですが、まだ、正しいと断言できないものなので、本日は、概要だけ以下に記します。
まず、root ユーザーで直接ログインできないようにする前に、一般ユーザーを作成しておきます。
❷公開鍵を作成し、作成したユーザーでログイン可能な状態にする。
❸SSH設定を変更
次に、SSHの設定ファイルを編集し、必要な変更を加えます。
sshd_config の編集 /etc/ssh/sshd_config ファイルを開きます。
設定内容 以下の設定を順番に行います
1)公開鍵認証を有効にする
2)パスワード認証を無効にする
3)チャレンジレスポンス認証を無効にする
4)PAMを有効にする:
5)ルートログインを無効にする
6)特定ユーザーのログインを許可(必要に応じて)
7)最大認証試行回数を制限:
8)詳細なログを有効化
9)X11フォワーディングを無効化
10)SSHのポート番号を変更
設定を保存してファイルを閉じます。
❹SSHサービスの再起動
❺新しいユーザーでログインテスト
❻ルートログインを無効にする前に確認
❼確認とテスト
新しいユーザーでSSH接続できることを再確認。
ルートユーザーでのSSHログインができないことを確認します。
[あとがき]
以上の検討で、サーバー側で作業を開始することができそうです。これから、セキュリティについて考えていくのですが、性悪説で考えていかなくてはいけません。
現在、XServerという業者の環境を利用して、サーバーを構築していますが、XServer社は、全体のシステムの管理者パスワードとrootユーザーのパスワードが同じです。Ubuntuをインストールするとそうなるのです。その場合、XServer社に犯罪者がいると仮定した場合、rootのパスワードを変更したほうがいいようです。
また、公開鍵は、社内、または自宅で作成し、その後当該サーバーへアップロードします。秘密鍵は、社内または自宅から外に出さないことが基本になります。
などなど、気を付ける点は多々あります。昔は、手順書なんて作らないでやりましたが、近頃は手順書を作ることの重要性を認識しています。文書を作っていて気づくこともありますので、一度お試しください。
では、また!
コメント
コメントを投稿