Springboot は組み込みの Tomcat をどのように使用して安全でない HTTP を禁止しますか

WBOY
リリース: 2023-05-12 11:49:05
転載
2066 人が閲覧しました

Springboot の組み込み Tomcat は安全でない HTTP メソッドを禁止します

1. Tomcat の web.xml で次の内容を設定できます

Tomcat に安全でない HTTP メソッドを禁止させます

<security-constraint>  
   <web-resource-collection>  
      <url-pattern>/*</url-pattern>  
      <http-method>PUT</http-method>  
   <http-method>DELETE</http-method>  
   <http-method>HEAD</http-method>  
   <http-method>OPTIONS</http-method>  
   <http-method>TRACE</http-method>  
   </web-resource-collection>  
   <auth-constraint>  
   </auth-constraint>  
</security-constraint>  
<login-config>  
  <auth-method>BASIC</auth-method>  
</login-config>
ログイン後にコピー

2. Spring Boot は組み込みの tomcat を使用します

web.xml 設定ファイルはありません。次の設定で設定できます。簡単に言うと、Spring コンテナに注入されます

@Configuration
public class TomcatConfig { 
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcatServletContainerFactory = new TomcatEmbeddedServletContainerFactory();
        tomcatServletContainerFactory.addContextCustomizers(new TomcatContextCustomizer(){
 
   @Override
   public void customize(Context context) {
    SecurityConstraint constraint = new SecurityConstraint();
    SecurityCollection collection = new SecurityCollection();
    //http方法
    collection.addMethod("PUT");
    collection.addMethod("DELETE");
    collection.addMethod("HEAD");
    collection.addMethod("OPTIONS");
    collection.addMethod("TRACE");
    //url匹配表达式
    collection.addPattern("/*");
    constraint.addCollection(collection);
    constraint.setAuthConstraint(true);
    context.addConstraint(constraint );
    
    //设置使用httpOnly
    context.setUseHttpOnly(true);    
   }
        });
        return tomcatServletContainerFactory;
    } 
}
ログイン後にコピー

安全でない HTTP メソッドを有効にする

問題の説明:

Web ページ、スクリプト、およびファイルが Web サーバー上でアップロード、変更、または削除される可能性があります。

「安全でない HTTP メソッドが有効になっています: OPTIONS /system HTTP/1.1Allow: HEAD、PUT、DELETE、TRACE、OPTIONS、PATCH

上記のメソッドの使用:

  • オプション、ヘッド、トレース: 主にサーバー サポートとネットワーク動作を検出および追跡するためにアプリケーションによって使用されます;

  • Get: ドキュメントを取得します;

  • Put および Post: ドキュメントをサーバーに送信します;

  • Delete: リソースまたはコレクションを破棄します;

  • Mkcol:コレクションの作成

  • PropFind および PropPatch: リソースとコレクションのプロパティを取得および設定します;

  • コピーと移動: 名前空間コンテキストでのコレクションとコレクションの管理リソース;

  • ロックとロック解除: 上書き保護

上記の操作の詳細により、アップロード、変更、削除などができることは明らかです。 Web サーバーへの脅威 サービスへの脅威 WebDAV には権限制御がありますが、インターネットで検索すると依然として多くの攻撃方法が表示されるため、これらの方法が必要ない場合は、それらを直接ブロックすることをお勧めします。 #解決策:

Web アプリケーションの web.xml に次の内容を追加します

<security-constraint>
        <web-resource-collection>
            <web-resource-name>disp</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>PUT</http-method>
            <http-method>DELETE</http-method>
            <http-method>HEAD</http-method>
            <http-method>OPTIONS</http-method>
            <http-method>TRACE</http-method>
            <http-method>PATCH</http-method>
        </web-resource-collection>
        <auth-constraint></auth-constraint>
    </security-constraint>
ログイン後にコピー

タグの導入:

## が使用されますリソースへのアクセスを制限する;
  • は、リソースにアクセスできるロールを制限するために使用されます。ここで空に設定すると、すべてのロール ユーザーがアクセスを禁止されます。
  • 検証する必要があるリソースを指定します
  • 検証する必要があるメソッドを指定します確認する
  • #

以上がSpringboot は組み込みの Tomcat をどのように使用して安全でない HTTP を禁止しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート