2008-06-23

アンチウィルスソフト --- 果てしないセキュリティ

SonicWALL Total Security のようなUTM(統合脅威管理機器)をLAN⇔WAN間に設置すると、ファイアウォール、IPS、アンチウィルス・アンチスパイウェア、コンテンツフィルタリング、暗号化等の機能により、LAN⇔WAN間のすべての通信を管理・監視しネットワークセキュリティを向上させることができます。 では、UTMを配置すればセキュリティは確保できるのでしょうか? 残念ながらそうとは言えません。 ハードディスクのデータをUSBメモリにコピーして持ち出した、機密データを印刷して紛失した、ノートPCを紛失した、サーバ室に許可無く入室した等、セキュリティはシステム管理者だけの問題ではなく、社員など個々人のモラルの問題でもあり、あらゆるリスクを予め想定して対応するのは不可能と言っていでしょう。 

自宅の家の鍵を二重三重にし、窓ガラスも強化ガラスを入れ、セコムを頼み、家人が十分気をつけていたとしても、有能で悪意ある確信犯がいれば、その凶行を防ぐのは至難です。 セキュリティも同様です。 どこまでセキュリティに費用と労力をかけるか、実に悩ましいところですが、システム的にはやはりホスト(PCやサーバ)レベルでのウィルス等のマルウェア対策が必要と思います。 以前にも総論的に書きましたが、数十台を超えるPCのセキュリティを各ユーザのスキルとモラルに委ねるのは危険で、業務的にも効率的とは言えず、なるべく統合的、集中的なセキュリティ管理が望まれます。その統合集中的管理が可能なアンチウィルスソリューションの一つに Panda WebAdmin があります。

Panda WebAdmin のメリット

1. 比較的廉価
2. Windows 2000/2003 Server で利用可(但し、Vistaは未対応)
3. 動作が軽い --- 他のアプリケーションに悪影響を与えない、与えにくい
4. 管理PCからクライアント/サーバを統合集中管理
  • 管理PCから各PC/サーバへPanda WebAdminクライアントを(Push式)インストール
  • 各PC/サーバのウィルス感染状況を表示
  • 各PC/サーバのウィルス定義ファイルの更新状況を表示
  • 外出先のモバイルPCも管理可
【各PCのウィルス定義更新状況を表示するWebAdmin】

5.それなりのウィルス検出精度
6.システムに障害を及ぼす“トンデモ”アップデートがあまり無い

以上

2008-06-20

SonicWALL (3) ---ログ分析ツールViewPointインストールで泣く

前回書いたようにSonicWALLには通信を監視し、「問題あり」とみなした通信内容を警告メールとしてネットワーク管理者に送付することができます。 ただ、この警告メールが大量に届くため、管理者がこれを逐一読むのはまず無理です。 そこでSonicWALL Total Security には、ViewPoint というログ分析ツールが無料で付属してきます。 この ViewPoint ですが、ある一定の環境下は簡単にインストールできます。 しかし一定以外の環境では、多分、嵌ります。 一定以外の環境とは? 私が思うに SQL-Server インスタンスが複数動いている環境はマズイのではないかと。 

以前、 SQL-Server インスタンスが既に2つ存在するWindows 2003 に ViewPoint 4.0 をインストールしようとしたのですが、途中までいくとMSDE(Microsoft SQL-Server Desktop Engine、ViewPointのログ保存用データベース)へのログインの画面で認証に失敗し、続行できなくなりました。 表示されたエラーメッセージには、「後で\ViewPoint4\bin\postInstall.batを実行してインストールを続行できます」みたいなことが出ているので、インストールを一旦中断。 ただ、 その後に postInstall.bat を実行しても、全く同じ状況でMSDEの認証で弾かれてしまいます。 で、サポートに電話したのですが、「そのような事例はあるのですが、解決方法は記されていません」の一言。 「おい、おい、 それで終わりかい?」(心の声)
その時は忙しかったので、既存のSQL-ServerインスタンスがないXP機に ViewPoint 4.0 を入れてしまいました。 こちらは全く問題無くインストール終了。

で、最近改めて件のWindows 2003機へ ViewPoint のインストールをトライしてみました。 前回失敗したときにアンインストールをしたみたいだったので、インストーラの VPS_JP.exe を再度実行。 「もしや今度はすんなりと完了するのでは…」という儚い望みはあっさり裏切らせ、前回と同じメッセージ。 しかたんくインストーラを終了して、上記の postInstall.bat を実行してもやっぱり駄目。 ここまでは前回と同様なので、トラブルシュートする腹を決めました。 まず「サービス」を起動してSQL-Serverインスタンス(サーバ名\SNWL)が存在することを確認。 また、インストール時に指定したディレクトリにMSDEが存在することも確認。では、ViewPoint4\MSDE\Data\MSSQL$SNWL\Data\ 内に存在する 筈のViewPoint 用の.mdfと.ldfファイルは…と思って探しても無い。 あるのは、master/msdb/model/tempの4つのシステムファイルだけ。 SQL-Server Management Studio Express を起動して見ても、やはりこの4ファイル以外は無し。 先に成功したXP内のDataディレクトリには sgmsdb.mdf 他のViewPoint用ファイルがあるのに。
ここにきて、データベースのインストールに失敗していることが判明。 そこでググってみると、灯台下暗し「SonicWALL ViewPoint ユーザーズ ガイド」にたどり着く。 このガイドは ViewPoint 2.5 用でエラーのメッセージの出方も違うけど、第六感的にはぴったし。 P.157以降に解決策というのが書いてあります。 以下、上記マニュアルを引用。

