魔法使いのWebマーケティング

Webマーケティングで魔法をかける!

  • Home
  • SEO
  • WordPress
  • concrete CMS
  • サーバー
  • No-Code
  • 🍀自己紹介&実績
  • AIによる参照元つき高品質SEO記事作成ツールα版が完成🎉
  • お問い合わせ
  • Notionブログ(外部)
©2018〜2021 まほウェブ・魔法使いのwebマーケティング・魔法使いの道具箱
You are here: Home / サーバー / kusanagi-SSH接続-セキュリティ対応|非エンジニアでも超高速サーバーを!②

kusanagi-SSH接続-セキュリティ対応|非エンジニアでも超高速サーバーを!②

By Wizard-Nakata 投稿日: 2019年2月27日 最終更新: 2023年1月18日

この記事は
Conoha VPSでのkusanagi初期設定|ノンプログラマーでも超高速サーバーを!①
の続編です。

前回までで、
世界最高速クラスのwordpressパッケージであるkusanagiをconoha VPSを利用してインストール。

さらに、wordpressをインストールし、取得したドメインでwordpressサイトを表示させるところまで行いました。

しかし、前回までの状態では全くセキュリティ対策が施されていません。
ブルートアタック等のスパム攻撃で、他人にログインされてしまう危険性があります。

サーバーセキュリティ

そこで今回は、前回設定したkusanagiについてセキュリティ対応を行います。
他人にサーバーへログインなどされないよう、対応させていきましょう。

目次

    • kusanagiセットアップ全体の流れ
    • 何はともあれ、rootユーザーでVPSへSSH接続してみよう
      • ターミナルからSSHする理由は、Conoha VPSコンソールが使いづらいため
      • rootユーザーでVPSへSSH接続するコマンド
    • SSH接続用の新規ユーザーを作成、動作確認
      • ssh接続用新規ユーザーを追加
      • ssh接続用新規ユーザーのパスワードを設定
      • wheelグループに所属するユーザーが、rootになれるようにする
      • 新規ユーザーをwheelグループに所属させる
    • ポート番号変更、リモートでのrootログイン禁止(SSHデーモン設定)
      • SSHデーモンファイルの設定
  • Port 22
      • sshdの再起動
    • 新規ユーザーでSSH接続できるように設定
      • SSH秘密鍵ファイルを作成
      • SSHフォルダを作成、秘密鍵を生成
      • 秘密鍵ファイルのパーミッションを変更
      • 新規ユーザーでSSHログイン
    • サーバー側ファイアウォール設定
    • トラブルシューティング: 新規ユーザーでの秘密鍵ログインができないときはパーミッションを疑え(permission denied)
      • ①: authorized_keyのパーミッションは755に
      • ②: 秘密鍵ファイルが正しい位置にないため、読み込めていない
      • ③: 秘密鍵のパーミッション権限エラー
      • それでもSSH接続できない場合は、コントロールパネル「接続許可ポート」の設定を見直して

kusanagiセットアップ全体の流れ

  • Conoha VPSの契約
  • Conoha VPSにkusanagiをインストール
  • kusanagiプロビジョニング
  • ドメインとサーバーを紐付ける
  • wordpress初期設定
  • 常時SSL化→古いURLをリダイレクト設定

Conoha VPSでのkusanagi初期設定|ノンプログラマーでも超高速サーバーを!① | 魔法使いのマーケティングブログ

— (今回はここから!) —-

  • SSH接続設定&サーバセキュリティ設定(ここが大変)

— (今回はここまで!) —-

  • サーバー側キャッシュ設定
  • wordpress管理セキュリティ対応

kusanagi-キャッシュ-wordpress設定|非エンジニアでも超高速サーバーを!③ | 魔法使いのマーケティングブログ

ということで今回の記事では
SSH接続設定とサーバーセキュリティ設定を行い、安全性を高めていきましょう!

前回部分でサーバーを終了(停止)させた方は、Conohaのコントロールパネルから再起動を行ってください。

