2014-01-09

[.tested] SquidGuardによるURLフィルタリング [Debian Wheezy][AX3][A7]


前回の記事において、ClamAVによるアンチウィルスゲートウェイの構築方法をご紹介しました。
今回は、この環境にURLフィルタリングの機能として、SquidGuardを導入します。

 SquidGuard:

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40

1.事前準備

squid3などの環境は、前回の記事をご参照下さい。
今回は、前回の環境の上に追加で設定しています。

[.tested] Clam AntiVirusによるWebフィルタリング [Debian Wheezy][AX3][A7]

2.SquidGuardのインストールと設定


squidguardをdebianのパッケージよりインストールします。

# aptitude install squidguard

ドメイン、URLリストの用意

ブロックしたいURL、パスしたいURLをドメイン毎および、URL指定により設定します。
blacklistに関しては、国内においてフリーでメンテナンスされているものは、おそらくありません。
このソリューションを利用する場合、国内サイトのURL/ドメインリストは自身で管理する必要があります。
海外のサイトに関しては、SquidGuardのページからもリンクされていますが、個人使用に限り、無償で提供されるリストがありますので、海外のポルノサイトやスパムサイトなどをある程度ブロックできるのではないかと思います。
今回は、 Shalla Secure Services からblacklistを取得しました。
必要なリストだけを展開すればいいのですが、今回は全て取得しています。

# wget http://www.shallalist.de/Downloads/shallalist.tar.gz
# tar xvzf shallalist.tar.gz
# cp -R BL /var/lib/squidguard/db

/var/lib/squidguard/db/BLの下に全てのカテゴリのデータが展開されていますので、必要なものを使用して下さい。
また、自身で管理するリストの作成は、 /var/lib/squidguard/dbの下に別のディレクトリを作成して管理します。
たとえば、denyというディレクトリを作成し、以下の様に、domainsとurlsというテキストファイルを作成します。

# ls -la deny
total 32
drwxr-xr-x 2 proxy proxy 4096 Jan  8 17:20 .
drwxr-xr-x 4 proxy proxy 4096 Jan  7 17:08 ..
-rw-r--r-- 1 proxy proxy   73 Jan  8 17:20 domains
-rw-r--r-- 1 proxy proxy   32 Dec 26 17:55 urls

それぞれ、domain名またはurlを列記したテキストファイルとなります。

squidGuard.confの設定

時間でのアクセス制限なども可能ですが、今回は、最もシンプルな記述をしています。
badが自身で管理するブラックリスト、pornが、上記のサイトより取得したポルノサイトのブラックリストです。localnetはこちらの環境のIPアドレスを記述していますので、ネットワーク環境に合わせて変更して下さい。

# cat squidGuard.conf
#
# CONFIG FILE FOR SQUIDGUARD
#
# Caution: do NOT use comments inside { }
#

dbhome /var/lib/squidguard/db
logdir /var/log/squidguard

#
# SOURCE ADDRESSES:
#

src localnet {
        ip      192.168.3.0/24
}

#
# DESTINATION CLASSES:
#

dest good {
}

dest bad {
        domainlist      deny/domains
        urllist         deny/urls
}

dest porn {
        domainlist      BL/porn/domains
        urllist         BL/porn/urls
}

#
# ACL RULES:
#

acl {
        localnet {
                pass good !bad !porn
        }
        default {
                pass none
                redirect http://192.168.3.103/cgi-bin/squidGuard-simple.cgi?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u
                log /var/log/squidguard/block.log
        }
}

redirectの記述は、該当するアドレスのリクエストを受け取った時に、警告ページへリダイレクトする設定であり、cgiスクリプトとして、squidguardパッケージに付属するサンプルを若干修正しています。 警告表示のためのサーバが必要ですが、前回設定したsquidclamav用のapache2環境を使用しています。

# cd /usr/share/doc/squidguard/examples/
# gunzip squidGuard-simple-de.cgi.gz
# cp squidGuard-simple-de.cgi.gz /usr/lib/cgi-bin/