******************** 引用始 ********************
ViewPoint が MSDE データベースの場所を見つけることができない
問題
SonicWALL ViewPoint 2.0 のインストールで、MSDE データベースが見つからない場合、次のようなアップグレード失敗を通知するメッセージが表示され、インストールはフェーズ 2 で失敗します。
[DBNETLIB]SQL Server does not exist or access denied. [DBNETLIB]ConnectionOpen (Connect()).
Java doesn't recognize the MSDE database using the URL "127.0.0.1\SNWL". This is an issue on some Windows 2000 servers.
解決策
次の手順を実行し、インストールを続行します。
1. 「キャンセル」 を選択して、フェーズ 2 のインストールを終了します。
2. コマンド プロンプトから、「SQL Server Network Utility」 (SVRNETCN.EXE) を実行します。 一般的に、このプログラムは、C:\Program Files\Microsoft SQL Server\80\Tools\Binn フォルダ内にあります。
3. 複数の SQL サーバ インスタンスがシステム上で稼動している場合は、「Instance(s) on this server」 リスト ボックスに複数のインスタンスが表示されます。 リスト ボックスから、サーバ名\SNWL の項目を選択します。
4. 「Protocols」 リストから 「TCP/IP」を選択し、「Properties」を選択します。
5. ポート番号を記録します。
6. メニューを終了します。
7. c:\sgmsConfig.xml ファイルと \Tomcat\webapps\sgms\WEB-INF\web.xml ファイルに以下の修正を行います。
dbURL の値を、"127.0.0.1/SNWL" から "localhost:ポート番号" へ変更。
dbhost の値を、 "127.0.0.1\SNWL" から "127.0.0.1" へ変更。
技術的ヒントとトラブルシューティング 157
8. \SQL\bldMSDB.bat に、以下の修正を行います。
User の値を sa に変更
Password の値を <フェーズ 1で選択したデータベースのパスワード> に変更。
9. コマンド プロンプトで、\SQL フォルダへ移動し, bldMSDB.bat プログラムを実行して MSDE データベースをインストールします。
10. \Temp へ移動し、次のプログラムを実行して 「SNWL ViewPoint Summarizer」 サービスと 「SNWL ViewPoint Syslogd」 サービスをインストールします。
schedInstall.bat
vpInstall.bat
11. \Tomcat\bin へ移動し、次のプログラムを実行して 「SNWL ViewPoint Web Server」 サービスをインストールします。
tomcat.bat install
12. Windows システムを再起動

******************** 引用終 ********************

上記ステップの8までは問題なく実行できたんですが、ステップ9 bldMSDB.bat が失敗してしまう。 SQL-Serverの認証方法がWindows認証になっているのが問題か?、と思い、認証を混合モードに変更してもやはり駄目。 仕方が無いので、bldMSDB.bat を開いてみると、その中で大量の.sqlファイル群を実行していて、しかも最初の行(sgmsdb.sqlの実行)から失敗している。 で、sgmsdb.sql では何をしてるかというと、

      USE master;

どうもここから失敗している。 コマンドプロンプトを開いて、

      osql -U sa -P password -S 127.0.0.1\snwl

とやると失敗してしてしまう。 そこで、

      
osql -U sa -P password -S computer_name\snwl

とすると成功(computer_nameはWindows のコンピュータ名)。 そこで、どうやらこのループバックアドレス(127.0.0.1)がおかしいらしいと見当をつけて、以下を実行。

  1. 上記ステップ8にある「127.0.0.1」と「localhost」を「computer_name」に変更。
  2. bldMSDB.bat をメモ帳で開き、すべての「127.0.0.1」を「computer_name」に置換。
上記を実行すると、上記マニュアルのステップ9~12はスムーズに終了し、Windows 2003起動してデスクトップに作成された SonicWALL ViewPoint 4.0 を実行すると、ブラウザに ViewPointの認証画面が表示されるようになり、デフォルトのID:admin、Password:password と入力することにより、ログインできました。 めでたし、めでたし。

2008-06-16

FMS9 のインストールで四苦八苦

