【单点登录|Authing Share|系统安全与防范】
文章图片
概述 随着信息产业的迅猛发展,网络的安全机制与技术也在不断地变化,现在,网络安全技术不再是一种统一的技术和策略,它已经成为了一个十分复杂的系统工程,拆分来说系统安全可细分为用户安全、密码安全、网络应用安全和数据安全。
越来越多的企业开始重视系统安全,为了适应市场的需求,Authing 在系统安全与防范上推出了一套完整的制度与标准流程。
一、用户安全
对于使用 Authing 的用户,我们采用了密码加验证(短信和邮箱)的方式登录,即在密码输入完成后,会给使用者发送短信或邮件提示验证码,当验证码输入正确后才可登录。并且只要此账号登录就会通知到管理员,管理员可以对用户密码进行加密处理或非明文存储等操作。
二、网络安全
网络管理包括网络设备及网络监控等管理,要保障网络设备(例如防毒墙、防火墙等软硬件)安全、可靠和稳定的运行。
合理管理网络设备的 IP 地址,账号密码等不被泄漏,合理设置防毒墙、防火墙等软硬件的过滤规则和防护等级,合理划分管理区域层次,例如安全管理区域、办公区域、网络接入区、核心交换区、中心服务区和数据管理区等。
三、服务器安全
服务器会每天进行监控,定时对服务器进行备份和更换密码,增加密码复杂度,关闭不需要的服务和端口等,禁止 root 远程登录,以及子用户权限合理分配。
四、数据安全
对用户进行权限划分,不同权限的人看到的数据是不同的,只有有权限的人看到的是没有被处理过的数据。
数据备份,灾备保证数据安全性、一致性和隔离性。
制度流程安全
一、用户管理
用户管理分为对使用用户、系统用户、应用用户和数据用户等的管理,按照各种用户的不同身份、不同等级清晰划分用户的各种使用权限及访问范围,通过各个用户的不同需求,使用不同的权限来限制用户的访问范围。
使用用户是指对应用、系统、数据等的使用者,或者对硬件如服务器和交换机等的使用者,这类用户需要根据其对这类事物的应用范围或者用量等合理安排其权利并作详细的使用记录或者留有操作日志等。
系统用户指操作系统的各个管理用户,在操作系统中,一般 Linux 以 root 用户权限最大来管理其他全部用户及文件数据等。root 用户只有运维管理人员或者系统管理员才可以使用,其他人员的使用可以根据需求来创建适合需求的用户来管理数据信息等。
应用用户指应用程序的使用者,这里需要开发人员做好相应的程序控制,不同用户在应用程序中所接触的数据不一样。
数据用户这里主要针对于数据库的操作用户。数据库的各个用户根据不同的数据需求赋予其相应的角色或者用户权限,以达到对不同系统数据的保护和保密作用。
所有用户按照其特点统一管理,根据不同用户的属性划分使用者范围及用户管理人员。其他人员需要使用有权限的账户需要跟相关的管理人员作出申请,申请审核过后并经过登记方,可使用其申请的用户权限,其他人员在未经授权的情况下不得随意使用,或者在有可使用权限以后不能直接告诉其他未经授权使用的人员。
二、密码管理
用户密码和用户名,都需要进行统一的管理。用户及密码的获取均需要提出相应申请,并经过审核,由管理人员登记给出用户及密码。对于密码的安保性,管理人员更需要时刻注意防止密码的外泄。
三、应用管理
应用管理需要加强应用开发、应用代码和应用服务等的安全管理。
应用开发过程中需要有相应的代码描述和注释,统一的代码书写规范及命名规范等。
对于应用代码需要保证代码的安全性,例如防止代码丢失、代码外泄和代码混淆,一般可以通过 svn 等工具,一定程度上提高安全性,但也需要从制度上和习惯上的严格要求。
应用服务需要控制好安全数据的私密性,个人隐私数据及保密数据需要做加密及解密措施,以防止隐私数据的透漏。
四、数据安全
数据安全主要针对数据库内存储的数据管理,包括数据库用户、密码、数据表空间及表的管理。
根据应用系统及存储数据的性质来分配应用使用的用户及密码,划分相应的数据库表结构及表空间。做到数据同一规划,数据存储形式一致,这样既可以保证存储数据的安全性,也可以使我们数据的存储有条理性。
网络安全
一、传输安全
根据应用部署要求和新一代数据中心建设的原则,以及考虑到网络安全的实施,数据中心可划分为以下几个区域 :
- 数据管理区:集中存储和管理所有应用系统的数据。
- 业务应用区:部署总局端的业务应用系统。
- 支撑平台应用区:部署平台支撑应用系统(Session 集中系统、分布式缓存系统和分布式任务调度系统 )。
- 公共服务区:部署公共服务、WEB 服务和安全管理所需要的各种设置与应用系统。
- 安全接入区:用于实现与互联网的安全连接和逻辑隔离,包括各种安全设施,以及直接向互联网用户提供服务的应用系统。
- IT 管控区:用于实现对 ECIQ 主干系统的网络管理、安全管理和运维管理,包括各种安全保障设施和管控平台。
- 主机身份鉴别和应用身份鉴别;
- 访问控制;
- 系统安全审计;
- 入侵防范;
- 主机恶意代码防范;
- 软件容错;
- 数据完整性与保密性、备份与恢复等安全保护措施。
网络高可靠性方面,需要采用构建具备高可靠性的网络结构,建设的网络要可以对业务流量实现分流,也可以互为灾备,因此需要构建可靠的硬件冗余以及网络协议冗余,在网络出现单点故障时能够自动侦测到网络的可达性,并对全网络进行宣告,通过硬件切换或软件切换实现网络的可达性,保证网络正常运行。
三、网络负载均衡
负载均衡运行在网络层面,需要将日常的业务流量均衡至整个数据中心,数据中心内采用负载均衡设备对网络数据流量进行负载分担。
对于业务流量,采用全局负载均衡设备对用户访问数据中心分流,根据策略或负载情况不同用户访问不同的数据中心,分散网络流量,减少网络拥塞,提高访问和服务质量。
对于数据中心内部服务器数据流量,采用本地负载均衡把数据流量合理分配给服务器群内的服务器共同负担。
四、网络结构安全
网络结构的安全是网络安全的前提和基础,系统核心路由和网络设备需要进行冗余部署,避免单点故障,并考虑业务处理能力的高峰数据流量,因此需要冗余空间满足业务高峰期需要,网络各个部分的带宽要保证接入网络和核心网络满足业务高峰期需要。
按照业务系统服务的重要次序定义带宽分配的优先级,在网络拥堵时优先保障重要业务服务器,合理规划路由,业务服务器之间建立安全路径绘制与当前运行情况相符的网络拓扑结构图,根据所涉及信息的重要程度等因素,划分不同的网段或 VLAN。
重要业务系统及数据的重要网段不能直接与外部系统连接,需要和其他网段隔离,单独划分安全区域。
五、网络安全审计
网络安全审计系统主要用于监视并记录网络中的各类操作,侦察系统中存在的现有和潜在的威胁,实时地综合分析出网络中发生的安全事件,包括各种外部事件和内部事件,通过网络监控功能及启用网络设备日志审计,并纳入安全管理平台统一监控管理实现。
六、网络设备防护
为提高网络设备的自身安全性,保障各种网络应用的正常运行,对网络设备需要进行一系列的安全加固措施,包括:
- 对登录网络设备的用户进行身份鉴别,用户名必须唯一;
- 对网络设备的管理员登录地址进行限制;
- 身份鉴别信息具有不易被冒用的特点,口令设置需 3 种以上字符、长度不少于 8 位,并定期更换;
- 具有登录失败处理功能,失败后采取结束会话、限制非法登录次数和当网络登录连接超时自动退出等措施;
- 启用 SSH 等管理方式,加密管理数据,防止被网络窃听;
七、通信保密性
应用层的通信保密性主要由应用系统完成。在通信双方建立连接之前,应用系统应利用密码技术进行会话初始化验证,并对通信过程中的敏感信息字段进行加密。对于信息传输的通信保密性由应用系统和数据库系统传输加密系统完成 。
服务器安全 一、服务器系统安全
服务器安全一:从基本做起,及时安装系统补丁
包括 Windows 和 Linux 在内的任何操作系统都有漏洞,及时的打上补丁避免漏洞被蓄意攻击利用,是服务器安全最重要的保证之一。
服务器安全二:安装和设置防火墙
现在有许多基于硬件或软件的防火墙,很多安全厂商也都推出了相关的产品。对服务器安全而言,安装防火墙非常必要。防火墙对于非法访问具有很好的预防作用,但是安装了防火墙并不等于服务器安全了。在安装防火墙之后,需要根据自身的网络环境,对防火墙进行适当的配置以达到最好的防护效果。
服务器安全三:安装网络杀毒软件
现在网络上的病毒非常猖獗,这就需要在网络服务器上安装网络版的杀毒软件来控制病毒传播,同时在网络杀毒软件的使用中,必须要定期或及时升级杀毒软件,并且每天自动更新病毒库。
服务器安全四:关闭不需要的服务和端口
服务器操作系统在安装时,会启动一些不需要的服务,这样会占用系统的资源,而且也会增加系统的安全隐患。对于一段时间内完全不会用到的服务器可以完全关闭,对于期间要使用的服务器也应该关闭不需要的服务,另外还要关掉没有必要开的 TCP 端口。
服务器安全五 :定期对服务器进行备份
为防止不能预料的系统故障或用户不小心的非法操作,必须对系统进行安全备份。除了对全系统进行每月一次的备份外,还应对修改过的数据进行每周一次的备份。同时,应该将修改过的重要系统文件存放在不同服务器上,以便出现系统崩溃时可以及时地将系统恢复到正常状态。
服务器安全六:账号和密码保护
账号和密码保护可以说是服务器系统的第一道防线,目前网上大部分对服务器系统的攻击都是从截获或猜测密码开始。一旦黑客进入了系统,那么前面的防卫措施几乎就失去了作用。所以对服务器系统管理员的账号和密码进行管理是保证系统安全非常重要的措施。
服务器安全七:监测系统日志
通过运行系统日志程序,系统会记录下所有用户使用系统的情形,包括最近登录时间、使用的账号、进行的活动等。日志程序会定期生成报表,通过对报表进行分析,可以知道是否有异常现象。
二、服务器软件安全
服务器软件主要针对我们使用的软件介质,严格防止携带病毒插件的软件的安装实施,所有软件或者应用的安装部署,均要经过领导审核验证安全后才能放到服务器上进行实施。坚决不允许直接通过服务器上网直接下载任何软件。软件或者文件的上传均需要通过前置机或者堡垒机上传至服务器上运行。
三、服务器安全管理
- 不得在服务器上使用带有病毒和木马的软件、光盘和可移动存储设备,使用上述设备前一定要先做好病毒检测,不得利用服务器从事工作以外的事情,无工作需要不得擅自拆卸服务器零部件,严禁更换服务器配套设备。不得擅自删除、移动、更改服务器数据。不得故意破坏服务器系统,不得擅自修改服务器系统时间。
- 服务器系统必须及时升级安装安全补丁,弥补系统漏洞。必须为服务器系统做好病毒及木马的实时监测,及时升级病毒库。
- 管理员对管理员账户与口令应严格保密、定期修改,以保证系统安全,防止对系统的非法入侵。
- 任何无关人员不得擅自进入主机房,需要进入主机房须征得服务器管理人员同意,爱护主机房内的设备和物品,未经允许非管理人员不得擅自操作机房内设备。
- 严禁易燃易爆和强磁物品及其它与机房工作无关的物品进入机房,严禁吸咽。
- 服务器主机房内必须配备一定数量的防火(灭火)器材,并有专人负责管理,注意妥善保管,定期检查,使其处于随时可用的良好状态。
- 做好机房的防火、防潮、防尘、防虫等工作,坚持“预防为主,防治结合 ”的原则。
- 双休日、节假日,要有专人检查网络运行情况,如发现问题及时解决,并做好记录处理,解决不了的及时报告。
- 管理人员每次节假日前必须将数据库以及网站所有程序及资料备份交下载到本地进行保存。
数据库系统的安全性问题包括两个方面:
- 数据库数据的安全:应能确保当数据库数据存储媒体被破坏时,或因数据库用户误操作以及其他原因造成数据库系统 DownTime 时,数据库数据信息不至于丢失。
- 数据库系统防止非法用户侵入:应尽最大限度的发现并堵住潜在的各种漏洞,防止非法用户利用漏洞侵入数据库系统,获取信息资源。
- 定时进行数据库数据备份,全量备份,增量备份。
- 正确分配备份人员的权限。
- 安装防火墙和入侵检测系统。
- 数据加密采用 DES、密码反馈等先进的加密技术来提高安全性。在对数据库文件密码、数据库字段说明部分加密时要把它们作为一个整体加密。
1.安全管理
绝大多数数据库管理系统采用的是由数据库管理员 DBA 负责系统的全部管理工作 (包括安全管理)。显然,这种管理机制使得 DBA 的权力过于集中,存在安全隐患。
解决办法是在安全管理方面采用三权分立的安全管理体制,将系统管理员进行拆分:
- DBA 负责自主存取控制及系统维护与管理方面的工作
- SSO 负责强制存取控制
- Auditor 负责系统的审计
2.用户管理
用户需要访问管理系统、数据库系统、操作系统、文件系统以及网络系统等,应当申请取得相对应的权限账号,审核通过后才能进行访问数据库系统,为了防止误操作需要及时备份数据用于及时回滚。普通用户是没有对数据库系统操作权限。
身份认证是安全系统中最重要且最困难的工作,因为标识过程和鉴别过程容易混淆。具体而言,标识过程是将用户的用户名与程序或进程联系起来,而用户的鉴别过程目的在于将用户名和真正的合法授权的用户相关联。
如果你喜欢我们的内容,欢迎关注公众号「Authing 身份云」和访问我们的博客Authing 博客,更多有趣的内容等你来看~
推荐阅读
- 单点登录|Authing Share丨如何对用户进行权限管理
- 安全|一份人人都能看懂的 Authing 介绍
- web安全评估|分享一个批量处理防火墙规则的脚本
- JAVA|【Java学习】网络编程全总结——TCP、Udp、多线程、IO流、Socket、简易在线咨询聊天室、Java爬虫
- 网络安全|【Kali】中密码暴力破解工具hydra的使用
- 信息安全|[0CTF 2016]piapiapia 1
- SSH|909422229_SSH暴力破解与防御
- 后端|蘑菇街回应TeamTalk版权(开源的底线是尊重)
- 不归路之Python|什么是计算机网络(为什么需要网络通信?如何进行网络编程?)