はじめに
私が現在持っているアルバイトの一つは、民間企業の小さなコンピューターパークに同行していることです。 同社の方向性は小売です。倉庫、3つと4つのキャッシュデスクにある2つのスーパーマーケット、4つの小さな店です。 ユーザーの条件は伝統的です:会計、レジ、管理。 コンピューター(合計45台)は互いに地理的に離れており、一部のプログラム(すべてではない)はさまざまな理由で管理者権限を必要とします。 それは歴史的に起こったばかりです。 ポイントではありません。 この経済全体のネットワークアーキテクチャと管理ポリシーは、ビネグレットという言葉で説明できます。 しかし、私は新参者です。現在のシステムを変更することはできませんし、変更したくありません。
問題の声明
この経済はすべて、さまざまなトロイの木馬やウイルスによって時間の経過とともに破壊されることは理解できます。最も強力で、冷酷で予測不可能なDNAには、あなたや私のものとほとんど違いがありません。 スパムとマークされたメールから直接EXEを実行することは、最も無害なアクティビティの1つです。 もちろん、誰もがインターネットに座っています(キャッシュデスクを除く)。 説得と実証的なむち打ちは役に立たず、オフィスプランクトンの用語の明確化はわずかな効果しかありませんでした。 一部の女性は特に元気です。 OSを手動で回復するためにすべての事実を実際に移動するのではなく、何かを基本的に行う必要があります。 さらに、実質的に予算はありません。予算全体が、KAVからのサブスクリプション解除の節約になります。 そして、メインの仕事から明確に注意をそらすことはできません。これは単なる副業です。
実行されたアクション
さらに、多くの点で明らかです。 通常のユーザーの場合、Windowsは適切な量で購入したDeep Freezeの助けを借りてフリーズします(ユーティリティは既にHabréで説明されています)。これにより、再起動後に新しいOSを取得できます。 同様のプログラムを使用できます-それは好みの問題です。 サーバーの場合、システムの通常のディスクイメージが実行されます。 メールはtrayos.comクライアントによってGoogle Appsに送られました-結局のところ、GMail自体はすでにウイルスからの保護に優れています。 ただし、ワークステーションには多くの問題があります。 次に、難易度の高い順に。
まず、マイドキュメント、デスクトップ、お気に入りを再起動すると失われます。 この問題は単純に扱われます。 私のドキュメントは別のドライブに簡単に移動できます。デスクトップとお気に入りもレジストリに登録するのに問題はありません。 お気に入りは後で不要であることが判明しました。 ユーザープロファイル全体を転送しないことが重要です。実際に必要なものだけを転送し、原則として起動に参加できません。そうしないと、最初のウイルスの後にWindowsをフリーズした効果が失われます。
第二に、多くのプログラムがプロファイルと密接に結びついています。 たとえば、再起動するたびに同じChromeが即座に更新を開始し、Webサイトからユーザープロファイルを復元し、他のわいせつを行います。 Operaの場合、さらに悪いことに、最後のプロファイルが失われるだけです。 移植可能なバージョンがあることは明らかですが、ブラウザーの更新は通常それらでは動作しません。タスクは、管理者が長い間完全に不在であることを思い出させることです(理想的には、管理者を設定した後、まったくありません)。 この例では、実際にはブラウザーのみが、このようなプログラムをより多く備えています。
この場合、すべてのディスクがNTFSに変換され、最も痛いディレクトリがプロファイルから隣接する論理ディスクに転送されました。 最後に、これらの同じディレクトリはNTFSジャンクションポイントを介して元の場所に戻されます。FARではAlt + F6ですが、もちろんより新しいソリューションがあります。
第三に、管理者に代わってプログラムを実行する際の最も不快な問題。 それらはたった12個しかなく、著者を見つけるためにすべて自作することは絶対に非現実的です。 これらのクラフトの最も忌まわしい点は、管理者権限でサーバーとやり取りすることです。 それらを再度書き直し、ユーザーを再び教育することは選択肢ではなく、すぐに終了する方が簡単です。
したがって、Runasは必要ですが、普通ではありませんが、オフィスプランクトンユーザーが各起動時に管理者パスワードを入力せず、可能であれば彼を知らないようにします。 ソリューションは、まったく予想外の(少なくとも私にとって)場所-JavaScriptに登場しました。
次の内容でファイルstart.jsを作成します。
var prg = "runas /user:Login c:\\path\\filename.exe";
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run(prg,1);
WScript.Sleep(250);
WshShell.SendKeys("p"); //
WshShell.SendKeys("a"); // +,-,%,^,~,(,) {}
WshShell.SendKeys("s");
WshShell.SendKeys("s");
WshShell.SendKeys("w");
WshShell.SendKeys("o");
WshShell.SendKeys("r");
WshShell.SendKeys("d");
WshShell.SendKeys("{.}");
WshShell.SendKeys("{ENTER}");
JS構文を考えると、必要に応じて最初の行を単一引用符で囲むことができます
var prg = 'runas /user:Login "c:\\path \\filename.exe"';
次に、結果のコードをサービスdean.edwards.name/packerなどに渡します。
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('k 4="b /j:lc:\\\\6\\\\7.8";9 0=3.e("3.f");0.g(4,1);3.h(i);0.2("p");0.2("a");0.2("5");0.2("5");0.2("m");0.2("o");0.2("n");0.2("d");0.2("{.}");0.2("{q}");',27,27,'WshShell||SendKeys|WScript|prg|s|path|filename|exe|var||runas|||CreateObject|Shell|Run|Sleep|250|user|ar|Login|w|r|||ENTER'.split('|'),0,{}))
このJSファイルを目的のディレクトリに配置し、起動ショートカットを作成することは残ります。 信頼性を高めるために、あなたは遊んで微妙にNTFSを設定しようとすることができます。そうすれば、トリッキーなプランクトンはここからパスワードを選択できなくなりますが、私の場合、これは必須ではなく、管理者パスワードはすでに多くの人に知られています。 難読化JSは、ソリューションの美しさとトロイの木馬からのパスワード保護に少し似ています。 それだけです、それはシステムをきれいにし、最適化するために残ります。 次に、Deep Freezeを消費者に渡します。
まとめ
記載されている対策は確かにありふれたものですが、複合施設では非常に効果的であることが証明されました。 6か月が経過しましたが、飛行は正常であり、ワークステーションにはデータディスク上でもウイルスはありません。 2台のサーバーにのみ関与し、それらが出てくるまで非常にスムーズに動作します。 毎週の注意が必要ですが、この側面も進行中です。
2011年2月10日議論の概要
フリーズ用の無料のSteadyStateの代替があります。 およびComodo Time Machine 、およびRunAsの代わりに、 MS App Compatibility Toolkitまたはadmilinkユーティリティが役立ちます。 意見を述べてくれたすべての人に感謝します。