FileMaker Server 9 で API for PHP が公開されたということで(今まではベータ版での公開だった)、当方の環境にも Filemaker Server 9 (以降 FMS9) をインストールしてみました。

 しかし、一口にインストールとは言っても、アプリケーションの構成が複雑な環境ではなかなか一筋縄ではいかなかったりします。
 今回は FMS9 をインストールしてから希望どおりの結果が得られるまで丸二日を費やすことになってしまいました。

 以下、当方での FMS9 インストールトラブルの記録です。

  1.  FMS7 との競合。FMS7 がインストールされている環境には FMS9 を追加インストールできない。そこで、FMS7 のアンインストールを試みたが、FMS7 インストール構成ファイルの一部が壊れていた模様で、コントロールパネルの「アプリケーションの追加と削除」からは削除ができなくなってしまっていた。
     そこで、Microsoft 社のサイトから Windows Installer CleanUp ユーティリティというツールをダウンロードして、FMS7 のインストール情報を削除してから、ハードディスクに残っている実体ファイル群を削除する目的でもう一度 FMS7 をインストールし、そしてもう一度アンインストール。

  2.  FMS9 インストール。インストーラのガイドにしたがって無事にインストールは終了したが、FMS9 開始ページを起動して設定を始めてみると Web 公開用に接続を試みた IIS が認識されていないことが判明。サービスでは、IIS は正常に動作していたので、どうやら FMS9 とIIS の対話がうまくできていないようだ。
     そこで、コントロールパネルから一度 IIS を外して、もう一度インストールしたら、今度は FMS9 側から認識されるようになった。

  3. ところが、実際にサーバのトップページにアクセスしてみると、ページが見つからないという白紙のページが表示された。IIS マネージャの設定をどう直しても状況は改善しなかったので、試しに FMS9 をアンインストールしたところ、ページが表示されるようになった。
  4.  FMS9 は Java を使うので、インストールされている Java を調べたところ、すでに古いものが 3 つインストールされていた。それらをすべて削除してから IIS 再インストール、FMS9 のインストール、そして FMS9 インストール直後に推奨される Java のインストールに従って、FMS9 に入っている Java をインストールしたところ、FMS9 と IIS の対話がうまくいくようになり、ページも無事に表示されるようになった。


 今回のインストール作業から得られたことは、FMS9 をインストールするには、FMS9 を操作するのに適切な Java と IIS が入っていないとうまく動作しないので、どう設定をいじっても歯が立たない場合は、一度この三点を全部削除して、順にインストールしていくことで解決する可能性が高くなるということです。

 ただ、IIS で複雑なサイトを構築している企業では、IIS をそうやすやすとアンインストールなんてできないと思ってしまうのですが...。

2008-06-14

SonicWALL (2) --- IPS

SonicWall Total Security シリーズには、IPS(Intrusion Prevention System、不正侵入防御システム)が付属してきます。 これは SonicWALL 上の通信を監視し、悪意または不正な行為を検知・遮断する機能です。 通常のファイヤウォールは各ポートの通信を許可・不許可するだけですが、IPSはファイアウォールが許可したポートの通信の内容までも、シグネチャーデータベースに照らして監視します。ネットワーク管理者は SonicWALL の IPS が検知した不正または不正の可能性を含む通信の概要を警告メールとして送信するように設定することができます。 実際メール送信するように設定すると、やたら多くの警告メールが届き、困惑することになります。

よくある警告メール
警告メールの中を見ると、不正またはその可能性がある通信の内容の概要と、その危険度を低、中、高で示されています。 以下、ありがちな警告メールとその説明。

IPS Detection Alert: ICMP Destination Unreachable (Port Unreachable), SID: 310, 優先順位: 低 - 89.178.40.145, 17127, WAN, 89-178-40-145.broadband.corbina.ru - 192.168.*.*, 59367, LAN, ****** -
 外部からのICMPパケットがSonicWallの内側のホストに届かなかった場合に発生。 危険度は「低」。あまり気にする必要はないが、DoS攻撃やネットワーク構成の探知が行なわれている可能性もある。頻発する場合は要注意。 詳細解説


IPS Detection Alert: PROXY-ACCESS SOCKS 5 outbound proxy access, SID: 1775, 優先順位: 低 - 192.168.*.*, 38248, LAN, ***** - 219.160.253.130, 8558, WAN -

 SOCKS Protocol version 5のプロキシサーバへアクセス。攻撃ではないので無視。詳細解説


IPS Detection Alert: ICMP Time-To-Live Exceeded in Transit, SID: 352, 優先順位: 低 - 192.35.246.1, 53, WAN - 192.168.*.*, 1091, LAN -

IPデータグラムが断片化されて相手先ホストに送信されたため、一つ以上の断片化されたデータが未着となっているため、SonicWALLがデータ待ちをしない状態となる。 通常は無視してよいが、DoS攻撃やネットワーク構成探知行為の可能性もある。 詳細解説


Possible port scan detected -  210.248.168.20, 443, WAN, kanri.shopserve.jp -  *.*.*.*, 6887, WAN, ****** - TCP scanned port list, 6755, 6769, 6833, 6845, 6861

Possible port scan detected - 203.77.186.119, 80, WAN, cds32.tyo.llnw.net - *.*.*.*, 1277, WAN, *.*.*.jp - TCP scanned port list, 1263, 1267, 1271, 1273, 1275
クラッカーが侵入準備のために行うポートスキャン、但し、管理目的のことが多い模様。
***.tyo.llnw.net からは非常に多くのアクセスがあるが、Microsoft Windows Update が使用しているミラーサイト(負荷分散サイト)との推定あり。



SonicALERTの全種別一覧
http://software.sonicwall.com/applications/ips/index.asp?ev=cat

2008-05-30

SonicWALL (1)

