HTTP 安全配置authorizeRequests() 出现 Sonar 严重缺陷

我有一个 Spring Boot 应用程序,在调用 AuthorizeRequests() 的行中,我的配置函数出现以下声纳严重缺陷。我应该如何修复它?谢谢。


Make sure that Permissions are controlled safely here. Controlling permissions is security-sensitive. 

 It has led in the past to the following vulnerabilities:


 CVE-2018-12999

 CVE-2018-10285

 CVE-2017-7455

我的配置类:


@Configuration

@EnableWebSecurity

public class MyConfig extends WebSecurityConfigurerAdapter {


      @Override

      protected void configure(HttpSecurity http) throws Exception {


      http            

        .authorizeRequests()  // Sonar complain this line here

        .antMatchers("/v1/").permitAll()

        .antMatchers("/**").authenticated()

        .and().httpBasic()

        .and().cors();

   }

}


holdtom
浏览 207回答 1
1回答

眼眸繁星

我刚刚查找了声纳中的错误描述,下面是声纳中的错误描述。控制权限是安全敏感的。它在过去导致了以下漏洞:CVE-2018-12999CVE-2018-10285CVE-2017-7455攻击者只能破坏他们有权访问的内容。因此,限制他们的访问是防止他们造成严重破坏的好方法,但必须采取正确的做法。此规则标记控制对资源和操作的访问的代码。目标是指导安全代码审查。以下是导致声纳问题的代码.authorizeRequests()  // Sonar complain this line here.antMatchers("/v1/").permitAll().antMatchers("/**").authenticated()正如我在您的问题的评论中提到的,不要盲目授权请求,访问应该受到限制,如下所示http.authorizeRequests()  .antMatchers("/", "/home").access("hasRole('USER')")  .antMatchers("/admin/**").hasRole("ADMIN")  .and()  // some more method calls如果这是您的测试/非生产代码,只需在抱怨问题的行添加//NOSONAR,声纳将绕过它,但**不要在生产环境中使用//NOSONAR。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java