Pourquoi l'exécution de scripts est-elle désactivée sur PowerShell ?
パワーシェル

PowerShell でスクリプトの実行が無効になっているのはなぜですか?

By Francois , on 5 7月 2024 , updated on 5 7月 2024 - 1 minute to read
Partager cet article :

PowerShell でのスクリプトの実行は、悪意のある可能性のあるスクリプトの実行からシステムを保護するセキュリティ対策として無効にすることができます。この機能は、信頼できないコードの実行に関連するリスクを防止し、システムの整合性とセキュリティを確保することを目的としています。

PowerShell でスクリプトを実行するリスク

PowerShell は、システム管理とタスク自動化のための強力なツールです。ただし、デフォルトでは、 スクリプト 無効になっています。この制限は厳しいように見えるかもしれませんが、次の理由から設けられています。 安全

PowerShell でスクリプトを実行する主なリスクは、悪意のあるコードが実行される可能性があることです。スクリプトには、実行するとシステムを侵害する可能性のあるコマンドが含まれる場合があります。関連するリスクをいくつか次に示します。

  • 悪意のあるコードの実行: 不適切に書かれたスクリプトや悪意のある命令が意図的に含まれている場合、重要なファイルの削除やマルウェアのインストールなど、重大な損害が発生する可能性があります。
  • 権限昇格: スクリプトが脆弱性を悪用して管理者権限を取得し、昇格した権限で悪意のあるコードを実行できるようにする可能性があります。
  • データ漏洩: スクリプトは、システムに保存されている機密情報にアクセスし、リモートの攻撃者に漏洩する可能性があります。

これらのリスクを軽減するために、PowerShell はさまざまな機能を実装します。 実行ポリシー。例えば ​​:

  • 制限付き: デフォルトでは、このポリシーはスクリプトの実行を禁止し、対話型コマンドのみを許可します。
  • すべて署名済み: 信頼できる発行者によって署名されたスクリプトのみを実行できるため、未承認のスクリプトのリスクが軽減されます。
  • リモート署名: インターネットからダウンロードしたスクリプトは信頼できる編集者によって署名される必要がありますが、ローカル スクリプトは署名なしで実行できます。
  • 無制限: すべてのスクリプトは制限なく実行できますが、これは安全な環境には推奨されません。

ユーザーは多くの場合、自分の環境や快適さのレベルに基づいてこれらの設定を調整する必要があります。 セキュリティリスク

潜在的な脆弱性

PowerShell は、Windows システム上のタスクを管理および自動化するための強力なツールです。ただし、デフォルトではスクリプトの実行が行われます。 無効。このセキュリティ対策の目的は、コンピュータの整合性やセキュリティを損なう可能性のある悪意のあるスクリプトからシステムを保護することです。

主な危険は、PowerShell スクリプトに、システム上で重要なアクションを実行できるコマンドが含まれている可能性があることです。 PowerShell にアクセスし、スクリプトを実行できる人は誰でも、システムを危険にさらす可能性があります。 セキュリティリスク。これらのスクリプトが悪意のあるものである場合、次の目的で使用される可能性があります。

  • 機密情報を盗む パスワードや機密データなど。
  • システム構成の編集、システムが不安定になったり、将来の攻撃に対して脆弱になったりします。
  • マルウェアをインストールする またはその後の不正アクセスのためのバックドア。

から 潜在的な脆弱性、 我々は気づく :

  • 署名されていないスクリプト :署名されていないスクリプトを実行すると、未検証のコードが起動され、マルウェアのソースとなる可能性が高まるリスクが高まります。
  • ダウンロードされたスクリプト : インターネットからダウンロードされたスクリプトは危険にさらされているか、悪意のある意図で設計されている可能性があります。
  • 特権の悪用 : スクリプトは昇格された権限を利用して、完全なシステム アクセス権でコマンドを実行できます。

自分の身を守るために、申請することをお勧めします グループポリシー 次のような厳密なスクリプト実行ポリシーを定義します。

  • 実行を制限する 署名されたスクリプト 信頼できるエンティティによって。
  • ダウンロードされたスクリプトの実行をブロックするか、少なくとも厳密に監視してください。
  • 使う 役割ベースのアクセス制御 スクリプトの実行を許可されるユーザーを制限します。

