cPanelユーザーとして、SSHまたはFTPを介してWebサイトまたはアプリケーションファイルを管理する必要がある場合がよくあります。
これは、cPanelにネイティブに付属しているSSHキー機能を使用して安全に行う方法です。
最初の質問は、おそらく、これらのタスクに通常のパスワード認証ではなくキー認証を適用するのはなぜですか?
パスワードは、依然として最も使用されているオンライン認証の形式です。
これは主に、ほとんどのインフラストラクチャに実装するのが簡単で安価であるためです。
ただし、オンラインセキュリティに関しては、パスワードが最も弱いリンクであり、最も不十分な保護形態であることが一般的に認められています。
また、テクノロジーが進化するにつれて、悪意のあるハッカーや侵入者がオンラインの資格情報を解読するために利用できるツールも進化し、速度と洗練度が向上しています。
問題を悪化させるのは、ユーザーが新しいオンラインIDを作成するときに独自のパスワードを作成する機能を与えられることが多いという事実でもあります。
人間は自然界の生き物の中で最も忍耐強いとは知られていないため、簡単に推測してハッキングできるパスワードを使用することがよくあります。
これが、パスワードダンプがある場合は常に、最も一般的に使用されるパスワードが「パスワード」、「1234」、「生年月日」、または「合格」であることに気付く理由です。
ほとんどの人は、複数のサイトで同じパスワードを再利用します。
したがって、1つのサイトが侵害されると、ユーザーがアカウントを持っている他のすべてのWebサイトも侵害されます。
cPanelユーザーとして、SFTP / SSH認証に何を使用する必要がありますか?SSHキーまたはパスワード?
もちろん、答えはキーベースのSSHです。
SSHキーは、ベストプラクティスを使用して生成、保存、管理、および削除する場合に限り、安全を維持するための優れた方法です。
SSHには確かにパスワード認証を使用できますが、ネットワーク上で暗号化されて実行されている場合でも、脆弱なパスワードから保護することはできません。
悪意のあるユーザーが正当なユーザーのパスワードを推測または取得できる場合、悪意のあるユーザーは認証を行い、あなたになりすますことができます。
ウェブホスティングプラットフォームでは、SSHパスワード認証を許可していません。
これにはいくつかの利点があります。
- 悪意のあるハッカーは、キーベースのログインを総当たり攻撃することはできません
- サーバーが侵害された場合、悪意のある攻撃者は、パスワードの制御を取得した場合でも、サーバーにアクセスできなくなります。
- ログイン時にパスワードは必要ないため、無人で実行する必要のあるスクリプトまたは自動化ツール内からサーバーにログインできます。
代わりに、SFTP/SSHを使用したいお客様は公開鍵認証を使用することを期待しています。
SSHを使用すると、2つの部分で構成される暗号化キーが生成されます:
- ローカルコンピュータに保存されている、通常はid_rsaという名前の秘密鍵。
- 通常はid_rsa.pubという名前の公開鍵で、ログインするサーバーに配置されます。
このチュートリアルは、これを実行するのがいかに簡単かを示すことを目的としています。
キーを生成してCPanelに追加する方法
マック
ターミナルを引き上げます。
以下のテキストのようなものを貼り付けてください:
$ ssh-keygen -t rsa -b 4096 -C "$identifier"
ここで、$identifierはあなたのメールアドレスか何か他のものです。
「キーを保存するファイルを入力してください」というプロンプトが表示されたら、Enterキーを押します。
これにより、デフォルトのファイルの場所が受け入れられます。
プロンプトで、安全なパスフレーズを入力します。
次に、〜/ .ssh / configファイルを作成して、キーをssh-agentに自動的にロードし、パスフレーズをキーチェーンに保存します。
touch ~/.ssh/config
バックグラウンドでssh-agentを起動します。
$ eval "$(ssh-agent -s)"
以前に作成したファイルを変更します:
cd .ssh && vi ~/.ssh/config
これをファイルに追加します:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
SSH秘密鍵をssh-agentに追加し、パスフレーズをキーチェーンに保存します。
$ ssh-add -K ~/.ssh/id_rsa
キーの存在を確認します:
$ ls -al ~/.ssh
次に、生成された公開鍵をコピーして、cPanelサーバーに追加します。
$ cat .ssh/id_rsa.pub
ウィンドウ
Windowsのワークフローは異なりますが、次のような場合に役立ちます。
PuTTYを使用してキーペアを生成する
公式サイトhttp://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlからPuTTYgen(puttygen.exe)とPuTTY(putty.exe)をダウンロードします。
puttygen.exeを起動します。
ウィンドウの下部にあるRSAキータイプは、RSAキーペアに対してデフォルトで選択されていますが、リモートマシンのSSHサーバーがDSA署名をサポートしている場合は、ED25519(Curve25519を使用するEdDSA)が同等のオプションです。
RSAキーサイズを2048ビットから4096に増やし、[生成]
をクリックします。PuTTYは、マウスからのランダムな入力を使用して、一意のキーを生成します。
キーの生成が開始されたら、プログレスバーがいっぱいになるまでマウスを動かし続けます。
終了すると、PuTTYは新しい公開鍵を表示します。
それを右クリックして[すべて選択]を選択し、公開鍵をテキストエディタにコピーします:崇高なテキスト 、アトム またはメモ帳 。
公開鍵を.txtファイルとして保存します 。
.rtfや.docなどのリッチテキスト形式では書式設定文字が追加される可能性があり、秘密鍵が機能しないため、これは重要です。
[キーパスフレーズ]および[パスフレーズの確認]テキストフィールドに秘密キーのパスフレーズを入力します。
保存をクリックします 秘密鍵。
.ppkファイル拡張子を維持したまま、エクスプローラーでファイル名と場所を選択します。
将来使用するために秘密鍵ファイルの場所を覚えておいてください。
サーバーごとに複数のキーペアを作成する場合は、古いキーを新しいキーで上書きしないように、必ず異なる名前を付けてください。
公開鍵をOpenSSH形式に変換する
次に、PuTTYGenで秘密鍵を開きます。
ロードをクリックします 。
.ppkで終わる秘密鍵を選択し、[開く]をクリックします 」。
トップメニューを見て、[コンバージョン]を選択します 」->「OpenSSHキーのエクスポート」 。
プロンプトが表示されたら、新しいOpenSSHキーを保存します。
公開鍵は、cPanelに貼り付けるための公開鍵の下にあります。
新しいWindowsにはこれに対するより良いアプローチがあり、次のリンクを確認することをお勧めします。
- https://winscp.net/eng/docs/guide_windows_openssh_server
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
キーを生成したら、cPanelにログインします
セキュリティまで下にスクロールします>>SSHアクセス 。
既存のSSHキーをインポートするには、次の手順を実行します。
SSHキーの管理をクリックします 。
キーのインポートをクリックします 生成したid_rsa.pubをコピーします。
カスタムキー名を使用するには、このキーの名前を選択にキー名を入力します (デフォルトはid_dsa)テキストボックス。
公開鍵と秘密鍵を適切なテキストボックスに貼り付けます。
インポートをクリックします 。
新しいキーを使用する前に、それらを認証する必要があります。
戻って管理をクリックします キーの承認を管理します。新しいインターフェースが表示されます。
承認をクリックします キーを承認するか、承認を取り消す キーの認証を取り消す必要がある場合。
SSH公開鍵の保護:
- 組織であるか、SSHログインを他の人や他の人と共有している場合は、すべてのSSKキーを一元管理する方法があります。
- キーをパスフレーズし、複数のキーで同じパスフレーズを使用しないでください(各キーは異なるサーバーへのアクセスを許可します)。
- ユーザーに定期的にキーを生成させることにより、SSHキーを積極的にローテーションします。
- 物理デバイス間で秘密鍵を共有しないでください。
- 可能であれば、複数のユーザーがアクセスできるアカウントだけでなく、各SSHキーを個人に関連付けます。
- 要塞ホストを使用します。要塞ホストを使用すると、単一のインスタンスへのSSHトラフィックのみを許可するファイアウォールルールを作成できます。
- SSHまたはログインに成功したときに通知するアラートを設定します。
キー管理に苦労していますか?
以下のこれらのツールにより、SSHキー管理が簡単になります。
プラットフォーム、プロトコル、プロバイダー、場所に関係なく、システム、アプリ、ネットワーク、ファイルサーバーを統合して安全にアクセスする方法を確実に提供します。
- ユーザー化 :https://userify.com
- ジャンプクラウド :https://jumpcloud.com/
- CyberArk :https://www.cyberark.com/
- BeyondTrust :https://www.beyondtrust.com/
- SSHユニバーサルキーマネージャー :http://www.ssh.com/
- キーボックス :http://sshkeybox.com
デジタル資産(ウェブサイト、データベース、暗号通貨など)に関しては、パスワードの使用は共同バーへの入り口と見なす必要があります。
ただし、以下はパスワードのベストプラクティスと見なすことができ、パスワードに伴うリスクを軽減するのに役立つ場合があります。
パスワードのベストプラクティス
- パスワードの一部として個人識別情報を使用しないでください:あなた、配偶者、大切な人、子供、友人、またはペットの名前、生年月日、免許証番号、電話番号、社会保障番号、あなたの自動車、自宅の住所など
- 英語または外国語の辞書、スペルリスト、頭字語または略語リスト、またはその他の単語リストに含まれる単語を使用しないでください。
- いかなる理由であれ、パスワードを他の人と共有しないでください。
- パスワードを紙に書かないでください。
- 2つのWebサイトで同じ(または類似の)パスワードを再利用しないでください。
- 使用または生成しているパスワードに、大文字と小文字が混在し、アルファベット以外の文字/記号が含まれ、長さが20文字以上であることを確認してください。
- 使用しているパスワードと一緒に2要素認証を使用することを習慣にしてください。
- 定期的または90〜120日ごとに、所有するすべてのパスワードを変更します。