そのままでも動作はしますが、squidguardのロゴファイルを、
http://www.squidguard.org/Logos/squidGuard.gif
に変更しています。

dbファイルは、Berkeley DB形式に変更する必要があります。

全てを更新する場合:
# squidGuard -C all

変更したカテゴリだけを変更する場合:
# squidGuard -C /var/lib/squidguard/db/deny

更新後、dbファイルのユーザ、グループを変更します。

# chown -R proxy /var/lib/squidguard/db/
# chgrp -R proxy /var/lib/squidguard/db/

3.squid3の設定


squidguardは、squidclamavの設定から呼び出すことも可能ですが、squid3側で設定することをお勧めします。

/etc/squid3/squid.confに以下の行を追加します。該当のオプションがある部分を編集してください。

  :
url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
  :

編集後、squid3の設定のリロードを行います。

# service squid3 reload


4.動作確認


ブロック指定したドメインのwebサイトにアクセスしてみます。



今回は、前回最後に設定した透過型設定であるため、ブラウザ側でのproxy設定は行っていません。

5.Wifi接続によるモバイルデバイスへの対応


Wifi APとして動作させる方法としては、以下の記事を参考にして下さい。
今回はブリッジ設定により同一セグメントとして扱いました。

 [.tested] Logitec LAN-W150NU2 Wheezyパッケージ、新カーネルによるデバイス評価およびAP構築 [Debian Wheezy][AX3][A6]

/etc/network/interfacesのbr0設定に関しては、前回の記事で行った、eth0-eth1ブリッジの設定を変更する必要はありません。wlan0はhostapdが起動時にaddします。

以下、iphone4Sでアクセスした場合のスクリーンショットです。

<テストウィルス検出時>

<URLフィルタリング>

6.さいごに


今回は、squidguardを使用したURLフィルタリング装置の構築を行いました。
同時にWifiAPとして設定することにより、モバイルデバイス向けのWebフィルタリングも行ってみました。

2013-12-20

[.tested] Clam AntiVirusによるWebフィルタリング [Debian Wheezy][AX3][A7]


Clam AntiVirus は、オープンソースで提供されるクロスプラットフォームのアンチウイルスソフトウェアであり、OpenBlocksが採用するDebianにおいてもパッケージが用意されています。

 Clam AntiVirus:

今回、clamav、squid3、squidclamav(+c-icap)による、webアンチウィルスゲートウェイについて、squidを利用した、proxy型構成、および、透過型の構成について、設定の手順を紹介します。


OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40

1.事前準備


squidclamavは最新のパッケージをビルドする必要がありますので、開発環境および、必要なライブラリをあらかじめインストールしておく必要がります。

開発環境のインストール
# aptitude install build-essential

ライブラリのインストール
# aptitude install curl libcurl4-gnutls-dev c-icap libicapapi-dev

2.clamav-daemonのインストールと設定


clamavをdebianのパッケージよりインストールします。


# aptitude installclamav-daemon

パッケージインストールにより、clamdは自動的に立ち上がる設定となりますが、初期化のために、一度手動で立ち上げを行う必要があるようです。

# /etc/init.d/clamav-daemon start

3.squid3のインストールと初期設定


squid3をdebianのパッケージからインストールします。

# aptitude install squid3

まずは、web proxyとして必要な設定を行います。
/etc/squid3/squid.conf の、該当する部分を追加または、コメントを外してください。
今回は、localnetとして、192.168.3.x を設定し、そこに許可を与えています。

  :
acl localnet src 192.168.3.0/24 # local network
  :
http_access allow localnet
  :

一度再起動し、ブラウザよりproxyサーバを指定して動作確認します。

# /etc/init.d\squid3 restart

squidclamavを使用するための、c-icapの設定追加については次項で説明します。

4.squidclamavのインストールと設定


squidclamavを入手します。

 SquidClamav : Securing Web Delivery (antivirus for Squid):


より、最新の6.10を入手しました。

# wget http://sourceforge.net/projects/squidclamav/files/squidclamav/6.10/squidclamav-6.10.tar.gz

