KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

超初心者向けにKUSANAGI導入マニュアルを作成してみた(2) ~KUSANAGIのセキュリティを設定する【KUSANAGI9対応】

この記事は約7分で読めます。
記事内に広告が含まれています。

本稿ではKUSANAGI導入時におけるセキュリティ設定の説明をします。
こちらの記事の続きです。

超初心者向けにKUSANAGI導入マニュアルを作成してみた(1) ~ConoHa入会からWordPressサイト開設まで【KUSANAGI9対応】
本記事は、私がKUSANAGIを導入しようとしたら各所で躓いてしまったので、超のつく初心者でもわかるよう、公式マニュアルを書き換えてみたというものです。 公式と...

文中コマンドにおける()や【】は、基本的に入力不要です。

著者はそれで混乱したからね!

スポンサーリンク

BASIC認証のユーザー・パスワードの作成

KUSANAGIでは9.6.0-1で管理画面ログインのBASIC認証が標準化されました。
デフォルトのユーザーとパスワードはKUSANAGIユーザーとパスワード。
改めてBASIC認証用のユーザーとパスワードを設定します。

ターミナルソフトを立ち上げてログイン。
次のコマンドを打ち込みます。

# htpasswd /home/kusanagi/.htpasswd (BASIC認証のユーザー名)

ユーザー名は好きな名前をつけてください。
もちろんkusanagi以外で。
()は要りません。

パスワードを求められるので入力します。
パスワードは強固なものを生成してください。

強力なランダムパスワードを取得 | トレンドマイクロパスワード作成ツール
トレンドマイクロパスワード作成ツールを使用して、強力で安全なランダムなパスワードを生成し、オンラインセキュリティを強化します。オンラインで身を守る簡単で効果的な...

Chrome使っていればパスワードマネージャーが覚えてくれますので記憶する必要はありません。

終わったらシークレットウィンドウでログインページを開きます。
ログインして、設定したユーザーとパスワードで認証できたら成功です。

スポンサーリンク

作業用ユーザーの作成

ここまではrootでログインしてきたことと思います。
しかしrootのまま作業するのはセキュリティ上の問題があります。

そのため、

rootログインの禁止が一般的に推奨されています

もっともrootログインを禁止すると作業しようがなくなります。
なので、先に作業用ユーザーを作ります。

こちらの記事を読んで進めてください。

KUSANAGIで作業用ユーザーを作る、ついでにsudoの説明もする【初心者向け・KUSANAGI9】
本稿ではKUSANAGIで作業用ユーザー(一般ユーザー)を作ってsudoできるようにします。 sudoの意味すら知らない初心者に向けて書いてますので、わかる方に...
スポンサーリンク

rootログインを禁止する

作業用ユーザーを作ったら、今後はrootログインの禁止です。
こちらの記事を読んで進めてください。

KUSANAGIのrootログインを禁止する方法と潜んでいるかもしれない落とし穴【KUSANAGI9・ConoHa VPS】
恐らくKUSANAGIを導入した多くの初心者はrootでログインし作業しているのではないかと思います。 しかしrootログインを許可するのはセキュリティ上の問題...
スポンサーリンク

【閑話】sudoとsu

前項と前々項はsudoでコマンドを実行することを前提に記しました。
実はsudoの他にも作業用ユーザーでログインしてroot実行する方法があります。

# su

これでrootパスワードを打てばrootになれます。

sudoとの違いは、sudoがコマンド単位なのに対してsuはユーザーごとrootに切り替わります。
rootなのでいちいちsudoと打つ必要もパスワードを入力する必要もありません。
自分一人だけのサーバーならsuの方が楽です。

以下、全てrootで作業するものとしてsudoを省略します。

スポンサーリンク

sshポートを変更する

sshポートは一般に22です。
このままではセキュリティ上の問題がありますので変更します。

vi /etc/ssh/sshd_config

21行目前後に次の記述があります。

port 22

49152~65535の任意の番号に変更して保存して終了します。
例として50001にします。

port 50001
:wq

sshdを再起動します。

systemctl restart sshd.service

ターミナルソフトのログイン設定もポート番号を変更しておきます(この場合は50001)。

スポンサーリンク

SFTPクライアント(WinSCP)を作業用ユーザーで設定する

WinSCPを設定します。

