V-antena and Tanimoto's page

谷本の備忘録・雑記帳・work

>

カテゴリー: wordpress

CATEGORY ARCHIVE

dual lan構成のミニPCにipfireを実装し、既存webサーバー用のutmに仕立てる

背景

最近intel n100搭載のミニPCが話題になっている。dual lan搭載の品もあったので、セキュリティ強化のためにutmの構築を試してみようと考えた。 記録として残す。

ミニPCの仕様概略

CPU: Intel n100 メモリー: DDR5 16GB Lan: 1G x 2 wi-fi(※): 2.4G/5G
追加でSSD増設済み

※ 技適マークがついている事確認済み

現構成イメージと予定構成イメージ

事前に確認必要な点

1. ミニPCのLANポートのMACアドレス 及び wifiカードのMACアドレス
   (ミニPCのwindowsから、ipconfig /all にて確認)

2. wifiカードの品名・サポートするwifi規格・サポートするwpa種別

   ・品名は直接目視か、デバイスマネージャーから調べる
   ・wifi規格は、wifiカードだけでなく制御用PCについても確認
   ・wpa種別についても、wifiカード及び制御用PCについても確認
    (netsh wlan show driversで、ノートPCがwpa3を未サポートであった)

3. SSD増設
   (ipfireのインストールでデバイスをまるまる使うので増設が必要)

ipfireのインストール

一般的な手順にて増設したSSDにインストール

書き込みツール: rufus
ダウンロードサイト: https://www.ipfire.org/

ipfireのsetup

ブートから始める

ローカルドメインネームは何でも良さそう。rootパスワードはコマンドやSSH用、adminパスワードはWebUI用  ファイルシステムはext4を選択する。

初期設定中に次のネットワーク設定に進む。 

ネットワークの最初の設定

初期化中もしくはその後のrootからのsetupコマンドで設定

1. Network configuration type
   Green + Red + Blue を設定。 最初はGreen + Red でしておいと後から変更も可

2. Drivers and card assignments
   MACアドレスでどれがどれか確認しながらGreen, Red, Blueに対してアサインしていく