考えられる攻撃

Microsoft の最新のコマンド ライン ツールである PowerShell は、非常に強力で多用途です。ただし、その使用には重大なセキュリティ リスクが伴います。それが理由です スクリプトの実行 デフォルトでは無効になっています。

PowerShell スクリプトを有効にすると、システムがさまざまな脅威にさらされます。悪意のあるスクリプトは、システム リソースを簡単に悪用したり、機密情報を盗んだり、取り返しのつかない損害を引き起こしたりする可能性があります。 PowerShell スクリプトは以下に広範にアクセスできます。 Windows API 重要な管理アクションを実行できます。この権限には、悪意のある悪用を避けるために厳密な制御が必要です。

未検証のスクリプトを実行すると、次のようないくつかの種類の攻撃への扉が開きます。

  • マルウェア :ハッカーは悪意のあるコードをスクリプトに組み込んで、マルウェア、ランサムウェア、またはスパイウェアを展開する可能性があります。
  • 権限昇格 :悪意のあるスクリプトは、システムを完全に制御するために権限を昇格させようとする可能性があります。
  • データの引き出し : スクリプトを使用して機密データを抽出し、外部サーバーに送信できます。
  • 高度な持続的攻撃 (APT) : スクリプトは、侵害されたシステムへの長期間のアクセスを維持することを目的とした高度な攻撃のコンポーネントとなる可能性があります。

自分自身を守るためには、次のことを設定することが重要です セキュリティポリシー スクリプトの実行を、署名されたスクリプトまたは信頼できるソースからのスクリプトのみに制限します。さらに、ウイルス対策システムや侵入検知および対応 (IDR) システムなどの堅牢なセキュリティ ソリューションの使用を強くお勧めします。

潜在的なリスク PowerShell スクリプトを実行すると、悪意のあるコードの実行が可能になり、セキュリティ上の脆弱性が発生する可能性があります。
環境管理 管理者は、環境の安定性とセキュリティを確保するために、スクリプトの実行を制限することがよくあります。

リスクに対抗するセキュリティ対策

Windows 上でタスクを管理および自動化するための強力なツールである PowerShell は、デフォルトでスクリプトの実行を無効にします。 セキュリティ上の理由。この措置は、機密データやシステム構成に損害を与える可能性のある悪意のあるスクリプトからシステムを保護することを目的としています。

管理者はこれらの設定を調整できます。 実行ポリシー。 PowerShell は、いくつかのレベルの実行ポリシーを提供します。

  • 制限付き: すべてのスクリプトの実行を無効にするデフォルト。
  • すべて署名済み: 信頼できる編集者によって署名されたスクリプトの実行を許可します。
  • リモート署名: 署名されていないローカル スクリプトの実行を許可しますが、リモート スクリプトは信頼できる編集者によって署名されている必要があります。
  • 無制限: すべてのスクリプトの実行を許可しますが、署名されていないリモート スクリプトについては警告を表示します。

実行ポリシーを調整するには、管理者は次のコマンドを使用できます。


実行ポリシーの設定

。たとえば、信頼できる編集者によって署名されたスクリプトを承認するには、次を使用します。


Set-ExecutionPolicy AllSigned

実行ポリシーに加えて、 セキュリティ対策 リスクに対抗するには:

  • スクリプトに署名する 完全性を保証するデジタル証明書を使用します。
  • スクリプトの実行を定期的に監査する 不審なアクティビティを検出します。
  • 実行権限を制限する 信頼できるユーザーのみに。
  • 監視ツールを使用する 潜在的な攻撃を特定して防止します。

これらの対策を採用することで、管理者はインフラストラクチャの高レベルのセキュリティを維持しながら、PowerShell を最大限に活用できます。

権限の制限

PowerShell は強力ですが、やみくもに信頼を与えるわけではありません。デフォルトでは、スクリプトの実行 いくつかのセキュリティ上の理由から。