UTM (統合脅威管理=Unified Threat Management) という言葉ですが、日本ではいまひとつ馴染みが無いようです。 言葉としてもいまいちな感じ。 Integrated Secrurity Appliance とか、All-in-one Security Mnagement Device とか、Security という言葉を入れたほうがピンとくると思うのですが。 認知度が低いのはネーミングが悪いせいかどうかは兎も角、UTM製品名で検索をかけてもヒットするのは宣伝・広告ばかりで、日本のIT関連メディアやユーザサイドからの情報は、今のところ多くはありません。 したがって、運用に際してはには、英語のサイトに頼ることが多くなります。

さて、当方で使用しているのはSonicWALL Total Secure TZ-180というUTMです。 この製品はインターネットとLANの間に配置され、インターネットとLAN間の通信を監視し、設定した内容に従い、許容されていない通信パケットを破棄するとともに、VPNによりパケットの暗号化も行います。通信パケットの管理/暗号化は、ファイアウォール、VPN、ゲートウェイアンチウィルス、アンチスパイウェア、IPS、コンテンツフィルタリングにより行います。 また、ログ解析機能(ViewPoint)/警告メール送信機能も付属しています。

このうち、ゲートウェイアンチウィルス/アンチスパイウェアはhttp/ftp/smtp/POP3といったプロトコル(メーカーの謳い文句による50以上)を監視し、ウィルスやスパイウェアを発見すると除去します。 ただ、ゲートウェイアンチウィルスがあれば個々のPC/サーバにウィルス等のマルウェア対策が必要ないかというとそうではなく、個々のPC/サーバでもやはり対策が必要だと思います。 テロや外国人犯罪を防ぐのに飛行場や港湾といった水際の対策だけではなく、国内に侵入された場合にそなえ個人レベルの警戒も重要、というのと同義でしょう。厭な世の中ですが、破壊・犯罪を防ぐためには仕方がありません。

コンテンツフィルタリングは有害サイトへのアクセスを防ぎます。 一見すると子供向けの機能のようですが、有害サイトにはマルウェアが埋め込まれていることが多く、アクセスするだけで感染することもあります。 有害サイトへのアクセス遮断はマルウェアの侵入を防ぐ意味もあります。

ファイヤウォールとIPS(Intrusion-prevention system、侵入防止システム)の違いですが、一般のファイヤウォールはIPとポートへのアクセスを許可/拒否するように設定できますが、許可しているポートへの通信は、その通信パケットの中に悪意の命令が埋め込まれていても通してしまいます。 その結果、例えば、バッファオーバーフローを起こし、PCの動作異常や異常終了を引き起こしてしまったり、データベースのデータを改竄・消去されてしまったり(SQLインジェクション)ということも起こりえます。 これに対してIPSは、通常、IPやポートに依存せず、通信パケットのヘッダからデータをシグネチャ(攻撃パターン)データベースに照らして監視し、シグネチャに合致する通信パケットは侵入とみなし破棄します。 SonicWALLのシグネチャは24時間自動アップデートされ、新たな攻撃パターンをデータベースに記録します。

参考
Intrusion-prevention system(Wikipedia/英語版)

シグネチャを超えたプロアクティブな防御を――チェック・ポイントが戦略披露


土屋

2008-05-27

セキュリティは個人による管理から集中・統合管理へ(2)

前回、セキュリティは個人ではなく、管理者が集中的、統合的に管理すべき旨を書きました。 理由は個人の資質に依存するのは問題だし、人はミスをするから。 これとは別の理由もあります。

Windowsやインターネットが広く普及し始めてすでに15年以上経ち、いまやPCを使いこなすスキルがすべての人に必須のように言われていますが、はたしてそうでしょうか? 例えば、営業マンにPCスキルは必須でしょうか? 私はそうは思いません。 営業は本来、モノを売り、売上と利益を上げ、顧客からの信頼を築きながら次回の販売に繋げる、というのが本分の筈。 その営業マンが各種アプリケーションソフトの習得やファイヤウオールの設定に時間を費やしているようでは本末転倒です。 優秀な営業であればあるほどその人の時間を営業以外の雑務に費やさせるのは会社にとって損失です。 営業マンには心置きなく数値を追わせてあげましょう。 

営業やその他の部門の人材にそれぞれの本業に専念してもらうには、システムのセキュリティは管理者が代わりとなって、集中・統合管理する必要があります。 そのソリューションとして前回書いたUTM(Unified Threat Management)というものがあります。では、そもそもシステム管理者が対処すべき脅威にはどのようなものがあるのか、列記してみましょう。

1.マルウェア
悪意のプログラム。 最も一般的なコンピュータシステムの脅威。 ウイルス、ワーム、トロイの木馬、スパイウェア、アドウェアなどに分類される。 ハードディスク上のデータを破壊、PCの動作異常・パフォーマンス低下、広告宣伝の強制表示、各種情報の漏洩・改竄などを引き起こす。

2.不正アクセス
許可されていないユーザによるPC/サーバへのログイン、大量の命令をサーバに送り回線速度やサーバ機能を低下または麻痺させる(DoS、Denial of Services)

3.データ傍聴・改竄
インターネットにおけるデータ送受信時のデータ傍聴・改竄

