makoto_fujimotoのblog

株式会社進角
代表 藤本信のブログです
どうぞよろしくお願いします

image1
2015東京モーターショー関連の開発も無事に終わり、少し時間があったので前から気になっていたラズベリーパイ(Raspberry Pi)を検証してみました。ラズベリーパイの詳細は割愛しますが、ホビー、教育、試作用途向けの安価なマイクロPCです。

まだ検証途中ですが以下のような状況です。

済 シリアル通信(USBシリアルケーブル) /dev/ttyUSB0として認識
済 Ethernet拡張(USB-Ethernetケーブル)
済 動画再生(mp4) omxplayerで実用レベル
済 USBカメラ ロジクール製 自動認識
済 ストリーム配信 mjpg-streamerで検証 320x240 10fならLANで遅延0.5s以下
済 httpdとCGI(perl Device::SerialPort)を経由してシリアル(RS232C)通信
済 I/O(GPIO)の検証 python 出力はテスターで確認済。入力は抵抗が必要で未検証
× Flash再生 gnashで検証 遅すぎて使い物にならない
× HTML5再生(youtube) 全画面にすると5フレ程度しか描画できない
未 Wi-Fi
未 プリンタ印刷
未 バーコードリーダー制御
未 データ通信モジュール(USBドングル) wvdial
未 カメラによるQRコードリーダー

マイクロPC分野は以前からPlathome社などが自社製品を販売していたり、また組込デバイスにOSを搭載しTCP/IPスタックが使用できる"部品"があります。したがってラズベリーパイの優位性は基本的に低価格しかないのですが、話題性があるので数多くの開発者がミドルウェアやアプリケーションの移植を行ってくれたことで使いやすくなっています。

弊社として考えられるIoT製品例は以下のようなものがあります

[安価な]ネットワークデジタルサイネージ
[安価な]バーコード入退室管理デバイス
[安価な]自動車の逆走検知装置
[安価な]環境観測デバイス
[安価な]アミューズメント機のネットワーク化
[安価な]電源コントローラー
[安価な]I/Oコントローラー
[安価な]既存家電のIoT化(赤外線リモコン操作をネット化)
安いのでとにかく大量に使用して何かするw

なかなか既成品に無いものが思い浮かばないのですが、Webエンジニアがハードウェアに触れやすくなり、またあらゆる製造業とITの接点になる機会としてラズベリーパイは有効なのではないでしょうか。

Apacheのconf設定でIPアドレスによるアクセス制限を行うとステータス403が返ります。これをURLの存在を分からなくする為に404として返す必要があったのですが少し難しかったのでメモを残しておきます。

<Directory "/var/www/html">
    AllowOverride All
    Options -Indexes FollowSymLinks
    Order deny,allow
    deny from all
    allow from ***.***.***.***
</Directory>

#上記で拒否された403を404に書き換え
ErrorDocument 403 /403.html  #実態は不要
ErrorDocument 404 /404.html  #Not Foundページを用意
<Location ~ "/40(3|4).html">
    Order allow,deny
    allow from all
</Location>
RewriteEngine on
RewriteRule /403.html - [R=404,L]

ちなみに最近は.htaccessファイルを使用してカジュアルにアクセス制限やURLの書き換えを行うことが多いのですが、FTPアカウントなどで簡単に変更ができてしまうので、セキュリティに関わる設定は静的なconfファイルに記述することをお勧めします。

2015年5月、日本年金機構が標的型メール攻撃を受け、職員のPCが不正操作されてファイルサーバーに保管していた約125万件の年金情報が漏洩したとのことです。捜査が進むにつれ攻撃者のアドレスがフリーメールだったとか、添付書類の拡張子が"exe"なのにうかつに開いてしまったというお粗末な運用実態も次々に明るみになっています。

年金機構は当然セキュリティ対策としてウィルスチェックソフトを運用していたと思われますが、標的型メールは独自にカスタマイズされていることが多いのでウィルスパターンをすり抜けて検知されないことがあるようです。

今回のようにウィルスチェックを通過してしまう可能性のある標的型メールを水際で防ぐために、Postfixメールサーバーの設定だけで比較的簡単にできる対策を4つまとめました。
(1) 送・受信容量制限を行う
(2) 偽証の元になる差出人名をフィルタして元のメアドのみ表示させる
(3) 本文内のURLをフィルタリングして非リンク化
(4) 添付ファイルの送・受信を禁止する

具体的な設定方法はこちらになりますが、実用レベルでは未検証ですので各自の責任においてお試しください。

(1) 送・受信容量制限を行う

ウィルスソフトを送りつけられるリスクを軽減するために必要最小限の容量に制限します。また盗まれた情報を外部に大量送信することを防ぐ効果もあります。

a. /etc/postfix/main.cfを編集
以下の設定を追加
------------------------------------------
message_size_limit = 102400
------------------------------------------
※単位はバイト数になりますが、通常のテキストメールのやり取りであれば100k程度で済むのでは?デフォルトでは10MByteに設定されています。

b. サービスの再起動
# service postfix reload

(2) 成りすました差出人名をフィルタして元のメアドのみ表示させる

差出人名は容易に成りすましが可能で気が付きにくいので、メールソフトがメールアドレスを直接表示するようにフィルタリング処理を行います。
From: 藤本 信 <jt85do34903h7@yahoo.com>

From: jt85do34903h7@yahoo.com

a. /etc/postfix/main.cfを編集
メールのヘッダ部分をチェックする設定ファイルを記述
------------------------------------------
header_checks = regexp:/etc/postfix/header_checks.regexp
------------------------------------------

b. /etc/postfix/header_checks.regexpを編集
------------------------------------------
/(^From: ).*<(.*)>/ REPLACE $1$2
------------------------------------------

c. サービスの再起動
# service postfix reload

(3) 本文内のURLをフィルタリングして非リンク化

メール本文内にあるURLをうかつにクリックしないように非リンク化させます。
http://www.yahoo.jp → ttp://www.yahoo.co.jp
https://www.yahoo.jp → ttps://www.yahoo.co.jp
また注意を促す文字列を挿入することもできます。
https://www.yahoo.jp → [クリック注意]https://www.yahoo.co.jp

a. /etc/postfix/main.cfを編集
メールの本文をチェックする設定ファイルを記述
------------------------------------------
body_checks = regexp:/etc/postfix/body_checks.regexp
------------------------------------------

b. /etc/postfix/body_checks.regexpを編集
------------------------------------------
/^(.*)http:(.*)/ REPLACE ${1}ttp:${2}
/^(.*)https:(.*)/ REPLACE ${1}ttps:${2}
------------------------------------------
※やや甘いので改良の余地ありです

c. サービスの再起動
# service postfix reload

(4) 添付ファイルの送・受信を禁止する

業務やサービス運営に支障が無ければ特定の添付ファイルを除外することも可能です。

拡張子のタイプを判別して除外する場合
a. /etc/postfix/header_checks.regexpを編集(複数行の設定も可能)
------------------------------------------
/name=\".*\.(exe|vbs|pif|sh|com|bat|scr|dll|wsh|cab|inf|ins|hlp|hta|js|vb|lnk|cmd|chm|cpl|msi|wsf|reg|vbe|wsc )"/ REJECT
------------------------------------------
※ファイル名に日本語が含まれていた場合に検知できるか未確認です

b. サービスの再起動
# service postfix reload

このページのトップヘ