パスワードの扱いについて、中学の技術・家庭ではどう教えることになっているのだろう?

4 月頃になって、急に話題になった「パスワード定期変更不要論」ですが、

総務省は「国民のための情報セキュリティサイト」で昨年11月、パスワード流出やアカウントの乗っ取りなどがなければ「定期的な変更は不要」と記載を改めた。従来はパスワードの定期的な変更を求める内容だった。

[From ヤフーがパスワードの定期変更求める記載削除へ 総務省も「安全なもの」前提呼びかけ - ITmedia NEWS]

中学校では、パスワードに関する扱いを、どういうふうに教えることになっているんだろう?というのが気になって、息子が使っている技術・家庭の教科書を見せてもらったら、

注意点に「定期的にパスワードを変更する」という記述が。
まぁ、発行のタイミングもあるんで仕方がないのだろうなというのもわかるので、このあたりはガチガチに教科書通りに教えるのではなく、社会のトレンドにに合わせて指導していってもらえればと思うわけです。

息子の使っている教科書と違う会社のものだと、どうなってるんだろう?

教科書そのものは、複数の会社で発行しているので、「じゃあ、会社が変わると、どう変わるんだろう?」というのも気になって、発行されている教科書全てを閲覧できるところはないかと探してみると、いくつか存在しているを見つけた。

チャイルドフィルターを信用することが出来ない、いくつかの理由

サイバーセキュリティ財団が運営するサービスであるチャイルドフィルター、前のエントリも含めて何度か取り上げているわけですが、自分的に最も信用ならない点をまとめてみました。

チャイルドフィルターには、そもそも仕組み的な疑念点があるので、その点についても判りやすくまとめておきたいな、とは思うのですが…。