4.その他の脅威
SPAM---不特定多数、無差別に送信される宣伝・勧誘メール
有害サイト---犯罪、ポルノ、暴力、ドラッグなどのWebサイト

UTM製品はインターネットとLANの出入口に配置され、ファイアウォール、VPN、ゲートウェイアンチウィルス、アンチスパイウェア、IPS、コンテンツフィルタリングといった機能により、上記の脅威にそれ単体で対抗します。

2008-05-26

セキュリティは個人による管理から集中・統合管理へ(1)

コンピュータ、ネットワークを運用する際に悩ましいのがセキュリティ。 もし、あなたがルータのログを見たことが無いのであれば、一度みてみるといいかも。 きっと、得体の知れない国内外からのアクセスが一杯記録されています。

最近では、IT企業からの告知・宣伝や、マスコミから伝えられるコンピュータウィルスの被害ニュースもあって、セキュリティ対策が全く施されていないPCやネットワークは無くなりつつあるようです。 お客さんのPCを拝見しても、ノートンやウィルスバスターといったセキュリティソフトが入っています。 しかし、これだけで安心してよいのでしょうか? 個人向けのアンチウイルスやファイアウォールは個人で管理・運用することになりますが、PCに対する見識・知識、経験が異なる個人にセキュリティを任せて大丈夫?
「ウィルス定義が更新されていないPCがあった」とか、「新しいソフトをインストールする際に、アンチウィルスやファイヤウォールを解除し、そのまま放置してしまった」とか、経験ありませんか? 人にミスはつきもの、経験豊富なパワーユーザといえでも、設定し忘れ、戻し漏れといったミスは必ず発生すると言っていいです。 セキュリティは「人はミスをする」ということを前提としなけばなりません。 であれば、個人に“のみ”依存するセキュリティシステムは、ある程度の規模の企業・組織、おそらく、PC/サーバを15-20以上運用するような企業・組織においては、極めて危ういということになります。 では、どうすればよいか? 時代の流れは、個人管理から集中管理、統合管理へと向かっていると思われます。

それではその集中管理、統合管理を行うソリューションにはどんなものがあるのでしょうか? アンチウィルスのベンダーからは定義ファイルの更新状況や感染・駆除状況を管理マシンから集中的に管理できる製品が法人向けとしてリリースされてきています。 メールサーバにはメールに添付ウイルスがないか、スパムメールか否かを判断し、脅威と認識したメールは受信直後に隔離・削除する製品もあります(あります、というよりも、そのようなマルウェア駆除機能が今ではメールサーバの標準機能と言えるかもしれません)。 またUnified Threat Management(UTM、統合脅威管理)と呼ばれる機器は、インターネットとLANの出入口にあって、マルウェア、不正侵入、SPAMを水際で防ぎ、データの暗号化までも行ってくれます。 最近は高価だったUTMの価格も大分下がっており、中小企業でも大分導入しやすくなってきています。

【代表的なUTM】
SonicWALL
FortiGate
CheckPoint
NetScreen

【集中管理型アンチウイルス・ソフト】
Panda WebAdmin

土屋

2008-03-10

FlexSql売管 ― FileMaker と SQL Server 2005 による売上管理システム


FileMaker Pro 9 と Microsoft SQL Server 2005 (Microsoft SQL Server 2005 Express Edition) を統合させた売上管理システム 「FlexSql売管 R0.1」をリリースいたしました。

本ソフトウェアはフリーウェアですので、ご自由にお試しください。




◇FlexSql売管 情報ページ
http://www.tpc.jp/product/fsql/


※ SQL Server と FileMaker の関連記事(2014年6月追記)
一考の価値あり? ― FileMaker のMS SQL Server との連携。
FileMaker IWP と SQL-Server 2000 によるソフトハウス用ライセンス販売管理システム



2007-11-03

イベントによるスクリプト起動プラグイン って…(4)

 前回(3)を書いてから半年以上経ってしまった…

 この記事はzippScriptを使用した会計のサブシステムをお客さんに納品したのをきっかけに書き始めたんですが、その後 FileMaker 9 の RC が出たりして SQL Server やら MySQL をいじってるうちに書くのがめんどくさくなっちゃって… と言い訳タラタラ。

 プラグインは実はあんまり使いたくはないんですが、このお客さんの要望もあり、どうしてもイベントによるスクリプト起動のプラグインが必要ということになり、予算をかけず、安定稼働して、FMアップグレード時にも迅速に互換情報やらアップグレードを提供してくれそうなって基準で(1)で挙げたような製品をチェックしました。

 最終的には、無料で、互換情報を比較的提供してくれそうなzippScriptを選択しました。 複数クライアントで10時間連続起動しても落ちずに安定して動作する、みたいなテストもやってるわけですが、やはりテスト環境と実運用環境(最大50クライアントが利用)では違うわけで、一抹の不安が… 

 つい先日、お客さんの担当者(経理)から「不気味なくらい順調に動いている云々」のメールを頂いて、一安心。開発元は FM9 の互換情報もいち早く出してるし、このプラグイン選択はまぁ正解だったのかなと思っています。 

2007-05-18

FlexSkype