解凍し、ビルド、インストール作業を行います。

# tar xvzf squidclamav-6.10.tar.gz
# cd squidclamav-6.10
# ./configure --prefix=/usr/local/c-icap
# make
# make install

警告表示用のコンテンツサーバとして、apache2を使用しています。
新規にインストールする場合は、以下の手順となります。

# aptitude install apache2

squidclamavをビルドした場所より、警告用画面表示のcgiをapache2のデフォルトのcgi-binディレクトリへコピーします。

# cp cgi-bin/clwarn.cgi /usr/lib/cgi-bin

/etc/squidclamav.confを編集し、redirect先を指定します。
サーバのIPアドレスはご使用のものを記述してください。

# tredirect http://192.168.3.103/cgi-bin/clwarn.cgi

5.squid3+c-icapの設定


squid3の追加設定

/etc/squid3/squid.confを編集し、c-icapに対応した以下のパラメータを変更、もしくは追加記述して下さい。

icap_enable on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_preview_enable on
icap_preview_size 1024
icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all

 c-icap関連の設定

/etc/c-icap/c-icap.confに、以下の記述を追加します。

Service squidclamav squidclamav.so

c-icap を自動起動させるため、/etc/default/c-icapを修正します。

START=yes

c-icapおよび、squid3を再起動します。(もしくはreboot)

# /etc/init.d\squid3 restart
# /etc/init.d\c-icap restart

6.proxy型設定での動作確認


テスト用のデータとして、以下のサイトのデータを利用します。

Home ° EICAR - European Expert Group for IT-Security:


テスト用ウィルスをダウンロードすると、以下の警告画面が表示されます。



7.透過型構成への変更


proxyサーバの設定が不要な透過モードでのWebフィルタリングを行う場合は、ブリッジ構成のため、ネットワークポートを複数備えるAX3もしくはA7を使用します。

ブリッジ構成へのネットワーク設定変更

ブリッジの構成のために、bridge-utilsをインストールします。

# aptitude install bridge-utils

/etc/network/interfaces を編集し、eth0、eth1の設定を全てコメントで外し、
br0を設定します。
( 以下の設定はこちらでのテスト環境ですので、ご自身の環境に合わせて変更して下さい)

auto br0
iface br0 inet static
address 192.168.3.103
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.3.1
dns-nameservers 172.16.12.10
bridge_ports eth0 eth1

iptablesによる、ポートの変換設定

ポート80から送出されたリクエストパケットを3128へリダイレクトする設定を行います。

# iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128

/etc/squid3/squid.confを編集します。

http_port 3128 transparent

本装置は、フィルタを行いたいノードのHubの上流へIN-OUTの形で接続してください。

8.さいごに


今回は、clamavを使用したWebフィルタリング装置の構築方法として、proxy型/透過型の最低限必要な設定を行いました。
squidに関しては、URLフィルタリングも比較的簡単に実装出来ますので、別途パフォーマンスのチューニングポイントと合わせてご紹介します。

2013-12-12

[.tested] TI CC2541 SensorTag Development Kit[debian Wheezy][AX3][A7]




先日、以下の記事で紹介した、TI CC2541 SensorTag Kitと、OpenBlocks Aシリーズとの接続評価を行いました。

TI CC2541 SensorTag Development Kit


OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6/A7 kernel: 3.2.40

1. 事前準備


本装置は、Bluetooth LEにより通信を行うため、OpenBlocks本体に、USB Bluetoothアダプタを接続して使用します。
Bluetoothアダプタに関しては、以下の記事において、一部製品の接続検証を行っております。

 周辺機器接続テスト

上記の記事に、Bluetooth接続に関する説明を記述しておりますが、今回は、Bluetooth LEによる接続であるため、手順に関しては本記事にて説明します。

Bluez 5.12の導入

Debian Wheezyにて提供されるbluezパッケージでは、gatttoolによるデータのwriteが出来ず、Web検索したところ、以下のページを参考に、5.12をインストールしました。
また、下記ページでは今回使用したデバイスそのもののテストも行っています。