WinSCPを立ち上げるとログイン画面が開きます。
初めての場合はそのまま。
2回目以降の場合はrootで設定しているでしょうから、作業用ユーザーで上書します。

ユーザー「tenzen」、ポート「50001」に変更したケースです。
ホスト名はサーバーのIPアドレスを入力します。

終わったら「保存」を押します。
名前はわかりやすければなんでもいいですが、ここでは「tenzen」としておきます。
左側に「tenzen」が並んだはずです。
「編集」を押して「設定」を押します。

SSH→「認証」を開きます。
「秘密鍵」で「作業用ユーザーの作成」で作った秘密鍵を入れます。
(ここではtenzen.pem)

次のダイアログが開くのでOKを押します。

tenzen.pemがtenzen.ppkに変換されて登録されます。

終わったら追加でWinSCPをroot権限で操作できるように設定します。
こちらの記事を見ながら作業してください。

KUSANAGIの一般ユーザーでWinSCPを使う場合、ログイン時に自動でsudoしてroot権限で作業する方法
KUSANAGIを使うにおいては、セキュリティの観点からrootログインを禁止することが推奨されます。 この場合、WinSCPでも一般ユーザー(作業用ユーザー)...
スポンサーリンク

公式推奨の各種セキュリティ設定を行う

公式推奨の各種セキュリティ設定をします。

KUSANAGI公式推奨のセキュリティ設定はこちらです。

せっかくWinSCPを設定したのですから早速使います。
黒い画面よりWinSCPでやった方が早いです。

WinSCPでログインします。
「home」→「KUSANAGI」→「プロファイルのホームディレクトリ(プロファイルの名前がついたフォルダ)」→「DocumentRoot」と開いていきます。

wp-config.phpというファイルがあるはずです。
ドラッグアンドドロップで上の階層(ホームディレクトリ)へ移動します。
wp-config.phpを右クリックして「プロパティ」を開きます。

次の通り設定します。

所有者:kusanagi
グループ:www
パーミッション:所有者とグループのR(合計2個)にチェック
→「440」になっていることを確認して「ok」を押す

再びDocumentRootフォルダまで戻ります。
wp-contentフォルダを右クリックしてプロパティから次の設定をします。

所有者:kusanagi
グループ:www
パーミッション:所有者のRWX、グループのRWX、その他のRX(合計8個)にチェック。
→「775」になっていることを確認して「ok」を押す

以上の作業をコマンドで書くと次の通りです。

$ su
# cd /home/kusanagi/(プロファイル名)/DocumentRoot
# mv wp-config.php ../
# cd ..
# chown kusanagi.www wp-config.php
# chmod 0440 wp-config.php
# ll
(各種ファイルが並ぶ、略)

wp-config.phpがあること、所有権とグループ、パーミッションを確認します。
続けて、

# cd /home/kusanagi/(プロファイル名)/DocumentRoot
# chmod 0755 wp-content
# ll

rwxrwxr-xとなっていればokです。

ここで付け加えておきます。

KUSANAGIの推奨設定は変わることもあります。

ダッシュボードに出るのでわかると思いますが。

管理画面に入る度にチェックする癖はつけておいた方がいいかもです

スポンサーリンク

wp-config.phpのFTP設定の変更

セキュリティとは関係ない(むしろ逆行する)設定ですが、wp-config.phpを扱ったついでにやっておきます。
WinSCPからwp-config.phpを開きます。

/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*/
define('WP_DEBUG', false);

(略)

/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */

(略)の部分のどこかに次の記述を加えます(既にある場合は変更します)

define('FS_METHOD', 'ftpext'); ←デフォルトはftpsockets
define('FTP_HOST', 'localhost');
define('FTP_USER', 'kusanagi');
define('FTP_PASS', 'kusanagiのパスワード');

最初の1行は、PHP8.1では変更する必要があります。
3行目4行目はパスワード認証なしでテーマやプラグインを更新できるようにします。

本来はあまり推奨されないのですが、一人でサイト運営する分には利便性を優先していい箇所と思います。

スポンサーリンク

まとめ

これでKUSANAGIで最初にやるべきセキュリティ設定は終わりです。

おつかれさま!

おつかれさまでした!

 

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
KUSANAGI・WEXAL
タイトルとURLをコピーしました