Skype コンタクトを FileMaker で管理し発信するソフトウェア FlexSkype をリリースいたしました。
本ソフトウェアはフリーウェアですので、ご自由にお試しください。




本製品にユーザサポートはございませんが、何かお気づきの点やご意見等ございましたら、当ブログエントリの方までご投稿ください。

◇FlexSkype 情報ページ
http://www.tpc.jp/product/fskype/

2007-03-28

自作 vCard の Skype 取込で苦戦

Skype には vCard によるコンタクトの取り込み、および書き出しをする機能が搭載されています。

vCard とは、氏名、email アドレス、電話番号、住所情報などを登録しておく電子名刺のようなもので、記述規則は決められているものの、vCard を採用しているアプリケーション同士でデータ移行が可能になります。たとえば OutLook と Skype 間でコンタクト(ユーザ)の移行ができます。

さて、今回はこの vCard を自作して Skype に取り込むテストをやってみたのですが、これがなかなかうまくいきません。日本語情報が無視されて電話番号のみがコンタクトリストに登録されてしまいます。
ちなみに準備した vCard はこのようなものです。

BEGIN:VCARD
VERSION:3.0
N:+810000000000
X-SKYPE-PSTNNUMBER:+810000000000
X-SKYPE-DISPLAYNAME:漢字太郎
END:VCARD

これを拡張子 .vcf を付けて保存して、Skype より vCard 形式でコンタクトのインポートを実行します。
保存データ形式は最初は Shift-JIS で行いましたが、N:+810000000000 で示す番号がコンタクト名に出てきてしまいます。つまり漢字太郎は Skype には無視されてしまいました。
そこで保存データ形式を EUC や UTF-8 に変えて取り込みましたが結果は同じ。

泣く泣く Skype フォーラムの方に相談しました。すると、できたという方の返信があり、親切にも成功したファイルも添付されていました。試してみると確かに漢字太郎がコンタクトリストに表示されます。

結果、UTF-8 形式で BOM(Byte Order Mark) という先行データを取り除いた状態で vCard を保存すれば取り込める模様です。

次に、FileMaker から vCard データ書出を行った場合に、Skype に取り込めるかテストしてみましたが、フィールド索引を UTF-8(UTF-16 の誤りでした。申し訳ありません。訂正:2008/10/30) にはしたものの、やはり漢字太郎は無視されてしまいました。デフォルトのままでは BOM が付いているのかもしれませんが、こちらはもう少し調査してから追記していきたいと思います。

参考:
vCard
BOM

●2008/10/30 追加
FileMaker Pro 7 以降の xml を使った書出機能を使うことによって、vCard の書出はできる模様です。
参考:
FileMaker Business Tracker
http://www.filemaker.co.jp/solutions/fbt.html
当方の環境で試してみたところ、日本語が化けているので、こちらももうちょっと調査したいと思います。

2007-03-07

FileMaker 製品のカスタマイズ

弊社製品のカスタマイズについて

弊社の全製品(FlexSales R1.0売上猫くん4.5FlexManager1.5)はパスワードを公開しており(*1)、お客様はご自身の責任によりカスタマイズが可能です(*2)。
 当方に寄せられる質問に「FileMaker の初心者(あるいは中級者)なんですが、カスタマイズってできるものなんですか?」というものがあります。

 カスタマイズを行おうとする方は、以下を参考にしてください。

まったくの初心者の方

まったくの初心者の方にはいかなるカスタマイズもお勧めできません。ちょっとした操作ミスで復旧不能になってしまうからです。
 それでもカスタマイズしたいという方は、まず、FileMaker に付属するチュートリアル、テンプレートやマニュアル等で FileMaker の勉強をしましょう。
 そして、付属のテンプレートが問題なく理解できるレベルになれば、初級者と呼んでも構わないのではないでしょうか。

初級者または中級者によるカスタマイズ

  • 初級中級の方は原則としてオブジェクトの追加のみ行い、変更、削除は行わない
ここで言うオブジェクトとは、テーブル、フィールド、リレーション、レイアウト、スクリプト、アクセス権限、ファイル参照といったシステム(製品)を構成する要素です。
 これらのオブジェクトを変更・削除すると既存機能に障害を生じさせる可能性があるため、初級・中級の方は変更・削除は行わないようにしてください。

 追加は既存機能に影響を与える可能性が低いため、多くの場合、問題がないと思われます。たとえば、あるテーブルにフィールドを追加し、そのフィールドをレイアウトに表示させる、というのがここで言う“追加”にあたります。
 なお、リレーションの追加はお勧めできません。

上級者の方へ

上級者の方であれば、既存オブジェクトに変更を加えるリスクは十分にご承知のことと思います。第三者が作成したスクリプトを変更するのは煩わしいですし、危険ですよね?
 小生などは、自分が書いたスクリプトでさえ2ヶ月もたつと「これ、俺が書いたの?」ってこともあり、過去の記憶を辿りながらこれを修正・変更するのは骨が折れます。
 また、「これ、不要だろ?」と思ったフィールドやサブスクリプトを整理のため削除して、ボタンが正しく動作しなくなった、なんてこともちらほらと。

 それでもこの仕事をしていると、運用開始後何年も後にいままで正常に動いていた仕様を大幅に変更しなければならない、というようなこともしばしばあります。そのような場合、人間の記憶や仕様書のみに頼るのは危険です。そこで、土屋企画ではシステム分析データベースを作成し、これにより変更対象となる特定のオブジェクトがどこで使用されているかを全て検索・リストアップして印刷できるようにしています(このシステム分析データベースについては、別の機会に書きたいと思います)。
 このリストをたよりに、そのオブジェクトが使用されている他のオブジェクトの変更の必要性や変更方法を検討します。