Michael Saunby: Raspberry Pi and TI CC2541 SensorTag:

導入に際しては、事前に開発環境のインストールを行ってください。
( すでに行っている場合は必要ありません)

# aptitude install build-essential

Bluez 5.12のビルドに必要なライブラリをインストールします。

# aptitude install libglib2.0-dev libdbus-1-dev libusb-dev libudev-dev libical-dev systemd libreadline-dev

Bluez 5.12を入手し、解凍します。

# wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.12.tar.xz
# tar -Jxvf bluez-5.12.tar.xz

INSTALLドキュメントに従い、インストールします。

# cd bluez-5.12/
# ./configure
# make
# make install

2. 接続方法


CC2541のデータハンドリングは、以下のTI Wikiに記述されています。

SensorTag User Guide - Texas Instruments Wiki:


今回は、wheezyのbluetoothサポートパッケージを導入していませんので、手動でデバイスの立ち上げからテストまでを行っています。

# hciconfig hci0 up

デバイスサイドにあるスイッチを押して、BLEデバイスのスキャンを行います。


# hcitool lescan
LE Scan ...
34:B1:F7:D5:59:2A (unknown)
34:B1:F7:D5:59:2A SensorTag
 :
 :

gatttoolにより、インタラクティブにセンサーデータを取得してみます。