スクリプトには、システムを侵害する可能性のある悪意のあるコマンドが含まれる可能性があります。これらの実行をブロックすることで、PowerShell は、 スクリプトによる攻撃 成功する。

この脅威に対抗するには、さまざまな方法があります 実行ポリシー コントロール経由で調整可能 実行ポリシーの設定。制限レベルには次のものが含まれます。

  • 制限付き : スクリプトの実行は許可されません。
  • すべて署名済み : 信頼できる編集者によって署名されたスクリプトのみを実行できます。
  • リモート署名済み : ローカル スクリプトは実行されますが、リモート スクリプトは署名されている必要があります。
  • 無制限 : すべてのスクリプトは制限なく実行されます。

PowerShell でのスクリプト実行の制限は、上級ユーザーだけの問題ではありません。それは、 権限の制限 これにより、PowerShell を使用するすべてのシステムのセキュリティが強化されます。これにより、管理者によって検証および承認されたスクリプトのみが実行できるようになり、潜在的な攻撃に対する追加の保護層が確保されます。

結論として、制限されたスクリプトの実行は制限的であるように見えますが、このセキュリティ対策は潜在的な脅威から IT インフラストラクチャを保護するために不可欠です。

ホワイトリストの使用

PowerShell を使用してタスクを自動化する場合、スクリプトの実行をブロックする制限に遭遇する可能性があります。多くの場合、この制限の原因は次のとおりです。 セキュリティ対策 未検証のスクリプトの実行に伴うリスクに対抗するために実装されました。実際、悪意のあるスクリプトは、特にデータを侵害したり、セキュリティ上の脆弱性を作成したりすることで、Windows システムに重大な損害を引き起こす可能性があります。

PowerShell に組み込まれているセキュリティ メカニズムの 1 つは、 実行ポリシー。このポリシーはスクリプトと構成ファイルの実行を制御し、いくつかのレベルの制限を提供します。

  • 制限付き: このポリシーはトータル ブロックに相当し、すべてのスクリプトの実行を禁止します。
  • すべて署名済み: 信頼できる編集者によって署名されている場合にのみ、スクリプトの実行を許可します。
  • リモート署名: ローカル スクリプトを署名なしで実行できますが、ダウンロードしたスクリプトには信頼できる編集者による署名が必要です。
  • 無制限: 任意のスクリプトの実行を許可しますが、ダウンロードしたスクリプトを実行する前に警告します。

セキュリティをさらに強化するには、 ホワイトリスト (ホワイトリスト)。どのスクリプトを実行できるかを明示的に定義することで、悪意のあるスクリプトが意図せず実行されるリスクを制限できます。ホワイトリストを設定するには、グループ ポリシー管理ツールまたは AppLocker などのソリューションを使用できます。

さらに、PowerShell の実行に関連するログ ファイルとイベントを監視すると、不審な動作を検出するのに役立ちます。これらのポリシーを組み合わせることで、PowerShell の強力な自動化機能の恩恵を受けながら、作業環境を効果的に保護できます。

  • みんなが知りたい旅客機の疑問50 アナウンスで聞くドアモードとはなにか?フラップの仕組みはどうなっているのか? (サイエンス・アイ新書 35)
    Binding : Taschenbuch, medium : Taschenbuch, ISBN : 4797342684
  • なぜ、コメダ珈琲店はいつも行列なのか? ―「お客が長居する」のに儲かるコメダのひみつ
    Binding : Gebundene Ausgabe, medium : Gebundene Ausgabe, ISBN : 4833422034
  • あなたの人生には、いいことしか起こらない: 仕事、人間関係、夢・・・毎日がワクワクで満たされる! (単行本)
    Binding : Gebundene Ausgabe, medium : Gebundene Ausgabe, ISBN : 4837928021
アバター画像

Francois

Bonjour, je m'appelle François et j'ai 29 ans. Je suis passionné par le scripting, le bash, le Powershell et les infrastructures Windows et Linux. Bienvenue sur mon site web.

Comments

Leave a comment

Your comment will be revised by the site if needed.