講習

「土屋企画の製品をカスタマイズしたいが、製品の構造やカスタマイズの方法を知りたい」という方向けの講習を行っております。
 

注:

*1 FlexSales R1.0 にはパスワード公開版と非公開のバージョンがあります。詳細は→ここ
*2 カスタマイズは危険な作業です。カスタマイズ時は追記バックアップを行いましょう。

(土屋)

2007-03-01

Skypeのメモ

Skypeって…
インターネット電話のこと。 インターネットに接続されたPCにSkypeというソフトをインストールして使います。 SkypeをインストールしたPC間であれば、無料・無制限で通話ができます。


Skypeで電話と通話
SkypeOutを使用すると、Skypeから一般の固定電話や携帯に格安で電話を掛けることが可能です(これは有料)。  一分あたりの料金は以下の通り。

日本¥ 2.660(携帯¥ 17.5)、アメリカ¥ 2.380(携帯も同じ)、韓国¥ 2.405(携帯¥ 8.260)
  ↑  ↑  ↑   ↑  ↑  ↑  ↑  ↑  ↑
やっぱ、日本の電話、特に携帯の料金はオカシイんじゃないかと。
NTTの社長は「Skypeはインターネットにタダ乗りしてる」とか言ってるらしいですね・・・
料金表


Skype番号
「普通の電話・携帯からの電話をSkypeで受けるための電話番号」です。 SkypeInの電話番号に電話をする場合、コストが安くなるそうです。 掛けてくる人が実際どの程度得をするのか?ということですが、その電話から最寄のSkypeのアクセスポイント(AP)までに通常の電話料金がかかり、APからSkypeまでが無料ということなのかなぁ?と思います。


◇スカイプフォン
Skypeは基本的にはPCの前で使うものだと思うのですが、PCの前に限定されてしまうと不便です。 まあ、これは会社のビジネスフォンとかでも一緒なんですが、やはり無線のハンドセットで発信・受信・通話ができないと。 世の中にはおんなじことを考えて、商品にしてしまう人達がいるんですね。

スカイプフォンいろいろ
ヨドバシカメラで売ってるやつ←なぜかスカイプフォンの品揃えが充実している

無線LAN環境があればパソコン無しでSkypeできる無線ハンドセット
ロジテックLAN-WSPH01WH ---¥22,800

PCにUSBアダプタをつけて無線ハンドセットでSkype
comfixワイヤレスフォンSKP-001---¥11,800

一般電話とSkypeのデュアル電話機
パイオニアTF-FS55M-S ---¥14,300

普通の電話機をSkype電話として使うUSBアダプタ
DIGITAL COWBOYDC-NCTELU ---¥3,980

注:価格はヨドバシの価格。


ちなみに、うちではパイオニアのデュアル機をAmazonで買いました。 出不精のわたしにはAmazonはホントに便利。 早く来ないかなぁ…

(土屋)

2007-02-22

イベントによるスクリプト起動プラグイン って…(3)

プラグインの問題点

 一見便利なプラグインですが、サードパーティーが、ある意味無理矢理機能を拡張しているため、ユーザが意図する通りに動かない、動作が不安定ということはある程度覚悟しておく必要があります。


 小生が開発した環境では、フィールド定義の「入力値の自動化」の計算式で、以下のような現象が発生しました。
  1. ヘッダレコード(「レイアウト設定」で「レコードを表示:」で指定するテーブルのレコード)が未確定の場合、ポータル行のフィールド入力時にスクリプトが起動するように設定がなされていても、スクリプトは起動されない
  2. スクリプト起動を設定したフィールド入力中にレコードが切り替わると、不適切なレコードに対してスクリプトが実行されてしまう
  3. スクリプト起動を設定したフィールド入力中に他のボタンを実行すると、スクリプトが実行されない、または不適切なタイミングで実行される

 また、アクセス権設定の計算式により、カーソルがフィールドに入ったときにスクリプトを実行するように設定しましたが、ヘッダレコードで2つめ以降にカーソルが入ったレコードでは、スクリプトが実行されませんでした。


 上記は小生の環境で発生したもので、必ずしも他の環境で発生するとは限りませんが、いずれにしてもスクリプト起動プラグインを使用する場合は十分なテストを実行し、問題を発見して、回避策を自分で施さなければなりません。 

 また、FileMaker Pro のアップグレード時にプラグインは遅延無くアップグレードされるのか、プラグインを連続運用しても安定して動作するのか、運用開始後プラグインに問題があると判明した場合の回避策などを、重要なアプリケーションでは考えておく必要があると思います。

 今後、時間があれば土屋企画で施した対策を書いてみます。
 
 

2007-02-19

FileMaker プラグインを FileMaker Server から自動的にダウンロードさせる方法

