随着ERP系统的普及和涉及的范围越来越广,基本覆盖所有行业,ERP系统的数据安全也越来越被重视,关系到企业生命的机密信息都被存储在ERP系统中。
因此,ERP系统里存储的数据一旦泄露和丢失是一件非常可怕的事件。
那么,ERP系统有哪些安全问题呢?如何保证数据的安全性呢?
一、来自网络层面的安全威胁
进入2023年,网络安全仍然是企业管理者需要关注的首要问题。有数据显示,2022年上半年,全球共遭遇28亿次恶意软件攻击和2.361亿次勒索软件攻击根据相关统计数据显示2022年,针对企业的勒索软件攻击比2021年高出33%。
许多受害企业在支付赎金后,却再次遭到同样的勒索病毒的其他攻击,即多重勒索。因此,减少攻击者在目标系统内的停留时间是关键。
Mandiant发布一份安全报告显示 ,披露的入侵事件的平均停留时间从2020年的73天降至28天,这也凸显了勒索病毒威胁在急剧增加。
1.目前许多的企业将ERP系统安装在云服务器上,即为云端,主要是为满足不断出差员工的需要,方便的提供外部的访问。即员工出差在外,可以通过浏览器很方便的访问到内部的ERP系统。这虽然给我们的工作带了很大的便利。
2.同时也给我们系统带来了很大的安全威胁,一旦云服务器 中 勒索病毒,整个系统被锁住,面临所有数据即将丢失,就算妥协支付赎金后,也不一定能够找回所有数据、况且云服务器每年还需支付高额的费用。
3.目前没有好的办法来解决这样安全问题, 只能 下云、下云、下云、 重要的事说3遍,只有将ERP系统数据保留在公司内部然后再进行实时数据备份,这是目前最安全可靠的选择,将ERP系统安装在公司内部服务器上面运行,有效避免被网络机器人扫描,拒绝被入侵的风险。
4.这样员工出差或外部访问将会受阻,因此为员工安全远程访问公司ERP系统可以使用 IBCS虚拟专线,打破地域、网络环境限制,保障企业内部应用的安全访问,使用IBCS虚拟专线优点是,本地数据比较安全,成本低。
IBCS虚拟专线官网:https://www.ibcs.net.cn/
由IBCS虚拟专线提供固定公网IP,搭建企业本地数据中心,为了防止ERP系统数据丢失本地准备至少 3台数据库、1.使用库、2.实时备用库、3.隔天备份库、1-2台主机均可。
二 、来自ERP系统的威胁
1.如果ERP系统本身管理不当,也会存在数据泄露的危险。从ERP系统的角度出发,主要的安全威胁就是权限配置不当所造成的。
2.一是价格权限配置不当。价格对于企业来说,基本上都是敏感数据。所以,我们在EPR中设置权限时,要从价格开始。
3.二是报表方面导出设置不当。报表上面汇集了很多重要的信息,而且,报表可以随便导出来的话,则信息将会无隐私。
所以,在报表的导出权限上,我们要进行特殊的限制。不能让每个用户都可以随便的导出报表。一般可以让用户只能够查看报表,而无法导出报表,这是原则。如果用户真的有导出报表的需求,
那就要申请。特别是对一些敏感数据的报表,如客户信息、产品价格等等,一般都可以把报表导出功能屏蔽掉。只有当需要的时候,再由管理员导出。
三、商业风险
1.企业内部员工或外界黑客和其他入侵者为了获得不当利益丶窃取商业秘密丶猎奇心理等恶意破坏行为造成的事故风险。
2.不管使用何种方式进行使用,重点 、重点、重点、数据一定要进行多份备份在本地,只有数据在自己手里才是最安全的选择。
3.根据企业数据价值决定,本地数据同步备份、异地容灾备份。
JAVA SHILI
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
public class AlipayService {
private final String APP_ID = "your_app_id_here";
private final String APP_PRIVATE_KEY = "your_app_private_key_here";
private final String ALIPAY_PUBLIC_KEY = "alipay_public_key_here";
private final String CHARSET = "UTF-8";
private final String SIGN_TYPE = "RSA2";
private final String GATEWAY_URL = "https://openapi.alipay.com/gateway.do";
public String createPayment(String orderNo, String amount, String subject, String returnUrl) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(returnUrl);
alipayRequest.setNotifyUrl("your_notify_url_here");
String outTradeNo = orderNo;
String totalAmount = amount;
String productCode = "FAST_INSTANT_TRADE_PAY";
alipayRequest.setBizContent("{\"out_trade_no\":\"" + outTradeNo + "\","
+ "\"total_amount\":\"" + totalAmount + "\","
+ "\"subject\":\"" + subject + "\","
+ "\"product_code\":\"" + productCode + "\"}");
AlipayTradePagePayResponse alipayResponse = alipayClient.pageExecute(alipayRequest);
return alipayResponse.getBody();
}
}
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alipay.api.AlipayApiException;
public class PaymentServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String orderNo = request.getParameter("orderNo");
String amount = request.getParameter("amount");
String subject = request.getParameter("subject");
String returnUrl = request.getParameter("returnUrl");
AlipayService alipayService = new AlipayService();
try {
String form = alipayService.createPayment(orderNo, amount, subject, returnUrl);
response.setContentType("text/html;charset=" + alipayService.CHARSET);
response.getWriter().write(form);
} catch (AlipayApiException e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}