[IPFire] IPFireで、IPS 構築時のメモ

在宅勤務はセキュリティーも考慮しないとダメだと思いますね。

特に怖いなと感じてるのは、家庭内のネットワーク内に汚染された端末があったらゾッとします。

サポートの切れたOS、怪しいメールやサイトを開いてないか家族全員の行動を確認するのは不可能なので、家庭内のネットワークにIPSを入れることにしました。

IPFire を入れた端末を、プロバイダからレンタルされたルータ/モデムと自分で用意したルータとの間に入れて、ISPのルータからは接続せずに、用意したルータ経由でネットワークを利用することにしました。

インターネット <--> プロバイダルータ <--> IPFire <--> 用意したルータ <--> PC / スマホ

これにより、IPFire が Firewall と IPS でネットワークの監視ができます。

しかし、問題が発生。なぜかIPFrei の IPSが動かない。その時の対処方法を記載します。

Enable Intrusion Prevention System が表示されない

WEB の管理画面のメニュー Firewall -> Intrusion Prevention と進むと以下の画面が表示される。

IPFire IPS Enable Intrusion Prevention System が表示されない

本来は、

Enable Intrusion Prevention System が表示される

このような画面が表示される。

Ruleset Settings を一度 Save して、Rule の設定をDownload してこないといけないとの記事を見て、Save を押すがError が返ってくる。

仕方なく、SSH で /var/log/messages を確認してみると、Rule を取得するホストに接続できてない見たい。
しかし、そのホストはIPFireを経由したPCからは普通に見れる。

どうやら問題は、IPFire の DNS の設定が悪かった。

DNS の設定を直す

WEB の管理画面の Network -> Domain Name System を開くと、Status が Broken となっていた。

Use ISP-assigned DNS server のチェックを外したら、Status が、Working に変わった。

Status:WorkingとなりDNSが動いてる

再び、
WEB の管理画面のメニュー Firewall -> Intrusion Prevention に進み、Ruleset を選択して、Save を押下したら、

IPFire IPS Enable Intrusion Prevention System が表示された

他のサイトでよく出てくる説明の画面に切り替わった。

IPS の Daemon が STOP のまま

他のサイトなどを見たなら、Ruleset を Daily -> Weekly にしてSave したり、Enable Intrusion Prevetion System のOn / Off を繰り替えてしても RUNNING に変わらない。

仕方なく、再び console にログイン。色々と試すが結果を先に言うと
/var/ipfire/ids-functions.pl
に問題があった。

ソースをgithubで見てみると最新版では問題が解決されていた。
変更履歴
今のバージョンは、IPFire 2.25 Core Update 144 で、これより上の物はもう解決されていると思う。
手動で修復するならば、
/var/ipfire/ids-functions.pl の L680あたりの

の部分を、消して

に変更すれば良い。

そして、無事にIPFireのIPSは動きました。




[softeher] ARM系のCPUのSoC搭載SBCで、ソースからsofteherをビルド

covid-19 こと、新型コロナウィルスのお陰様でリモートで仕事すること多いと思います。

ゼロトラストなどと、VPNなんて古いって言われるかもしれませんが小規模な会社ではコスパが良い選択肢です。

会社にあった、NanoPI M4 というなかなか高性能なSoC搭載のSingle Board Computer に SoftEherを入れた時のエラーについてです。

構築方法の詳細については、別の記事に記載しようかと思います。

エラー内容

make 時に以下のエラー

-m64 は、インテルの64bit用の命令を使ってコンパイルする命令。今回は、ARM系のcpuなのでこのオプションは使えない。

./configure で作成された、Makefile ファイルを直接いじって-m64とい部分を全て削除か、
一番近そうなオプションで、cpuの種類を指定する。
NanoPI M4なら
-march=armv8-a+crypto+crc

Makefile は以下のように編集した
$ diff Makefile.org Makefile

-m64 を、-march=armv8-a+crypto+crc に変更した。