OSインストール〜kusanagiプロビジョニング〜ドメイン設定
がまだの方は、前回の記事「Conoha VPSでのkusanagi初期設定」をご参照下さい。

Conoha VPSでのkusanagi初期設定|ノンプログラマーでも超高速サーバーを!①

何はともあれ、rootユーザーでVPSへSSH接続してみよう

コマンドライン

ターミナルからSSHする理由は、Conoha VPSコンソールが使いづらいため

現段階で、Conoha VPS管理画面コンソールから
直接rootログインすることはもちろん可能です。

しかしConohaコンソール画面は
スクロールが非常にやりにくいなど、あまり親切な作りであるとは言えません。

コンソール画面、上下左右のスクロールバーを掴んで
スクロールさせることはできます。
しかし、画面上でのスクロールや、方向キーでのスクロールは受け付けないのです。

私はOS側ディスプレイの解像度を下げ
画面を大きく表示させているため、スクロールバーがうまく表示されず困ってしまいます。

そこで、ひとまず手元のターミナル等からSSHを試みてみましょう。

rootユーザーでVPSへSSH接続するコマンド

ターミナルから、VPSへSSH接続するコマンドは以下の通り。

< sshコマンド(秘密鍵使用なし) >

# ssh [email protected] (pw)

パスワードログインを設定している場合は、接続先指定の後にパスワード(pw)を指定してください。

@000.00.00.00
の箇所には、VPSのサーバーのIPアドレスの数値を入力してください。

<sshコマンド(秘密鍵使用)>

ssh -i ~/.ssh/秘密鍵ファイル.pem [email protected]

またはポート番号を指定してSSH接続付加してもよい

ssh -p 22 -i ~/.ssh/秘密鍵ファイル.pem [email protected]

秘密鍵を使用していないとき(コンパネからのサーバー追加時にSSHキーを新規作成しなかった場合)
には、-i と、その次の秘密鍵ファイルパスの指定は必要ありません。

SSH接続用の新規ユーザーを作成、動作確認

現在は最高権限をもつrootユーザーのみですが
このrootユーザーのみだと
ログインIDが「root」と一般に知れ渡ってしまっている状態です。

そこで、rootユーザーにはリモートでのSSH接続をできないように禁止させ
別途、SSHができる新規ユーザーを作成します。

今回も↓ガリガリコード様の記事に従って、

1. 新規ユーザーの作成
2. 新規ユーザーの動作確認

までを行います。

初心者向け!ConoHaでKUSANAGIの始め方(完)セキュリティ設定

ssh接続用新規ユーザーを追加

ターミナルより、rootユーザーでsshログインした後

adduser “新しいsshユーザー名”

↑コマンドを打っても何も表示されませんが、ちゃんとユーザーが新規作成されています。

ssh接続用新規ユーザーのパスワードを設定

passwd “新しいsshユーザー名”

で、いま作った新規ユーザーにパスワードを設定します。
→任意のパスワードを設定する

このときもクリアテキストです。
打ってもカーソルも動かず何も表示されませんが
ちゃんと入力されています。
2回入力して、パスワードを確定させてください。

wheelグループに所属するユーザーが、rootになれるようにする

# vim /etc/pam.d/su

で、カラフルなファイルを開きます。

さて、今開いているファイルでは、6行目付近の
#auth required pam_wheel.so use_uid

これを

auth required pam_wheel.so use_uid

こう変更して保存して下さい。 先頭の#を取るだけです。

新規ユーザーをwheelグループに所属させる

新規ユーザをwheelグループへ所属させroot権限を与えるコマンド

# gpasswd -a 新規ユーザー wheel

で上手くいきました!

ちなみに、スーパーユーザー(su)になれるユーザーグループ名が
一般にwheelグループとされています。
wheelの由来としては、どうやら「big wheel」= 大物(になる)
との語源に由来があるようです…

諸説あるようですが個人的に納得したのが big wheel から由来している説です。big wheel というのは「大物」とか「実力者」とかそういった意味のある言葉のようですので、sudo できる権限をもった者という意味では納得がいきます。

