安全加固

<< Click to Display Table of Contents >>

当前位置:  产品安装 > 常见问题 

安全加固

复制链接

1. 概述

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

1.1 Tomcat安全加固

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

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

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

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

注意:

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

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

<!--<Connector executor="tomcatThreadPool"

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

        connectionTimeout="20000"

        redirectPort="8443" />-->

<Connector port="8443" address = "192.168.1.146" 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" />  

注意:address输入监听地址,访问此地址才可以访问到,如输入192.168.1.146,则只能通过192.168.1.146,无法访问127.0.0.1。

c)修改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" />

1.2 产品安全加固

说明:

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

防止CSRF跨站请求伪造

CSRF.check=true

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

CSRF.token.check=true

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

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

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

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

1.3 Yonghong安全应急恢复指导

为了防止和应对产品系统的各种安全应急事件,需要预防为主,果断处置。

1)当发现某用户异常登陆或异常操作,可在【监控预警>系统监控>用户行为>用户登陆信息统计】中剔除该用户,或在【认证授权】中禁用该用户。

2)当发现数据丢失或被篡改,可通过备份文件快速恢复。默认在Yonghong/backup中找到需要恢复到的时间节点的备份,将备份替换掉Yonghong/bihome目录即可。

3)当发现数据被盗取或泄露,立即关闭网站,通知相关安全人员追查,并向领导小组汇报,如领导小组认为情况极为严重,应立即向公安部门报告。

4)及时将问题反馈到永洪售后人员或发送邮件到psirt@yonghongtech.com。