FileMaker プラグインは、ファイルメーカー Pro 6 までは各クライアントコンピュータに手作業でインストールする必要がありましたが、FileMaker 7/FileMaker Server 7 からは、サーバにアクセスした時点でクライアント側のプラグインの有無をチェックし、必要に応じて自動的にクライアントにダウンロードして有効化できるようになりました。

つまり、このスクリプト自動ダウンロード機能を利用すれば、クライアント台数の多い企業ならプラグインのインストール作業が大幅に軽減されるだけでなく、インストール漏れが発生するというトラブルも発生しにくくなります。

今回は Windows 環境で FilMaker Server からプラグインをクライアントコンピュータに自動インストールする方法について説明します。

* プラグインの自動ダウンロードの詳細は、FileMaker 社の FileMaker Server 8 プラグインの更新ガイド (PDF) を参照してください。


◇ 準備するもの
1. AutoUpdate プラグイン
これは FileMaker Pro 7 以降をインストールしたときに標準でインストールされているプラグインです。このプラグインを使って FileMaker Server にアクセスし、バージョンチェックとダウンロードを行います。
あえてここでは何もする必要はありませんが、AutoUpdate プラグインのインストール状態は以下の画面からチェックできます。



2.FileMaker Server 7 または 8
インストールして、起動しておいてください。
3. お好みの FileMaker プラグイン
今回の例では無料プラグインの zippScript を例に挙げます。以下のリンクよりスクリプトを入手してください。
http://homepage.mac.com/jkornhaus/filemaker/Downloads.html


◇操作方法

1. zippScript をサーバ環境に配置します。下図のようにディレクトリを作成してくだい。
* スクリプト名を記述したディレクトリと、それに対応するバージョン名を入れたディレクトリをそれぞれ用意します。


2. FileMaker Pro 7~8.5 を開き、新規ファイルを作成して、プラグインダウンロード用のスクリプトを作ります。

(スクリプトファイルは準備中です。暫くお待ちください。)

3. ファイルオープン時に 2. のスクリプトが実行されるように設定しておけば、必要に応じて FileMaker Server からローカルコンピュータにプラグインがダウンロードされ、有効化されます。

イベントによるスクリプト起動プラグイン って・・・(2)

スクリプト起動プラグインを使ってみる

前回書いたようにスクリプトの起動は計算式で指定します。ここでは、フィールドオプションの「自動入力」の計算式を使用し、数値フィールド[価格]にユーザが入力した値が10000以上であれば警告メッセージを表示するスクリプトを起動するようにします。

「入力値の自動化」タブで計算式を書く
注:
  • 上式に[価格]があることに注意。
  • “OK”クリック後、「フィールドに既存の値が存在する場合は置き換えない」をチェック。

入力値の警告し、キャンセルならば値をクリアするスクリプト

 後はレイアウトにフィールドを配置し、[価格]フィールドに10000以上の値を入れると警告スクリプトによりメッセージが表示されます。


 ばら色に見えるプラグインですが、いくつかの問題があります。次回はその問題について書きます。

2007-02-15

イベントによるスクリプト起動プラグイン って・・・(1)

スクリプト起動のタイミングをイベント対応にしたい

FileMaker Pro(以下、FM)のスクリプトを起動するには、ボタンをクリックするか、またはスクリプトメニューから目的のスクリプトを起動するしかありません。
 VBやJavaScriptのように、フィールド値の変更等なんらかのイベントが発生したときにスクリプト(ルーチン)を起動できると便利なのですが、FileMaker にはその機能がありません。これを実現させるのが、サードパーティ製のプラグインと呼ばれるプログラムです。

スクリプト起動プラグインのインストール

スクリプト起動プラグインはさまざまなものがありますが、ここでは「zippScript」という製品の使用方法をご紹介します。

 まず使用するプラグインをダウンロードします。必要に応じて解凍し、zippScript.fmx という名称のファイルを FileMaker Pro\Extensions\ に入れ、FileMaker Pro を起動します。

 これでプラグインのインストールは完了です。 

スクリプト起動プラグイン製品
製品名 価格
zippScript freeware
DoScript freeware
Events 4.0 US$129
ScriptFire US$59
Activator US$89
EventScript freeware


◇イベントによりスクリプトを起動させる

では、スクリプトはどのようにすると起動できるのかというと、計算式でプラグインが提供する外部関数を実行して起動します。 スクリプトを起動する計算式は、フィールド定義の入力値の自動化/制限、計算フィールド、アクセス権設定、ポップアップヘルプの設定で指定可能です。 これにより、以下のイベント発生時にスクリプトが起動できることになります。

  1. カーソルがフィールドに入った

  2. レコードを表示/作成/削除した

  3. フィールド値が変更された

  4. 未保存の計算フィールドが表示された

  5. 特定のオブジェクトをマウスオーバーした
zippScript には、zippScript Example.fp7 というファイルが付属していて、これを分析するとイベントに基づくスクリプトの起動方法(スクリプト起動用外部関数の記述方法)が詳しくわかります。

次回

次回は zipScript 外部関数の使用方法と、プラグインの問題点を挙げたいと思います。

(土屋)