[Linux] なぜ sudo する権限のあるグループが「 wheel 」という名前なのか « Codaholic

ポート番号変更、リモートでのrootログイン禁止(SSHデーモン設定)

SSHデーモン設定

新規作成したユーザーの動作を確認できたら
次に、rootユーザーによるリモートログインを禁止します。

ガリガリコード様の記事を参照しながら

3.ポート番号変更、rootログイン禁止

初心者向け!ConoHaでKUSANAGIの始め方(完)セキュリティ設定 | ガリガリコード

を行います。

私の場合は
開放ポート番号は55555を設定、初期設定の22は閉鎖(変更)としました。

参考: KUSANAGIにSSHでつなぐためにセキュリティを強化する | 有限工房

これでrootユーザからのリモートログインはできなくなります。
しかし、SSHユーザでリモートログインし
suコマンドでスーパーユーザーになることで
擬似的にroot権限を得ることがリモート接続でも可能です。

このとき、suコマンドを使ってスーパーユーザーになるときに入力するパスワードは
rootユーザーのパスワードと同一。

また、SSH接続でのログインは禁止されるものの
Conoha VPSコントロールパネルから
rootログインすることは引き続き可能です。

具体的な手順やコマンドは以下のとおり。

SSHデーモンファイルの設定

# vim /etc/ssh/sshd_config

で、SSHデーモン(設定)ファイルを開き
以下の通りに設定を変更します。

17行目

Port 22

の文頭コメントアウトを外し、ポート番号を変更。
Port 55555
にします。

23行目
# Protocol 2
の文頭コメントアウトを外して有効化。

49行目
PermitRootLogin yes
を
PermitRootLogin no
に変更し、SSHでのルートログインを禁止する。
(conoha VPSコンソールからのrootログインは可能です。)

55行目
#55 PubkeyAuthentication yes
の文頭コメントアウトを外し、鍵認証ログインを許可。

(これは確認)
79行目
PasswordAuthentication no
パスワード認証によるログインがnoであり、パスワードログインが不許可となっていることを確認しておく。
(鍵認証のみでの接続としたいため)

以上が完了したら、Escキーで編集モードから抜けて
「:wq」で保存して終了。

sshdの再起動

SSH設定を反映させるため
sshdの再起動をかけます。

# systemctl restart sshd.service

これで、以降はrootからリモートログインすることが不可となり
接続ポート番号が55555に変更されたはずです。

rootユーザーでのSSHが不可となるので
ログアウトする前に、下の新規ユーザー用SSH接続キー作成を済ませておきましょう。

新規ユーザーでSSH接続できるように設定

新規ユーザーでSSH

この段階は、かなり詰まってしまいましたので要注意です…!

まずは、ガリガリコード様の記事をみて

4. 新規ユーザー用の鍵を作成
5.ログインできるユーザー、ポート番号の確認

初心者向け!ConoHaでKUSANAGIの始め方(完)セキュリティ設定 | ガリガリコード

の流れを掴んでください。

SSH秘密鍵ファイルを作成

# su 新規ユーザー

で新規ユーザーに切り替えたあと、以下の操作を行います。

[新規ユーザー名@000-00-00-00 root]$

という表示になっていたら、新規ユーザーとして切り替わっています。

SSHフォルダを作成、秘密鍵を生成

まず、SSHフォルダを作成します。

# cd ~/

# mkdir .ssh

次に、.sshフォルダのパーミッションを700に設定し、新規ユーザー自身でしか触れないようにします。
(または755でもOK)

# chmod 700 .ssh

.sshフォルダに、SSHキーを作成します。

# cd ~/.ssh

# ssh-keygen -t rsa

私の場合、wgetコマンドが上手く動作せず
秘密鍵ファイルをダウンロードできませんでした。
仕方なく秘密鍵ファイルの中身をコピペで保存。

# cat

