変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2025年3月22日

[WordPress]色々ある

ユーザーIDがインターネットで閲覧できるかどうか?

■ ユーザーIDがインターネット上で閲覧可能か確認する方法

/?author=1を試しているbotは多いが

# wget http://{IPアドレス}/?author=1
--2025-03-22 00:47:01--  http://{IPアドレス}/?author=1
{IPアドレス}:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://ssiscirine.iobb.net [続く]

てな感じで302でトップページにリダイレクトしてたが、特にそんな設定をした覚えはない。

※結果:SiteGuard WP Pluginでユーザ情報を非表示にしてた。

“/?author=数字” のアクセスによるユーザー名の漏えいを防止します。また、REST API によるユーザー名の漏えいを防止するため、REST API を無効化することができます。REST API の無効化によって動作しないプラグインが存在する場合には、除外プラグインのリストにプラグイン名を追加してください。有効になっているプラグインのリストから追加することができます。

なので、REST APIを有効にしないと困るプラグインがありそうだ。

backupPlusも例外に追加

■ 管理画面のアクセス制限が適切か確認する方法

「IDやパスワードを記憶させてない状態のブラウザ」や「シークレットモード」を使用して、管理画面にアクセスする。

普通にログイン画面が開けた。

※結果:apacheのvirsualHostのconfでwp-adminはIPアドレス指定でLAN許可してるからOKだけど

phpMyAdminなどでlogin-failsテーブルを見るといっぱい出るのでPOSTしてくるのかな?

仕方が無いのでログイン画面にBASIC認証を付ける。

試しにwordpressのwp-adminにBASIC認証の.htaccessを入れると・・・

ブログを見る分には支障無いけど、

ログイン画面でCSSが効かなくなり(既に怪しい

ログインを成功すると

内部エラー

になる。

ただの罠でしかないので、apacheのconfファイルに

  <Location "/wp-login.php" >
    AuthType Basic
    AuthName “sample”
    AuthUserFile /{適当なトコ}/.htpasswd
    require valid-user
  </Location>

を追記して一通り(httpdとphp-fpm)再起動。

# htpasswd -c /{適当なトコ}/.htpasswd {アカウント名1}
New password: {パスワード1}
Re-type new password: {パスワード1}
Adding password for user {アカウント名1}
# htpasswd /{適当なトコ}/.htpasswd {アカウント名2}
New password: {パスワード2}
Re-type new password: {パスワード2}
Adding password for user {アカウント名2}
・・・
繰返していくつか作っておく
・・・
支障がありそうなアカウント名の場合は
[1]+  停止                  htpasswd /{適当なトコ}/.htpasswd {htpasswdがアカウント名だと思うモノ}
と出てエラるけど.htpasswdには書かれる

とwp-login.php表示用のBASIC認証アカウントを作る

サイトヘルスの2件のエラー

  • WP-CRONが停止
  • ループバックがタイムアウト

これは、/etc/hostsにブログのドメイン名を追加して

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ssiscirine.iobb.net

自分に届く様にするとWP-CRONとループバックのエラーが消えた。

単に外面のssiscirine.iobb.netへ送っていたせいでタイムアウトになっていた。

その影響で自分にリクエストを投げていた機能がとても遅かったが素早くなった。(よかったよかった

サイトヘルスの警告

〇停止中のテーマを削除

これは無視

〇予約したイベントの実行に失敗した

要調査

〇1つ以上の推奨モジュールがありません

オプションのモジュール imagick がインストールされていないか、無効化されています。

php.iniに追記

extension = imagick.so

しかし、/etc/php.dにそれらしきsoファイルは無いのでインスト

参照URL:Almalinux 9 で ImageMagickをインストールする

# dnf --enablerepo=epel install ImageMagick-perl        # 177 packages
# dnf --enablerepo=epel install ImageMagick             #   1 packages
# dnf --enablerepo=epel install ImageMagick-devel       #   5 packages
# dnf -y install php-devel                              #  38 packages
# pecl install imagick
・・・
(とても長いので中略)
・・・
Build process completed successfully
Installing '/usr/lib64/php/modules/imagick.so'
Installing '/usr/include/php/ext/imagick/php_imagick_shared.h'
install ok: channel://pecl.php.net/imagick-3.7.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini
# find / -name imagick.so -print
/usr/lib64/php/modules/imagick.so
# systemctl restart httpd
# systemctl restart php-fpm

imagick.soだけで183パケもインストされるのは気味が悪い。

libraw_r.so.23()(64bit)が無くてインストする場合もあるらしいけど今回は無事成功。

推奨モジュール云々の警告は消えた。

それにしてもimagick.soを使っていそうなのは画像のリサイズくらいだろうか?

インストしなくてもリサイズできてる気がするが・・・(謎

〇永続性オブジェクトキャッシュを使用してください

高価な環境らしいので無視

〇ページキャッシュが検出できませんでしたが、サーバーのレスポンスは良好です

ページキャッシュプラグインを入れても変わらないので無視

ps.2025/03/22

あいかわらずxmprpc.phpでログインアタックしてくるので

  <Location "/xmlrpc.php" >
    AuthType Basic
    AuthName “sample”
    AuthUserFile /{適当なトコ}/.htpasswd
    require valid-user
  </Location>

xmprpc.phpをブラウザで表示する

XML-RPC サーバーは POST リクエストのみを受け入れます。

と表示する。

JavaScriptで適当にPOSTしてみると

<methodResponse>
	<fault>
		<value>
			<struct>
				<member>
				<name>faultCode</name>
				<value>
					<int>-32700</int>
				</value>
				</member>
				<member>
				<name>faultString</name>
				<value>
					<string>parse error. not well formed</string>
				</value>
				</member>
			</struct>
		</value>
	</fault>
</methodResponse>

とエラるし Site Guardのログイン履歴にすら載らなかった。




top