ウィルス

ウイルス対策ソフト設計時の注意事項

ウイルス対策ソフト(アンチウイルス)の設計担当になった時はこんなところに注意しよう。

ウイルス検知時の一次処理

ソフトによって隔離・検疫・削除とか色々あるが、サーバだったらまずは隔離するのが無難。サーバには重要なファイルが大量にあるので、不用意に削除してしまうと取り返しのつかないことになる。一次処理で隔離して、その後は管理者が目で確認してどう対応するかを決める。

逆にPCの場合は基本的に一次処理で削除してしまってもいい(と思っている)。消えて困るものをPCだけに保管しておくべきではない。もちろん隔離でもいいが、その分管理者の手間が増えることは覚悟する。

リアルタイムスキャンとフルスキャン

「リアルタイムスキャンしてるのにフルスキャンする必要あるの?」という人がたまにいるが、リアルタイムスキャンは基本的にファイルのI/O(読み書き)を契機にしてスキャンが走るため、リアルタイムスキャンのみでは感染したファイルにI/Oが起きるまで検知されない。
かと言って、フルスキャンを常に走らせ続けるのはサーバリソースを食いすぎるので、リアルタイムスキャンを有効にしつつ、定期的にフルスキャンをかけるのが良い。

検索除外

製品ベンダから検索除外の推奨リストが出ていたりするので、まずはそれを探す。
また、DBをはじめ各種ミドルウェアにも除外推奨になっているものがある。ミドルウェアのサポート契約があれば直接聞くのが確実。

同じ場所を複数サーバからスキャンしないように設計することも重要。
例えば、NFSサーバとクライアントがいる場合、両方からスキャンをかけるのはサーバリソースやネットワークリソースの無駄になる。NFSであればNFSサーバ側でスキャンし、クライアント側では除外する。

そしてうっかり忘れがちなのがマネージャサーバ上のウイルス隔離ディレクトリ。これを除外しておかないと、隔離したウイルスをマネージャで検知するという残念な結果になる。

オフライン環境でのパターンファイルアップデート方法

一部の製品では、マネージャサーバが製品ベンダサイトに直接アクセスしないと最新のパターンファイルをエージェントに配布できない仕様になっており、オフライン環境にあるマネージャサーバとは別にオンライン環境にもマネージャサーバを構築する必要がある。
したがって、ベンダサイトへアクセスするためのFWの穴あけや、オフライン環境のマネージャサーバにどうやってパターンファイルを運ぶか等を考慮しないといけない。

なお、見積りの時点でこの辺の考慮が漏れていると「誰がオンラインのマネージャサーバを構築するのか」とか「そもそもオンラインのマネージャサーバ用の機器なんて買ってないよ」とか「ライセンスの扱いどうすんの」とか揉める。

ウイルス検知テスト

"EICAR"というテストウイルスがあるので、これを使う。大体製品ベンダのFAQから辿れる(辿れなければググる)。

実際に検知テストをする場合、直接PCに落とすと大抵PCのウイルス対策ソフトが検知&削除してくれて、サーバまで運べない。
EICARの中身は比較的短いテキストなので、対象サーバ上で直接作ってしまえばよし。
ただし、RHELやCentOSで
# echo "EICAR文字列" > eicar.txt
などとやってしまうと、.bash_historyにEICARの文字列が残ってしまい、.bash_historyが感染ファイルとして検知される場合があるので、
# echo "EICAR文字列の最後一字削除" > eicar.txt
# echo "EICARの最後の一字" >> eicar.txt
という流れで作成する。
※viで作成してもいいが、エビデンス的に微妙