# gatttool -i hci0 -b 34:B1:F7:D5:59:2A -I
[34:B1:F7:D5:59:2A][LE]> connect
Attempting to connect to 34:B1:F7:D5:59:2A
Connection successful
[34:B1:F7:D5:59:2A][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0x002a uuid: f000aa00-0451-4000-b000-000000000000
attr handle: 0x002b, end grp handle: 0x0035 uuid: f000aa10-0451-4000-b000-000000000000
attr handle: 0x0036, end grp handle: 0x003d uuid: f000aa20-0451-4000-b000-000000000000
attr handle: 0x003e, end grp handle: 0x0048 uuid: f000aa30-0451-4000-b000-000000000000
attr handle: 0x0049, end grp handle: 0x0054 uuid: f000aa40-0451-4000-b000-000000000000
attr handle: 0x0055, end grp handle: 0x005c uuid: f000aa50-0451-4000-b000-000000000000
attr handle: 0x005d, end grp handle: 0x0061 uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
attr handle: 0x0062, end grp handle: 0x0068 uuid: f000aa60-0451-4000-b000-000000000000
attr handle: 0x0069, end grp handle: 0xffff uuid: f000ffc0-0451-4000-b000-000000000000
[34:B1:F7:D5:59:2A][LE]> char-read-hnd 38
Characteristic value/descriptor: 00 00 00 00
[34:B1:F7:D5:59:2A][LE]> char-write-req 3c 01
Characteristic value was written successfully
[34:B1:F7:D5:59:2A][LE]> char-read-hnd 38
Characteristic value/descriptor: 4c 6d 46 60
[34:B1:F7:D5:59:2A][LE]>


上記の手順により、センサーデータから数値を取得することが出来ます。


ただし、このデバイスは常時監視する用途には向きません。
USBに直結するタイプのインターフェースも配布されていますので、別途入手して評価する予定です。

2013-12-11

[.tested] OpenBlocks AX3/A7 OpenSSLベンチマーク [debian Wheezy][AX3][A7]

OpenSSLは、DebianのパッケージよりUbuntuの方が40%前後良い結果になるのですが、原因はコンパイルオプションの違いによるものと思われます。
今回、マイクロサーバ技術課にてDebianのOpenSSLを再構築、速度検証を行った結果を、当blogにて報告します。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

1.OpenSSLの作成


開発環境の準備

SSD併用モードの検証機を用意します。
以下のコマンドを入力して、ビルド環境を作成します。

# apt-get install build-essential devscripts
# apt-get build-dep openssl
# apt-get source opnessl


OpenSSLのビルド

configはデフォルトで。

# cd openssl-1.0.1e
# ./config
# make


2.ベンチマーク


以下のopensslのオプションコマンドによるベンチマークを行いました。

# openssl speed md5 sha rc4 aes-128-cbc aes-256-cbc -elapsed

elapsedオプション このオプションを付けた場合は、経過時間に実時間を使用します。
付けない場合は、経過時間にユーザ時間を使用します。
( timeコマンドでいうところのrealを使うかuserを使うかの違いです。)


# time
real 0m0.000s
user 0m0.000s
sys 0m0.000s

AX3

MD5

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 3959.72k 14570.50k 45317.27k 96043.04k 142521.75k
rebuild 3176.47k 11748.89k 38143.49k 86815.81k 139127.92k

SHA


SHA1
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 4118.90k 13892.91k 37209.22k 64278.28k 81364.79k
rebuild 3258.12k 11657.12k 35595.82k 73223.14k 105856.43k

SHA256
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1185.47k 2831.95k 21233.46k 27692.57k 30383.88k
rebuild 9166.13k 22245.57k 40425.80k 50926.48k 55104.13k

SHA512
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1001.78k 4010.72k 5859.25k 8083.48k 9087.40k
rebuild 2900.56k 11631.05k 16581.49k 22607.95k 25313.55k

RC4

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 76616.54k 92183.77k 99732.75k 101792.74k 101980.87k
rebuild 86311.48k 97458.94k 101188.81k 102165.26k 101828.47k

AES


AES 128 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 19698.47k 24733.85k 26619.24k 27161.86k 27324.81k
rebuild 37864.58k 48231.72k 52411.28k 53509.61k 53727.00k

AES 256 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 15526.19k 18610.97k 19649.15k 19927.86k 20001.00k
rebuild 31212.60k 37900.44k 40606.87k 41398.18k 41575.08k
A7

MD5

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1498.52k 5339.41k 15721.63k 30893.06k 42628.34k
rebuild 1175.85k 4268.61k 13349.97k 28286.55k 42101.42k

SHA


SHA1
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1297.46k 4093.24k 10183.34k 16189.44k 19507.88k
rebuild 1140.14k 3761.33k 9810.09k 16310.86k 20307.97k

SHA256
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 1185.47k 2831.95k 5132.54k 6406.29k 6927.70k
rebuild 2689.97k 6131.58k 10653.60k 13119.15k 14002.60k

SHA512
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 153.51k 617.22k 871.08k 1195.69k 1349.91k
rebuild 729.19k 2926.45k 4139.18k 5635.75k 6278.72k

RC4

16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 22444.42k 25887.09k 27038.89k 27221.73k 27396.78k
rebuild 22965.96k 26169.81k 27001.28k 27336.02k 27303.04k

AES


AES 128 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 4880.32k 5504.11k 5666.79k 5733.38k 5720.79k
original 7606.46k 8501.16k 8808.19k 8854.03k 8899.24k

AES 256 CBC
16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
original 3751.82k 4089.11k 4202.92k 4214.39k 4232.53k
rebuild 5890.15k 6452.46k 6589.41k 6650.88k 6660.10k
3.検証結果から


AX3
  • AESは2倍程度高速となります。
  • MD5は遅くなります。
  • RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。
A7
  • AESは3割程度高速となります。
  • MD5は遅くなります。
  • RC4, SHA1は大きく変わりません。SHA256, SHA512は数倍高速となります。

暗号化アルゴリズム単位で指定できるので、MD5を指定しない前提であれば、リビルドをすることにより速度向上を見込めます。

2013-12-09

TI CC2541 SensorTag Development Kit

TEXAS INSTRUMENTS社より、センサータグ開発キットCC2541が配布されているので、TIショップより入手しました。

 CC2541 SensorTag 開発キット - CC2541DK-SENSOR - TI ツール・フォルダ:

この開発キットは、以下のセンサー入力をBluetoothにより出力します。
  • IR 温度センサ
  • 湿度センサ
  • 圧力センサ
  • 加速度計
  • ジャイロスコープ
  • 磁力計


購入は、TIショップからの直接購入をお勧めします。($25で送料込み)
展示会などでの即売もあるようです。

Bluetooth LEデバイスとして、bluezでscan出来るところまでは確認しました。
OpenBlocksとの接続や監視ツールとの連携に関してはこれから行いたいと思います。

(TIのサイトより、各種OS向けの開発キットやテストツールが配布されていますが、ソースコードの入手にはagreementが必要になっていますので、muninプラグインなど作成した際の公開に関しては少し時間がかるかと思います)

2013-12-06

[.tested] SII MB-B100-00 CDMA 1X 通信アダプタ [debian Wheezy][AX3][A7/A6]



SII MB-B100-00は、CDMA 1x 通信モジュール(セイコーインスツル製 WM-M200A)を内蔵したKDDI CDMA1x 汎用通信アダプタです。
KDDI CDMA 1x 通信サービスを利用して、パケット通信、SMS 受信、GPS 測位を行うことができます。
今回は、本装置によるパケット通信サービスをOpenBlocks AX/A7/A6で 利用するための検証を行います。

OBDN技術ブログによる動作検証は、該当するデバイスの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
Debian 7.1 Wheezy
OpenBlocks AX3/4 kernel: 3.2.40
OpenBlocks A6/A7 kernel: 3.2.40

<使用機器>
OpenBlocks AX3
OpenBlocks A6/A7
SII MB-B100-00 CDMA 1X 通信アダプタ

1. 事前準備


本装置は、RS-232Cインタフェースにより接続します。
OpenBlocksの場合は、RS-232Cポートに接続しますが、他社の外付けモデムと同様に、別売の
シリアル変換アダプタ(ストレート) PH-RD/RH/600を使用します。
(添付のクロスアダプタを使用する場合は、Dsub9pinのオスメスのシリアルクロスケーブルにより接続して下さい)


RS-232Cポートのデバイス名は、
/dev/ttyS1
になります。


2. 接続方法


接続は、他のモバイル通信アダプタと同様、pppconfigで設定を行います。

pppconfigをインストールします。

# aptitude install pppconfig

pppconfigの設定は以下の通りです。

Provider Name  au
Configure Nameservers (DNS)  Dynamic
Authentication Method for test  PAP
User Name  アカウント名(*1)
Password  パスワード(*1)
Speed  19200
Pulse or Tone  Tone
Phone Number  電話番号(*2)
Choose Modem Config Method  No
Select Modem Port  Manual
Manually Select Modem Port  /dev/ttyS1

(*1) 通信事業者より提供されたアカウント名、パスワードを使用してください。
(*2) 通信事業者より提供された番号を使用してください。

/etc/chatscripts/auを編集します。
ATZコマンドはこのモジュールの場合使用出来ません。
また、その後の処理も一部変更しています。
(****は発信する電話番号のため、置き換えてください)

# This chatfile was generated by pppconfig 2.3.18.
# Please do not delete any of the comments.  Pppconfig needs them.
#
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TON
E' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
#'' ATZ
# ispnumber
#OK-AT-OK "ATDT****"
'' "ATDT****"
# ispconnect
CONNECT \d\c
# prelogin

# ispname
# isppassword
# postlogin

# end of pppconfig stuff

eth0や他のインタフェースが有効になっている場合は、/etc/ppp/peers/auに、以下の行を加えることにより、defaultrouteが変更されます。

replacedefaultroute


上記設定により、外部のサーバにアクセス出来ることを確認しました。

# pon au
# ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol
          inet addr:106.170.173.51  P-t-P:210.169.0.102  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:72 (72.0 B)  TX bytes:87 (87.0 B)

ただ、poffコマンドにより通信終了後、最初のATコマンドの出力が”NO CARRIER"となり、ponによる再ダイヤルの最初の1回目がエラーになります。
これを避けるためには、再度ダイヤルするか、リセット用の専用プログラムを作成し、ATコマンドを1度実行するなどの対策が必要かと思います。

なお、コンシューマ向けの機器と違い、M2M向けは通信データ量に対しての従量課金が細かく定義されるため、評価を行う際は、条件に注意して行ってください。

2013-11-29

[.testted] GLPI + OCS Inventory NGによるIT資産管理 [Debian Wheezy][AX3][A7]

GLPIは、リソース管理、サービスデスク、ソフトウェアのライセンス管理、監査などの機能をもつ、オープンソースの資産管理システムです。

GLPI - Gestionnaire libre de parc informatique:

http://www.glpi-project.org/spip.php?lang=en

GLPIは、主に情報部門などで必要とされる機能の多くが実装されており、また日本語にも対応しています。
ただし、GLPIには、OSC Inventory-NGが提供するような、管理対象のPC等からリモートで情報を取り出す手段がないため、GLPIにOSC Inventory NGのデータベースと連携する機能が実装されています。

今回は、GLPIを管理台帳のシステム、OCS Inventory NGをエージェントからのデータ収集システムとして、OpenBlocks AX3/A7で利用する方法についてご紹介します。


OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks AX7 Debian 7.1 kernel: 3.2.40

1.OCS Inventory-NGのインストール


OCS Inventory-NGのインストールに関しては、前回の記事を参照してください。

[.testted] OCS Inventory NG [Debian Wheezy][AX3]


2.GLPIのインストール


データベースの作成について

 OCS Inventory-NGにてインストールしたMySQLを使用します。
 GLPIインストール時に、(MySQLの管理者パスワードを入力する必要があります)

GLPIのインストール

 debian wheezyパッケージより、glpiをインストールします。
 提供されるバージョンは、GLPI 0.83.31です。

  # aptitude install glpi

 インストール中に、MySQLデータベースの管理者パスワード、および、GLPIが使用するデータベースのパスワードの入力を求められますので、前回のmysql-serverインストール時に設定した管理者パスワードおよび、GLPIで使用するDBのパスワードを入力してください。

web GUIによる初期設定
 
 Webブラウザより、以下のURLにアクセスします。
 http://サーバのIPアドレス/glpi/

 http://サーバのIPアドレス/ocsreports/

 管理用のユーザ名および、初期パスワードは、user: glpi Password: glpi です。


初期画面が表示されます。


 右上のsettingボタンを押し、languageを日本語に変更します。


メニューが日本語となります。


3.OCS Inventory-NG との連携方法


OSC Inventory-NGとの連携は、OSCNGメニューより行いますが、事前に、OSCNG modeを有効にする必要があります。

 セットアップ-一般設定-一覧タブより、OSCNG modeを有効にしてください。



 有効にすることにより、セットアップメニューより、OSCNG modeが選択できます。


データベースのサーバ名を選択し、OSC Inventory-NGで使用するデータベースのパスワードを入力します。
また、OSCNG database in UTF8も「はい」にします。


インポートのオプションを設定します。
OSCNGソフトウェアリストの使用は「いいえ」にして下さい。
「はい」の場合、初期状態では登録されたリストとのマッチングの関係だと思いますが、ソフトウェアリストが取得されません。


ツール-OSCNGメニューより、「新しいコンピュータをインポート」を選択します。
 

OSC Inventory-NGで管理されているコンピュータのリストが表示されますので、全てインポートする場合は、そのままインポートを押します。


インポートが成功すると、一覧 - コンピュータ メニューにて機器一覧が表示されます。


閲覧したい機器の名前をクリックすることにより、情報が表示されます。
また、この情報は、csv形式で出力することも出来ます。




出力されるcsvファイルは、一旦保存し、excelなどで取り込む際には、文字コードとしてUTF-8を、セパレータとして「;」(セミコロン)を指定します。

5.さいごに


今回は、OpenBlocks AX3のdebian wheezyにより提供される、glpiパッケージと、ocsinventory-serverパッケージを使用し、エージェントプログラムより入手した情報をGLPIパッケージで使用する方法を紹介しました。
日本語の扱いについても、特にパッチなどを適用する必要もなく、比較的簡単に導入できると思います。