コマンドで中身を開き、コピーして
手元のテキストエディタで新規Fileへペースト。
ファイル名.pem
で保存して、秘密鍵ファイルを作成します。

作成した.pemファイルは
ローカルの
ユーザー/.ssh
フォルダ内に格納させます。

秘密鍵ファイルのパーミッションを変更

デフォルトで作成した秘密鍵.pemファイルの
パーミッションは644です。

以下のコマンドで、権限を600に厳格化します。

# cd ~/.ssh

で秘密鍵のあるフォルダまで移動し

# chmod 600 ファイル名.pem

でパーミッションを変更。

新規ユーザーでSSHログイン

以上で新規ユーザーの接続設定は完了です!

以下のコマンド通り

  • ポート番号を55555に指定
  • 秘密鍵を使用

のオプションをつけると、新規ユーザーでSSHできるはずです。

# ssh -p 55555 -i ~/.ssh/秘密鍵ファイル名.pem 新規ユーザー名@VPSのIPアドレス

ワンライナーで書きます。少しコマンド解説しておきます。
・頭の「ssh」でopenSSHのコマンド使います宣言。
・続く「-i」がオプションです。いくつかありますが、-iで秘密鍵を使いますってことになります。
半角スペースを置いて続きに使用する秘密鍵へのパスを書き、これ使いますと命令します。
・続く「-p」でポートを指定します。

【Mac】SSH接続でXserverに接続してみよう(SSHクライアントソフト FileZilla設定も解説) | 名古屋・東京のホームページ制作会社ならGrowGroup株式会社

リモート接続の都度、毎回ログインのための上記コマンドを打つのは長くて面倒なので
任意のエイリアスを登録しておくと楽チン。

(エイリアス = ショートカットキーのようなものを設定する)

【初心者向け】エイリアスの設定方法 – Qiita

新規ユーザーでpermission deniedなど、SSHログインエラーとなる場合には
記事末にトラブルシューティング例をまとめています。
ご確認くださいませ。

サーバー側ファイアウォール設定

サーバー側でのファイアウォール設定を行い
今回のサーバー側セキュリティ対応については完成となります。

最後の段階ですので、もうひと頑張りです!

ファイアウォールを立ち上げます。

# systemctl start firewalld.servie

すると、SSH接続が不可となります。
(ファイアウォールによって遮断される)

実際にSSH接続しようとしてみると
ssh: connect to host 000.00.00.00 port 55555: Connection refused
となり、リモート接続が(一時的に)不可に。

後ほど設定を変更することで、SSH接続が可能になりますのでご安心を。

具体的な設定手順は、ガリガリコード様の

6. ファイアウォールも設定しておく

初心者向け!ConoHaでKUSANAGIの始め方(完)セキュリティ設定 | ガリガリコード

に従って、ファイアウォール設定を完成させましょう。

ただし、ターミナルではなく
「Conohaサーバーのコンソール」から作業を行うこと!!!

ご注意下さい。

以上でサーバーセキュリティ設定は一旦完了です!
最大の山場は越えました。おつかれさまでした!!!

次回、サーバーキャッシュの設定や
wordpressディレクトリ内の権限設定を
行って、kusanagi導入を完成させましょう。

↓続きの記事はこちら

kusanagi-キャッシュ-WordPress設定|非エンジニアでも超高速サーバーを!③

トラブルシューティング: 新規ユーザーでの秘密鍵ログインができないときはパーミッションを疑え(permission denied)

permission denied error

新規ユーザーでの秘密鍵ログインができない場合は、パーミッション設定を疑いましょう。
僕は、以下の3つのエラー例に遭遇しました。

①: authorized_keyのパーミッションは755に

ユーザー名@000.00.00.00: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

ターミナル上にこのような表示が出てきた場合は
authorized_keyのパーミッションを疑ってください。

authorized_keyのパーミッションは755等で上手く動きます。

新規ユーザーのauthorized_keyファイルの場所は
/home/新規ユーザー/.ssh
にあります。