3. Address settings
   Red, Greenに対して下記ページを参考に設定する
   ( https://wiki.ipfire.org/installation/step5 )

ネットワーク追加設定

1. hostapd addonを導入
   webuiから、Ipfire -> Pakfire と進みhostapd addonをインストール
   参考:https://teklager.se/en/knowledge-base/ipfire-wifi-blue-interface-configuration-instructions/
     :https://wiki.ipfire.org/addons/wireless

2. Blue用のwifiアクセスポイントの設定を行う
   webuiから、Ipfire -> WlanAP

   以下の様に設定していった
   SSID:
   HW Mode: 802.11gn とした。 最初、802.1acで失敗したため。
   HT Caps : [HT40-][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] とした。
         https://wiki.ipfire.org/hardware/networking/mpcie を元に類推して設定

SSHアクセスを可能にする

webuiで、System -> SSH access から、SSH Accessを有効にする。
なお、greenへのSSHアクセスは、blueのgatewayにSSH接続後そこからSSH接続する。

制御用PCからのwebui制御を可能にする

1. DHCPサーバーの設定
   Network -> DHCP Server からIPの範囲 等を設定する
   参考:https://wiki.ipfire.org/addons/wireless

2. blueゾーンにPCを登録する
   Firewall -> Blue Access から、MACアドレスとアサインするIPアドレスを登録する

3. BlueからGreenにアクセス可能にする
   Firewall -> Firewall Rules から、Incoming Firewall Accessの設定する。
   制御用PCのIPアドレスからGreenへのアクセスを許可する
   参考:https://wiki.ipfire.org/configuration/firewall/accesstoblue

サーバーへポート転送を行う

Firewall -> Firewall Rules から転送ルールを設定する
参考:https://wiki.ipfire.org/configuration/firewall/rules/port-forwarding/red_to_server_on_green

その他調整

1. サーバー側のIPアドレスを調節する。
   固定アドレスからDHCPによる設定に変更し、ipfire側からMACアドレスから新しく設定するIPアドレスを割り当てる様にする

2. サーバーのIPアドレスの変更に伴い、apacheの’.httaccess’ファイルでのアクセス制御を調整

3. サーバーのIPアドレス変更に伴い、サーバーへのアクセス用ファイルを調整(例:hosts)

各機を再起動してテストして終了。
次は、firewall機能を設定していく。

以前の設定を忘れていてwordpressにログイン出来なかった。その顛末

トラブル内容

PCが接続しているルーターを変えたところwordpressにログインできなくなってしまった。正確にいうと、wp-admin配下にアクセスする際に403エラーが発生する。

wireguardを外してもだめ。wordpress配下の.htaccessを見直してもダメであった。

判明した原因

セキュリティ強化のため、wp-admin配下にも.htaccessを設置してIPアドレスによるアクセス制限を行っていたのが原因。 新しいルーターに対応したIPアドレスを許可したところ解決。

カテゴリーを選択すると複数表示されるがそこから単独記事表示にできなかったため、単独記事に移れるようにタイトルにリンクを付けた

変更前

archive.phpでタイトル表示部が

<?php the_title();?>

であった。

変更後

<a href="<?php the_permalink();?>"><?php the_title();?></a>

に変更した。

参考にしたサイト

こちらのサイトを参考にさせていただいた
https://programmingnote.jp/archives/82

ロボットによるスパム対策としてSiteGuard WP Pluginを導入した。

背景

スパムであると思われるコメントが多数届く。同じアドレスからもくるのでロボットかと思う。それで、画像認証を導入する事にした

導入したプラグイン

以下のサイトを参考にしてSiteGuard WP Pluginにした

' https://ideasity.biz/si-captcha-anti-spam-captcha-replace

V6プラスだけで自宅サーバーをうまく設定出来なかったのでV6プラス+PPPoE(IPv4)にした。その備忘録である

背景

これまでADSLでinternet接続を行ってきていたがADSLサービス停止に伴い、光回線に変更した。V6プラス接続である。しかし自宅サーバーにてwordpressを運用していたが、V6プラスだとポート番号に制限があるため、デフォールトのままだとwordpress運用をあきらめざるを得なかった。そこで、いろいろ試して最終的にPPPoE(IPv4)接続もできる様にした。

失敗1 IPv6でサーバーに到達できず

 onu(prs300se)で、ipv6フィルタリングで透過が許可されていなくて出来なかった。これは、PR-S300SEのセキュリティーログで判明。 prs300seのIPv6フィルタリング設定で透過できる様にした。
(※最終形態では不要となった)

また、サーバーのファイアーウォールでIPv6からの受信を規制していたので必要分は開ける。

失敗2 インターネットに接続できず。

フィルタリング、最後の行ではあるがanyでtcpのinを拒否していたのがだめだった。この部分を削除したら、着信できた。

失敗3 wordpressがポート番号指定でうまく動作せず

ネットで調べて絶対パスから相対パスに変えてみたところ、画像表示は出来た。しかし、どうしてもリンクのところがうまくいかない。  結局、固定IPサービスを購入する事にした。

失敗4 pppoe(固定IP)にしても着信できず。


  ipv4フィルタリング以外にnatエントリーの設定が必要であった

最終形態 V6プラス+pppoe(ipv4)で接続成功

最終的に以下の設定で接続できた

構成イメージ図
  • v6プラスのメイン(ユーザーA)以外に、固定ip(pppoe(ipv4))(ユーザーB)を用意する。
  • hubを用意する
  • hubにNTTからのルーター機能付きonu(prs300se)と、v6プラス用ルーター(プロバイダーからレンタルされたもの:ルーターA)と元からあったipv6対応ルーター(ルーターB)を接続する。
  • ルーターAをV6プラスの接続に設定する(ユーザーAで接続される)
  • ルーターBをpppoeルーターとする。接続先は、ユーザーBで設定する。

動作がおかしいときは、変更したONUやルーターを再起動してみる

参考:機器構成

  • ONU   : PRS300SE
  • ルーターA: Aterm WG2600HS2 (プロバイダーかNTTから送られてきた)
  • ルーターB: TP-LINK Archer c80 (安価なIPV6対応ルーターなので選んだ)
  • HUB : Elecom EHC-G05PA2-W (安価で、かつGbit対応だったので選んだ)

※ lanケーブルは全てカテゴリー5E以上にした。カテゴリー5は100Mbpsまで。
  その他注意:ipv4フィルタリングとnatエントリーを確認

WordPress上で数式をきれいに表示するためにmathjax-latexプラグインを導入したので備忘録として残す。なお、cdnを使わない方法を採用した。

node.jsとnpmをインストール

mathjaxをnpmを使ってインストールする方法の場合に必要。

sudo apt update
sudo apt upgrade
sudo apt install nodejs npm
node -v
npm -v
sudo npm install -g n
sudo n stable
sudo apt purge nodejs npm
exec $SHELL -l
node -v
npm -v

この手順は、「nodejs、npm の最新版をインストールする(Ubuntu)」を使わせていただいた。

mathjaxのインストール

npm install mathjax@3
sudo mv node_modules/mathjax/es5 /var/www/html/mathjax

これは、[ Hosting Your Own Copy of MathJax ] によるもの

プラグインの導入

mathjax-latex プラグインをインストールし有効化する。

設定においては、以下の様に設定した。

Use MathJax CDN Service ?           チェックを外した
Custom MathJax location?            https://mydomain/mathjax/tex-chtml.js   

Save changes をクリックする。  
理由不明だが、外したチェックが復活してしまう。 なんどかやっていたり、動くか試しているうちにどのときか不明だが成功した。

試してみる

例えば、

\(y=f(x)\)

と、入力すると、下記の様に数式が表示された。 一応成功とする。


\(y=f(x)\)

V-antena and Tanimoto's page

あなたはIPv4でアクセスしています