MK's-Lab

日々のはてなな用語を調べてメモるブログです

Kali Linuxでサイバー攻撃を試してみる5 - 環境導入+ ブルートフォース

<作業手順>

まとめ+より安全に接続するために、ポート変更と公開鍵認証方式への設定変更です。

8. まとめ

実験結果からパスワード認証方式でSSH接続をするのは危険だということがわかりました。

ただGCEのインスタンスは、デフォルトで、

・rootログイン ×

・パスワードログイン ×

・Sellinux 〇enforcing(有効)

になっていますので、安心ですね。

今回はTeraterm等から接続するときもできるだけ安全に使えるように、

ポート番号を変更し、認証も公開鍵方式で接続できるようにしたいと思います。

また先ほどの実験でパスワード認証ができるようにしてしまったので、そちらも設定を元にもどします。

パスワード認証を不可にする

まず、ルート権限でCentOSにログインします。

vi /etc/ssh/sshd_config

いろいろ設定が書いてある文字列が表示されますが、そこから

PasswordAuthentication yes

と書いてあるところを

PasswordAuthentication no

と直して、パスワードでログインできるようにします。

("i" を押してインサートモード、yes→イnoに変えたら、エスケープタブを押して、その後":wq"で保存してください)

そのあとサービスを再起動するので、下記のように入力

systemctl restart sshd

これでパスワードでSSHすることができなくなりました。

ポート番号の変更

接続するポート番号の変更はGCPの設定とCentOSの中の設定の二つがあります。 どちらも変える必要があります。

まずはGCPファイアウォールの設定から。

f:id:hatemamana:20190922153328j:plain

VMインスタンス→nic0の箇所をクリックします。

左のメニューから"ファイアウォール ルール"をクリック。

f:id:hatemamana:20191012211901j:plain

"ファイアウォールのルールを作成"の項目をクリック。

下記のように設定してください。(ファイアウォールの名前、ポート番号等は変えても大丈夫です)

※優先度を最初65534にしてしまい、teratermから繋がらなくて時間を無駄にしたので、 65534より小さい数(優先度高)にしてください。

f:id:hatemamana:20191012212017j:plainf:id:hatemamana:20191012212028j:plain

設定したら、一番下の"保存"ボタンを押します。

VMインスタンスに戻って、下記のインスタンス名をクリックしてください。

f:id:hatemamana:20191012212737j:plain

画面が変わったところで、画面の上のほうにある"編集"ボタンを押下。

f:id:hatemamana:20191012213035j:plain

ネットワークタグのところに"ssh-allow"と入力してください。

f:id:hatemamana:20191012213057j:plain

最後に保存をしたらGCEの設定は完了です。

次にCentOSファイアウォールの設定でポート番号の変更をします。

ブラウザウインドウでのSSH接続でCentOSにログインします。

vi /etc/ssh/sshd_config

この画面で

#Port 22

の下に

Port 31568

Port 22

を追記します。

:wqで設定を保管した後、

semanage port -a -t ssh_port_t -p tcp 31568

systemctl restart sshd

※CentOS7のfirewalldの設定ですが、デフォルトゾーンがtrustedなので、 特に設定の必要はありませんでした。GCPファイアウォールがあるので、CentOS上ではすべてのトラフィックが疎通可能になっているかもしれません。

Teratermから新しいポートでログインできるかを確認後

SSHで接続できることを確認したのち、

vi /etc/ssh/sshd_config

のなかの"Port22"の前に"#"を付けて

"「#Port22」"に変更し、保存してください。

公開鍵認証方式への変更

最後にTeratermからのSSH接続時に公開認証鍵方式で接続するようにします。

Teratermを開いて[設定]→[SSH認証鍵作成]に行ってください。

f:id:hatemamana:20191103144744j:plain

[生成]ボタンを押すと生成が始まります。コメントのところに自動で文字が入ります。 パスフレーズは自分で何か入れたほうが良いのですが、なくてもエラーにはならないので今回は入れませんでした。

f:id:hatemamana:20191103145038j:plain

下の[公開鍵の保存]、[秘密鍵の保存]をそれぞれクリックして保存してください。 公開鍵はそのままだと開けませんので、テキストエディタで開き、文言をコピーします。

f:id:hatemamana:20191103145310j:plain

コピーし終わったらGCEのコンソール画面に行って[Computer Engine]→[メタデータ]に行きます。

f:id:hatemamana:20191103150056j:plainf:id:hatemamana:20191103150107j:plain

SSH認証鍵のタブを押して、[項目を追加]し、先ほどの公開鍵を張り付けてから保存します。 鍵の左横に自動で表示されるものがユーザー名です。

Teratermを開いてログインします。

f:id:hatemamana:20191103150355j:plain

インスタンスIPアドレス、ポートは先ほど変更したポート番号を入力してOKをクリック。

f:id:hatemamana:20191103150457j:plain

ユーザー名を入力し、先ほど保存した秘密鍵のフォルダの場所を指定し、OKを押します。

これでSSH接続ができたはずです。

最後にsshd_configの設定でパスワード認証ができないように設定変更(#をつけて)してください。

以上、GCP導入→Kali Linux導入→ブルートフォース攻撃確認→GCEのポート変更方法→Teratermでの公開鍵設定の手順のご案内でした。