[From チャイルドフィルターとあんしんフィルター for ✕✕を比較してみた - Soukaku's HENA-CHOKO Blog]

「ソフトウェア」ではなく「サービス」である

サイバーセキュリティ財団は、チャイルドフィルターのことを「ソフトウェア」と説明しています。
しかし、実際にはソフトウェアはインストールさせることはなく、CSF が指定するVPNサーバと接続するための設定用プロファイルを読み込ませることで、 CSFの用意した VPN サーバと iPhoine/iPad の間でVPN 接続を行い、その VPN セッションを経由してプロキシーサーバを利用させる「サービス」というのが実態ですから、まずチャイルドフィルターの説明が実態と齟齬のある状態になっています。

VPN 接続であるゆえの懸念事項

VPN (Virtual Private Network) は、公衆網である Internet の上に通信路に対する暗号化を行い、擬似的な専用線接続環境を構築する技術です。外出先のネットワークを経由してノート PC から社内システムへ安全にアクセス出来るようにする、離れた拠点間でデータ送受信するのをインターネット経由で安全に行いたいといった場合に、そのノート PC と社内システムの間や拠点間の通信路の安全性を確保するために利用されることが多いものです。
実際、外出先から社内システムに接続するために VPN を利用しているという人は多いんじゃないでしょうか?

チャイルドフィルターとあんしんフィルター for ✕✕を比較してみた

1 年ほど前に書いた以下のエントリー。

なにしろ、現時点でチャイルドフィルターに関して提供されている情報は、Web にある説明ページが一つとマニュアルの PDF と利用規約の PDF だけ。HTTP/HTTPS の扱いもよく判らないブラックボックスなのに、 HTTP/HTTPS 以外の通信がどう扱われるのかは、まったく闇の中…。

[From ボクがチャイルドフィルターをオススメしない理由 - Soukaku's HENA-CHOKO Blog]

このところ、アクセス増えてるなぁ〜と思って、確認してみたら、

やっぱり、有意に増えている。
入学式や新学期を控えて、子供にスマホもたせようと考えている方々が、検索結果から辿りつたいのかしら?なんて思ってるんですが、そういやキャリアの提供しているフィルタリングサービスと、チャイルドフィルターの機能比較はやってなかったなぁ、ということでまとめてみた。

havp を我が家の Web アクセスの経路に組み込んでみた

ということで、前エントリーからの続き。

我が家のネットワーク環境については、さらにちょっと前のエントリーで既出なわけですが

我が家のネットワーク構成概要 2017/12/16版

概略としては上の図の通りで、 Web アクセスの流れだけを抜き出してみたのが、下の図。

Webアクセス時の経路

まぁ、まんまこの図の通り、家中の PC やスマホからの Web アクセスを内部サーバ上で動いている Squid に集約して、更にそれを VyOS で有効にした webproxy (これも Squid なわけだが)を上位プロキシにしている、というわけ。
で、内部サーバで動いてる Squid 周りの設定を変更して、インストール済みの havp を更に挟み込む、というのが今回の内容。

HAVP (HTTP Anti Virus Proxy) を利用してWebアクセスにもアンチウィルス

多分、自分が見落としていただけなのだと思うのだけど、 Web アクセス時のアンチウィルスを実現するためのものとして、 HAVP というのがあるのに気がついた。

Short Description

HAVP (HTTP Antivirus Proxy) is a HTTP proxy with an antivirus scanner. It supports the free ClamAV , but also commercial solutions e.g. Kaspersky, Sophos and F-Prot.

[From HAVP – HTTP Anti Virus Proxy – The Free HTTP Anti Virus Proxy]

プロキシとして機能して、ウィルスチェックについては ClamAV などを呼び出して実行するというもの、だそうで。

「子供たちにネット使わせるには、Web アクセスのタイミングでもウィルスチェックしたほうがいいんだろうなぁ…。」と漠然と考えていたんですが、どう実現させるかというとこまでは至っていなかったので、コレは渡りに船とばかりに試してみた次第。

インストールは、コマンド一発!

インストールはそんなに難しいものではなくて、 Debian の場合( jessie 以降)であればコマンドラインから "aptitude install havp" 一発で関連パッケージまで含めてインストール完了。

root@vhost01:~# aptitude install havp
以下の新規パッケージがインストールされます:
clamav{a} clamav-base{a} clamav-freshclam{a} havp libclamav7{a}
更新: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
アーカイブの 2,100 kB を取得する必要があります。展開後に 4,666 kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]
取得: 1 http://debian-mirror.sakura.ne.jp/debian sid/main amd64 libclamav7 amd64 0.99.3~beta1+dfsg-4 [936 kB]
取得: 2 http://debian-mirror.sakura.ne.jp/debian stable/main amd64 havp amd64 0.92a-4+b2 [135 kB]
取得: 3 http://debian-mirror.sakura.ne.jp/debian sid/main amd64 clamav-base all 0.99.3~beta1+dfsg-4 [303 kB]
取得: 4 http://debian-mirror.sakura.ne.jp/debian sid/main amd64 clamav-freshclam amd64 0.99.3~beta1+dfsg-4 [362 kB]
取得: 5 http://debian-mirror.sakura.ne.jp/debian sid/main amd64 clamav amd64 0.99.3~beta1+dfsg-4 [364 kB]
2,100 kB を 0秒 秒で取得しました (3,778 kB/s)
パッケージを事前設定しています ...
以前に未選択のパッケージ libclamav7:amd64 を選択しています。
(データベースを読み込んでいます ... 現在 381379 個のファイルとディレクトリがインストールされています。)
.../libclamav7_0.99.3~beta1+dfsg-4_amd64.deb を展開する準備をしています ...
libclamav7:amd64 (0.99.3~beta1+dfsg-4) を展開しています...
.../havp_0.92a-4+b2_amd64.deb を展開する準備をしています ...
havp (0.92a-4+b2) を展開しています...
以前に未選択のパッケージ clamav-base を選択しています。
.../clamav-base_0.99.3~beta1+dfsg-4_all.deb を展開する準備をしています ...
clamav-base (0.99.3~beta1+dfsg-4) を展開しています...
以前に未選択のパッケージ clamav-freshclam を選択しています。
.../clamav-freshclam_0.99.3~beta1+dfsg-4_amd64.deb を展開する準備をしています ...
clamav-freshclam (0.99.3~beta1+dfsg-4) を展開しています...
以前に未選択のパッケージ clamav を選択しています。
.../clamav_0.99.3~beta1+dfsg-4_amd64.deb を展開する準備をしています ...
clamav (0.99.3~beta1+dfsg-4) を展開しています...
clamav-base (0.99.3~beta1+dfsg-4) を設定しています ...
libclamav7:amd64 (0.99.3~beta1+dfsg-4) を設定しています ...
libc-bin (2.25-6) のトリガを処理しています ...
havp (0.92a-4+b2) を設定しています ...
グループ `havp' (グループ ID 138) を追加しています...
完了。
There is already /var/lib/havp/havp.loop, maybe from an earlier or custom installation, not building loopback-device
Job for havp.service failed because the control process exited with error code.
See "systemctl status havp.service" and "journalctl -xe" for details.
invoke-rc.d: initscript havp, action "start" failed.
● havp.service - LSB: HAVP virus-scanning HTTP proxy
Loaded: loaded (/etc/init.d/havp; generated; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-01-03 15:49:19 JST; 14ms ago
Docs: man:systemd-sysv-generator(8)
Process: 26029 ExecStart=/etc/init.d/havp start (code=exited, status=1/FAILURE)

1月 03 15:49:19 vhost01 systemd[1]: Starting LSB: HAVP virus-scanning HTTP proxy...
1月 03 15:49:19 vhost01 havp[26029]: Cleaning up /var/spool/havp... done
1月 03 15:49:19 vhost01 havp[26029]: Starting havp: Starting HAVP Version: 0.92
1月 03 15:49:19 vhost01 havp[26029]: LibClamAV Error: cli_loaddbdir(): No supported database files found in /var/lib/clamav
1月 03 15:49:19 vhost01 havp[26029]: One or more scanners failed to initialize!
1月 03 15:49:19 vhost01 havp[26029]: Check errorlog for errors.
1月 03 15:49:19 vhost01 havp[26029]: Exiting..
1月 03 15:49:19 vhost01 systemd[1]: havp.service: Control process exited, code=exited status=1
1月 03 15:49:19 vhost01 systemd[1]: havp.service: Failed with result 'exit-code'.
1月 03 15:49:19 vhost01 systemd[1]: Failed to start LSB: HAVP virus-scanning HTTP proxy.
E: Error starting service (could be due to port 8080 already in use), ignoring...
systemd (236-2) のトリガを処理しています ...
man-db (2.7.6.1-4) のトリガを処理しています ...
clamav-freshclam (0.99.3~beta1+dfsg-4) を設定しています ...
Created symlink /etc/systemd/system/multi-user.target.wants/clamav-freshclam.service → /lib/systemd/system/clamav-freshclam.service.
clamav (0.99.3~beta1+dfsg-4) を設定しています ...
systemd (236-2) のトリガを処理しています ...

と、インストール時に表示されるメッセージ、 havp のインストール後の起動のところで、エラーが出ている。

AppArmor に蹴躓く

11 月末ぐらいから、 bind9 のログが出力できないとか統計情報のファイルが作れないという状況になっていたのですが…。
ログに関しては syslog 経由で出すように設定変えて凌いだんですが、統計情報( rndc stats で出力されるやつ)が出力できないのが正常にならなくて、「 bind の設定いじってないのに、なんででなくなった?」と悩んでいたわけです。

で、今日。ふと思い立って出力ファイル名である named.stats をキーにして、/varlog/syslog に grep を実行してみたところ…。

Dec  6 10:20:14 nexus01 kernel: [927197.495080] audit: type=1400 audit(1512523214.458:3455): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/named.stats" pid=13306 comm="named" requested_mask="ac" denied_mask="ac" fsuid=109 ouid=109
Dec 6 10:25:01 nexus01 kernel: [927484.822757] audit: type=1400 audit(1512523501.782:3456): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/named.stats" pid=13306 comm="named" requested_mask="ac" denied_mask="ac" fsuid=109 ouid=109

apparmor って、コレかよ、原因は…。 orz

「何かの依存関係で、インストールされてたなぁ…」というのは、微かに記憶の片隅にあったのだけど、これが原因になっていたとは、予想だにせず。
パッケージのインストールログ( /var/log/aptitude )を漁ってみたら、確かにインストールしてるし、bind のログ出力周りがおかしくなったタイミングとインストールした日時が、ほぼ合致しているので、間違いなく AppArmor をインストールしたことの影響だったようです。

Aptitude 0.8.10: log report
Fri, Nov 24 2017 14:42:09 +0900

IMPORTANT: this log only lists intended actions; actions which fail
due to dpkg problems may not be completed.

Will install 8 packages, and remove 0 packages.
252 MB of disk space will be used
========================================
[HOLD, DEPENDENCIES] openssl:amd64 1.1.0f-5
[HOLD] libssl1.1:amd64 1.1.0f-3
[INSTALL] apparmor:amd64 2.11.1-3
[INSTALL] linux-compiler-gcc-7-x86:amd64 4.14-1~exp1
[INSTALL] linux-headers-4.14.0-trunk-amd64:amd64 4.14-1~exp1
[INSTALL] linux-headers-4.14.0-trunk-common:amd64 4.14-1~exp1
[INSTALL] linux-image-4.14.0-trunk-amd64:amd64 4.14-1~exp1
[INSTALL] linux-kbuild-4.14:amd64 4.14-1~exp1
[UPGRADE] libmariadbclient18:amd64 1:10.1.29-5 -> 1:10.1.29-6
[UPGRADE] mariadb-common:amd64 1:10.1.29-5 -> 1:10.1.29-6
========================================

Log complete.

===============================================================================

# bind9 側に何か変更があった?と思って調べてたんだけど、そちらは全部ハズレだったよ。

Rspamd の設定を細かくやってみる - 力技で正規表現フィルタリング

正規表現でのフィルタリング、「一応」出来るようになったので、メモとして残しておく。

modules.d ディレクトリの中を見ると、 SpamAssassin と連携するための spammassassin.conf や メールヘッダや本文中の文字列を正規表現で引っ掛けるための regexp.conf といったものがあるので、このあたりを使いこなせれば更に検知精度が上げられそうです。正規表現での検知は、実際には Rspamd デフォルトのものが有効化されているので、使われていないわけではないんですけど。

[From Rspamd の設定を細かくやってみる - Soukaku's HENA-CHOKO Blog]

但し、「正しい」方法ではないので、参考にしたいという方は、その点自己責任でお願いします。

本来の「正しい」設定方法

/etc/rspamd/local.d/regexp.conf というファイルを作って、そこにブロックしたいメールのヘッダ情報から、フィルタしたい条件を正規表現で記述します。

nexus01:/etc/rspamd# more local.d/regexp.conf
--
config['regexp']['RECEIVED_worldstream'] = {
re = 'Received=/ customer\\.worldstream\\.nl/i',
score = 2.5,
group = 'header'
}

--
config['regexp']['RECEIVED_93034net'] = {
re = 'Reveived=/\\.93034\\.net/i',
score = 2.5,
group ='header'
}

それが終わったら、rspamadm コマンド使って、フィルタしたい内容が認識されているところ確認して〜、と書きたいところなんですが、これが上手くいかない。
ドキュメント通りに設定書いてるのに、local.d/regexp.conf の記述内容が反映されない…。反映されなので、正しく記述できているのかもわからないという困った状況に陥ってしまいました。

サイバーセキュリティ財団の ZERO DAY を読んでみた

「大手書店、コンビニで発売中」と謳っているにも関わらず、東京だと Amazon 以外での入手経路のないサイバーセキュリティ財団の ZERO DAY 。遅ればせながら入手したんで、読んでみて感じたことなど。

自分的に気になったのは、Capter03 で取り上げられている WordPress の脆弱性について。
WordPress のインストールから、実際にページの不正な書き換え手法についてまでが書かれているわけですが、そのパートの最後のほうに


また、このグループ名で検索するとまだ書き換えられたことに気づかず放置されているサイトが見受けられます。被害サイトは日本のサイトもまだ多く含まれます。

とか、対応策として

WordPressのバージョンを最新のバージョンへアップデートを行ってください。

という記述があるんですがね…。
財団メンバーのサイトが、記事に記載されている手法でと思われる改竄被害を受けていた上に、

未対策なままサイトが再公開されて、再び改竄されるという被害を受けていたのを見つけてしまった自分としては、「ZERO DAY に書いたことすら、財団メンバーのサイトで実践出来てないのかよ…。」と微妙な気持ちになるわけですが…。(ちなみに、 Capter03 を書いたのは、財団理事の一人である田口氏…。)

Apple だけじゃなく Microsoft を騙るフィッシングメールも来ましたよ

相も変わらず、アカウントやクレジットカード情報狙いと思われるフィッシングメールが、流れてくるんですけど、最近多いのは Apple を騙ったもののようですね。

トレンドマイクロ株式会社は25日、Appleをかたるフィッシングメールが6月ごろから継続して確認されているとして注意喚起を行った。

[From 継続して出回るAppleの偽メール・6つの件名バリエーション、偽サイトへ誘導し、個人情報を根こそぎ窃取 -INTERNET Watch]

実際に、ボクも何通か受け取りましたけど、

  • あなたのApple IDはロックされます
  • AppIelD 情報が更新されました。
  • リマインダー: 最近アカウントが不明なデバイスからサインインされました!
  • iCloudの異常なサインインアクティビティ
  • アラート:АppleIDは、認識されていないデバイスからiCloudにサインインされました。

こんな感じの Subject のやつでした。
中には、宛先に 100 個ぐらいメールアドレスが羅列されてたのがあったりして、「そりゃ流石に怪しいだろ」ってわかると思うんですけど、タイトルだけで騙されちゃう人が一定数いるから、一向にこの手もメールも減らないんだろうなぁ、と思うわけです。利用者が賢くなれば、それに合わせて更に裏を掻こうとしてくるんで、イタチごっこも続くんですけどね…。

んで、本題は Apple ではなくて、 Microsoft を騙ったフィッシングメールのこと。

"Rspamd 1.6.0 has been released" ということなので

あまり周りで使っているという話を聞かない、 Rspamd ですが、1.6 のリリースがアナウンスされておりました。

Today, we release the new major version 1.6.0 of Rspamd. The most significant change in this version is the addition of Milter protocol support in Rspamd.

[From Rspamd 1.6.0 has been released]

実際は、アナウンスよりも先に、パッケージがアップデートされたので気がついたんですけど。

で、 1.6 から、rmilter の利用が非推奨(使えないわけではないが)となり、その代わりに Rspamd Proxy を利用して、 MTA との milter 接続を行うように変更されています。

The introduction of this feature also finally obsoletes the Rmilter project in honor of the new integration method.

[From Rspamd 1.6.0 has been released]

ということで、設定を一部変更してみた。

Rspamd 側は、 /etc/rspamd/local.d/worker-proxy.inc を、次のように。

milter = yes;	# enable milter mode
timeout = 120s;

#upstream "local" {
# default = yes;
# self_scan = yes;
#}

upstream "scan" {
default = yes;
hosts = "round-robin:127.0.0.1:11333:10";
# compression = yes;
}

この場合だと、ローカルで稼働する Rspamd でスキャンするようになってます。 "hosts" に Rspamd の稼働するサーバを複数羅列すると負荷分散が出来るようですが、自分のとこはそこまでは必要ないので、その設定はしてないです。
で、 Rspamd 自身を再起動して、正しく起動できれば、OK。