提案された記事では、コンピューターウイルスを処理するための一般的なツールからダウンロード可能な(pxe-bootable)オプションを作成する方法を説明します。 この資料は、システム管理者、サービスセンターの従業員、および場合によってはウイルスに感染したコンピューターを頻繁に蘇生しなければならない他の人にとって有用です。
この記事は、バージョンKaspersky Rescue Disk 10.0.31.4(発行時の最新バージョン)に関連しています。
問題の声明
タスクはいくつかのポイントに要約されます。
- Kaspersky Rescue Disk 10(以降、単にKRD10)をネットワーク経由で起動するように調整します。
- 更新のローカルミラーを提供するために、毎回新しいisoイメージをダウンロードせずに定期的にアンチウイルスデータベースを更新することができます。
- いくつかのデフォルトのウイルス対策設定を変更します。 たとえば、アーカイブのチェックには時間がかかる場合があり、毎回同じ設定を引き裂くのは面倒です。
- 上記の項目の実装を可能な限り自動化し、ボタンを押すのに必要なボタンの数を最小限にします。
システム要件
サーバー要件:
- Ubuntuオペレーティングシステム10.04以降。 Ubuntu 10.04 Server x32およびUbuntu 11.10 Desktop x32でスクリプトをテストしました。 別のLinuxディストリビューションを使用している場合は、何かを変更する必要がある場合があります。
- dhcpおよびtftpサービスが機能します。
- 構成されたpxelinux(ローダーpxelinux.0、構成ファイルpxelinux.cfg / defultなどがあります)。
ここから15分
でネットワークブートを展開する方法の詳細を読むことができ
ます 。
クライアント側の要件:
- PXE BOOT ROMをサポートするネットワークアダプター。
- 512MB以上のRAM。
スクリプトprepare.sh
prepare.shスクリプトは、必要なものすべてを準備するために
1回実行されます。
- 不足しているパッケージをインストールします(またはそれらが利用可能であることを確認します)。
- KRD10のisoイメージをダウンロードします。
- ウイルス対策データベース更新ユーティリティをダウンロードします。
- ソースからsquashfs-toolsをダウンロードしてビルドします。
後者は、xz圧縮サポートのないsquashfs-toolsがUbuntuのリポジトリからデフォルトでインストールされるために必要です。 すでにすべてのバージョンのsquashfs-toolsがインストールされている場合
、システムからそれらを削除する必要はありません。競合は発生しません。
prepare.shのリスト:
パッチretranslator.patch
--- ./retranslator/retranslator.bak 2010-07-14 02:51:11.000000000 +1100 +++ ./retranslator/retranslator.conf 2012-01-08 18:30:56.438109054 +1100 @@ -35,23 +35,23 @@
パッチsquashfs.patch
--- ./squashfs4.2/squashfs-tools/Makefile.bak 2011-03-01 06:04:15.000000000 +1000 +++ ./squashfs4.2/squashfs-tools/Makefile 2012-03-13 12:20:20.823261029 +1100 @@ -26,7 +26,7 @@
すべてが順調に進んだ場合、。/ squashfs4.2 / squashfs-tools /フォルダーに2つの実行可能ファイル(mksquashfsとunsquashfs)が表示され、。/ retranslatorフォルダーにローカルのウイルス対策データベースミラーが動作する準備が整います。
スクリプトmake_rescue.igz.sh
これが
メインスクリプトであり、その結果、「rescue」カーネル、「rescue.igz」ramdisk、およびpxelinux用の「menu.cfg」構成ファイルの3つのファイルが作成されます。
make_rescue.igz.shのリスト:
パッチinit.patch
--- ./initrd/init.bak 2012-03-11 23:30:56.000000000 +1100 +++ ./initrd/init 2012-03-12 00:09:33.165699617 +1100 @@ -270,7 +270,7 @@
パッチdmsquash-live-root.patch
--- ./initrd/sbin/dmsquash-live-root.bak 2012-03-11 23:30:56.000000000 +1100 +++ ./initrd/sbin/dmsquash-live-root 2012-03-12 00:07:12.531467569 +1100 @@ -28,47 +28,47 @@ overlay=$(getarg rd.live.overlay overlay)
パッチconfig.xml.patchは、2つの設定のみを変更します。1つ目は、「形式による」ファイル検証を有効にし、2つ目は、アーカイブチェックを無効にします。
--- ./mnt/etc/kl/config.xml.bak 2012-02-07 09:03:33.000000000 +1100 +++ ./mnt/etc/kl/config.xml 2012-03-13 12:45:20.000000000 +1100 @@ -795,8 +795,8 @@ <tDWORD name="ExcludeByMask">0</tDWORD> <tDWORD name="MandatoryScanPeriod">7</tDWORD> <tDWORD name="RootkitScan">1</tDWORD> - <tDWORD name="ScanArchived">1</tDWORD> - <tDWORD name="ScanFilter">1</tDWORD> + <tDWORD name="ScanArchived">0</tDWORD> + <tDWORD name="ScanFilter">0</tDWORD> <tDWORD name="ScanFixed">1</tDWORD> <tDWORD name="ScanMail">0</tDWORD> <tDWORD name="ScanMailBases">0</tDWORD>
pxelinuxの構成
スクリプトが完了すると、ファイル$ {tftproot_dir} / $ {dest_dir} /menu.cfgは次のようになります。
LABEL kaspersky_rescue_disk_10 MENU LABEL Kaspersky Rescue Disk 10.0.31.4-201206200949 KERNEL apps/kaspersky/rescue APPEND initrd=apps/kaspersky/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset quiet splash TEXT HELP Disk version : 10.0.31.4 New base version : 8154585;201206200949 Old base version : 8151532;201206190812 Rescue.igz build date : 22:23/20.06.12 ENDTEXT
pxelinux.cfg / defaultに次の行を追加します(もちろん、独自のパスに変更します)。
INCLUDE apps/kaspersky/menu.cfg
そして、完全に明確にするために、pxelinux.cfg / defaultの一部を提供します
DEFAULT vesamenu.c32 PROMPT 0 TIMEOUT 100 ONTIMEOUT local MENU TITLE -= PXE Boot Menu =- MENU BACKGROUND menu.jpg MENU COLOR border 30;44 #00000000 #00000000 none MENU COLOR unsel 37;44 #90ffffff #00000000 std MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all LABEL local MENU LABEL Boot from local drive localboot 0 LABEL memtest86p MENU LABEL MemTest86+ v4.20 KERNEL memdisk APPEND initrd=apps/memtest.bin INCLUDE apps/drweb/menu.cfg INCLUDE apps/kaspersky/menu.cfg
私のメニューは次のようになります。

起動プロセス:

やったー、すべてがうまくいく:

おわりに
最後に、タスクをcrontabに追加します。 たとえば、午前8時に毎日イメージを更新する場合、構成は次のようになります。
SHELL=/bin/sh 00 8 * * * /storage/projects/kaspersky_rescue_disk_10/make_rescue.igz.sh > /storage/projects/kaspersky_rescue_disk_10/results.log 2>&1
パスを変更することを忘れないでください!
PSアーカイブは、すべてのスクリプトとパッチと共に
ここからダウンロードできます。