新規ユーザーに# suしてchmod でパーミッション設定を変えてください。

参考: SSHが鍵認証されないとき、パーミッションを疑え。 – それマグで!

②: 秘密鍵ファイルが正しい位置にないため、読み込めていない

こちらでも、permission deniedと表示されるエラーが表示されました。
原因は秘密鍵を読み込めていなかったようです。

DLした秘密鍵は、ユーザディレクトリ直下の.sshフォルダ内に置きます。
.sshフォルダがない場合は新しく作ってください。

~/.ssh/秘密鍵ファイル名.pem
に置きます。

「.」が頭につくファイル/フォルダは隠しファイル(不可視属性)です。
表示されない場合は、表示させる設定を行ってください。

Mac – Finderで隠しファイル・フォルダを表示する方法 – PC設定のカルマ

③: 秘密鍵のパーミッション権限エラー

秘密鍵を適切な場合へ設置し
上記コマンドでSSH接続しようとしても
以下のパーミッションエラーがコンソールに表示されることがあります。


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for ‘/Users/〇〇/.ssh/〇〇.pem’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.Load key “/Users/〇〇/.ssh/〇〇.pem”:
bad permissions Permission denied (〇〇).


これは、DLした秘密鍵は
パーミッション(読出/書込/実行許可)番号
が644のままであり

この「644」番号という設定では
秘密鍵として
読出/書出/実行の権限設定が緩すぎるため
SSH接続を認める訳にはいきませんよ!

…ということです。

パーミッション番号とは
所有者/グループ/その他
の3つのユーザー種類ごとの権限を表す
3ケタの番号になります。

それぞれのケタの番号は、8進数でその権限が示されています。
パーミッション番号の詳細については、以下のリンクをご覧ください。

パーミッション早見表

PERMISSION

今回の場合
秘密鍵ファイルのパーミッション権限番号を
600に変更して

所有者のみに読出/書込権限を付与、
他種類のユーザーには全てを禁止する設定にします。

パーミッションを変更する場合は
権限変更したい階層まで移動し

$ chmod (設定したいパーミッション番号3ケタ) (対象ファイル/フォルダ)

というコマンドでファイルの権限変更を行います。
(change mode)

ターミナルで、秘密鍵の置いてある.sshのフォルダまで移動し

$ chmod 600 秘密鍵ファイル名.pem

でパーミッション権限を変更。

(同様に、サーバー側の.sshフォルダのパーミッション権限は700番にしておくこと!
もしまだ設定していなければ。)

これで、SSH用に作成した
新規ユーザーからリモート接続できるはずです。

それでもSSH接続できない場合は、コントロールパネル「接続許可ポート」の設定を見直して

上記で、新規ユーザーからSSH接続が可能になるはずですが
それでも「できない!」という場合は
conoha VPSコントロールパネル「接続許可ポート」の
設定を見直してみてください。

原因は接続許可ポートの「全て許可」にチェックしてなかったからでした :raised_hands:

「全て許可」にチェックしないと、選択していないポートへのアクセスは OS に到達する前に弾かれてしまうようです。もしSSHのポートを変更する場合や、開放するポートを自分で管理する場合は、「全て許可」 にチェックを入れておきましょう。

ConoHa VPSのポート開放でハマったお話 – Qiita

この記事をシェアする:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)

本投稿の関連記事

カテゴリー: サーバー タグ: ConoHa, kusanagi, vps

著者の自己紹介と実績紹介サイトはこちら

SEOコンサルティングやSEO実行支援、Webサイト制作のご相談を承っています。

Webサイト制作とSEOの専門家 – Marketing Wizard

上記サイトでは、私の経歴とWebサイト制作・SEO支援実績を掲載しています。

ぜひご覧くださいませ。

お気軽にコメントをくださいませ!

 

本記事はあなたのお役に立てましたでしょうか?
ひとことでもコメント欄からご感想をいただければ、モチベーションに繋がります。

また「本記事には書かれていなかったけれど、他の点について知りたい」というご質問や、誤っている箇所などあればご指摘もお待ちしております。

