昌平电脑培训分享法提高服务器安全等级

对于程序员来说,除了完成软件编程,还需要增加一些基本的信息安全措施。今天,我们来看看提高服务器安全级别的安全措施的类型。

深度预防

深度防御原则是安全专业人员熟知的原则,它显示了冗余安全措施的价值,这已被历史所证明。

深度防御的原理可以扩展到其他领域,而不仅仅是编程领域。用过备用伞的跳伞者可以证明,有冗余的安全措施是多么有价值,虽然人们从来不希望主伞失效。冗余安全措施可能在主要安全措施的潜在故障中发挥重要作用。

回到编程领域,坚持深度预防的原则要求您始终有一个备份计划。如果一个安全措施失败了,另一个必须提供一些保护。例如,在用户执行重要操作之前重新验证用户是一个好习惯,尽管您的用户验证逻辑中没有已知的缺陷。如果未经身份验证的用户以某种方式伪装成另一个用户,提示输入密码可能会阻止未经身份验证(未经验证)的用户执行某些关键操作。

虽然纵深防御是合理的原则,但过度增加安全措施只能增加成本,降低价值。

小权力

我以前有一辆配有仆人钥匙的车。这把钥匙只能用来点火,所以打不开车门,控制台,后备箱。它只能用来发动汽车。我可以交给停车服务员(或者留在点火上),我确定这把钥匙不能做其他用途。

给停车服务员一把打不开控制台或后备箱的钥匙是有道理的。毕竟,你可能想把贵重物品放在这些地方。但是我觉得它为什么打不开门也说不通。当然,这是因为我的观点在于收回权威。我在想为什么停车服务员被剥夺了开门的权利。这是编程中非常不好的观点。相反,你要考虑什么权限是必要的,只给每个人尽可能少的权限来完成他的工作。

佣人钥匙打不开车门的一个原因是这把钥匙是可以复制的,而且这把复制的钥匙以后可能会被用来偷车。这种情况听起来不太可能,但是这个例子说明,不必要的授权会增加你的风险,即使你增加一点权限。风险最小化是安全程序开发的主要组成部分。

你不必考虑权利被滥用的所有方式。事实上,你几乎不可能预测每个潜在攻击者的行动。

简单就是美

复杂性滋生错误,错误会导致安全漏洞。这个简单的事实解释了为什么简单性对于一个安全的应用程序如此重要。不必要的复杂性和不必要的风险一样糟糕。

曝光最小化

PHP应用程序需要PHP和外部数据源之间的频繁通信。主要的外部数据源是客户端浏览器和数据库。如果您正确地跟踪了数据,您就可以确定暴露了哪些数据。互联网是主要的暴露源,因为它是一个非常公共的网络,您必须始终小心防止数据在互联网上暴露。

数据暴露不一定意味着安全风险。但是,必须最大限度地减少数据泄露。例如,当用户进入支付系统并将他的信用卡数据传输到您的服务器时,您应该使用SSL来保护它。如果你想在一个确认页面上显示他的信用卡号,因为卡号信息是从服务器发送到他的客户端的,你也应该使用SSL来保护它。

例如,在前面的例子中,显示信用卡号码显然会增加暴露的机会。SSL确实可以降低风险,但是一个好的解决方案是通过只显示最后四位数来完全消除风险。

为了降低敏感数据的曝光率,长平电脑培训认为,你必须确认哪些数据是敏感的,同时进行跟踪,杜绝一切不必要的数据曝光。在本书中,我将展示一些技巧来帮助您保护许多常见的敏感数据。