安全加固

<< Click to Display Table of Contents >>

当前位置:  Yonghong Server 安装 

安全加固

Previous pageReturn to chapter overviewNext page

互联网时代的数据安全与个人隐私受到极大挑战,各种新奇的攻击技术层出不穷。为了更好的保障产品安全,建议用户按照如下步骤对产品进行安全加固。

 

Tomcat安全加固

1.升级到最新稳定版本(https://tomcat.apache.org/),出于稳定性考虑,最好不跨大版本升级。

2.使用普通用户安装启动,产品目录权限750。

3.配置使用https,提高数据传输安全性。

1)证书的生成:keytool -genkey -alias tomcat -keyalg RSA -keystore /home/Yonghong/tomcat/keystore

注意:如果商用系统建议使用向CA付费购买的证书。因为如果使用自签名证书的话,客户端对服务器的验证是抛给用户来判断(用户自己决定信任还是不信任)。

2)修改tomcat/conf/server.xml文件,禁掉http访问8080端口,新增8443使用https:        

 <!--<Connector executor="tomcatThreadPool"

         port="8080" protocol="HTTP/1.1"

         connectionTimeout="20000"

         redirectPort="8443" />-->

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

           maxThreads="150" scheme="https" secure="true"

           clientAuth="false" sslProtocol="TLSv1.2" sslEnabledProtocols="TLSv1.2"

           keystoreFile="/home/Yonghong/tomcat/keystore"

           keystorePass="Yonghong" />

3)修改tomcat/webapps/bi/WEB-INF/web.xml,在标签web-app中添加如下内容:

 <security-constraint>

         <web-resource-collection >

                 <web-resource-name >SSL</web-resource-name>

                 <url-pattern>/*</url-pattern>

         </web-resource-collection>

 

         <user-data-constraint>

                 <transport-guarantee>CONFIDENTIAL</transport-guarantee>

         </user-data-constraint>

 </security-constraint>

4.设置Cookie中的secure和httponly属性,防止cookie信息被窃取,修改tomcat/conf/web.xml文件:

 <session-config>

           <session-timeout>30</session-timeout>

             <cookie-config>

                 <http-only>true</http-only>

                 <secure>true</secure>

         </cookie-config>

 </session-config>

5.设置HSTS,让浏览器强制使用HTTPS与网站进行通信,减少会话劫持风险,修改tomcat/conf/web.xml文件,在标签web-app中添加:

 <filter>

           <filter-name>httpHeaderSecurity</filter-name>

           <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>

           <init-param>

                 <param-name>hstsEnabled</param-name>

                 <param-value>true</param-value>

             </init-param>

             <init-param>

                 <param-name>hstsMaxAgeSeconds</param-name>

                 <param-value>31536000</param-value>

             </init-param>

             <init-param>

                 <param-name>antiClickJackingOption</param-name>

                 <param-value>SAMEORIGIN</param-value>

             </init-param>

         <async-supported>true</async-supported>

 </filter>

   

 <filter-mapping>

         <filter-name>httpHeaderSecurity</filter-name>

         <url-pattern>/*</url-pattern>

         <dispatcher>REQUEST</dispatcher>

 </filter-mapping>

6.隐藏Tomcat版本信息,修改tomcat/conf/server.xml文件,在标签HOST中添加:

 <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />

 

产品安全加固

说明:该类配置大部分会对易用性有一定影响或需要配置环境信息,所以没有默认开启,均在bi.properties中修改。

1.防止CSRF跨站请求伪造

 CSRF.check=true

 CSRF.white.list=127.0.0.1,https://demo.yonghongtech.com/bi/

 CSRF.token.check=true

2.限制了单个账户的多重并发登录(V8.5.1):userlogin.sso=true

3.关闭自动登录功能(V8.6.1):show.autologin=false

4.限制管理员账号登录ip(V8.5.1):admin.login.ip.white.list=127.0.0.1

5.用pbkdf2方式加密(V8.6.1):secure.user.pass.pbkdf2=true