メールアドレスが公開されることはありません。
なんでもお気軽にコメントくださいませ。

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

email confirm*

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Marketing Wizard : Nakata

" Webマーケティングで魔法をかける "
東京都にて活動しています、30代フリーランスのSEOコンサルタント兼Webディレクターです。Marketing Engineerを目指して色々勉強と挑戦中。

サイト制作では、SEOを考慮したサイト設計から、PR・プレスリリースを含めた幅広いWebマーケティングの提案・代行まで。
Google AnalyticsやSearch Console等のアクセスデータやログからの各種分析も行っています。

新規事業のご相談をいただくことも多く、No-Codeを用いた仮説検証・テストマーケティングもお引き受けしています。

【経歴】
神戸大学法学部卒→政府系金融機関。その後、大阪のインバウンド向け広告代理店に勤務した後、2014年4月から個人事業主として活動開始。
約5年間にわたり、旅行・観光のプランニング&手配代行サービスサイトを自身で設立。数名にてスモールビジネスとして運営しておりました。

自己紹介&実績掲載サイト

Webサイト制作とSEOの専門家 - Marketing Wizard

follow me !

  • Twitter
  • LinkedIn

サイト内検索

Recent Posts

  • WordPressブログをNotion製Webサイトに移行することにしました 2021年9月14日
  • Glideでログイン機能・ユーザーごとに表示切り替えできるアプリは作れるか 2021年7月24日
  • 「AWSをはじめよう」での初期設定まとめ。請求アラート・IAMユーザー・セキュリティ 2021年7月24日
  • 「URLがGoogleに登録されていません」Search Consoleでインデックスされない 2021年7月20日
  • オンラインのマインドマップならmiroで共同編集!作成・Notion埋め込み方法 2021年7月11日

Categories

  • CMS一般
  • concrete CMS
  • EC/ショッピングカート
  • No-Code
  • SEO
  • Strikingly
  • webセキュリティ
  • webデザイン/コーディング
  • webマーケティング一般
  • WordPress
  • その他
  • サーバー
  • フリーランス論/仕事術
  • マーケティングオートメーション(MA)・CRM
  • ライティング
  • 便利ツール一般

Tags

2段階認証 Adalo Airtable aws concrete5 ConoHa ConoHa-vps ContactForm7 ConvertKit CSS E-A-T Instagram kusanagi LP No-Code nofollow noindex owncloud podcast Quire ssh strikingly STUDIO tmux vps Webサイトビルダー webセキュリティ web制作 wordpress エックスサーバー エッセンシャル思考 エラー対応 クラウドストレージ サーチコンソール セキュリティ ツール データベース プラグイン プロジェクト管理 メールマーケティング ライティング 事例 書評 著者情報 高速化

ソース・参照元つきAIによる高品質SEO記事コンテンツ作成ツールα版が完成しました

現在、クローズドβ版に向けて先行登録ユーザー様を募集しています。

機能や詳細は ソース・参照元つきAIによる高品質SEO記事コンテンツ作成ツールα版が完成しました の記事をご確認ください。

Notion製Webサイトでも発信中

Notion×Superで制作したWebサイトでも、アウトライン形式で最新情報を発信しています。

魔法使いのスクリプト

頻繁に記事を更新していますので、こちらもぜひご覧ください。

Anchorでpodcastラジオ音声配信もしています

Webマーケティングやスモールビジネスに役立つ方法をpodcastラジオ音声配信しています。

魔法使いのWebマーケティングRadio  • A podcast on Anchor

「ながら聴き」も可能な内容ですので、ぜひお楽しみください。

お気軽にご相談ください

No-Codeによるシステム開発やCMS構築・Webサイト制作から、サイト分析・SEOを中心としたWebマーケティングまで。
さらにプレスリリース配信を起点としたPR戦略企画も承ります。

自己紹介・実績サイト

お問い合わせはこちらから。

ぜひお気軽にご相談ください。