谈LINUX服务器的安全加固
段垚 国家广播电视总局监管中心摘要 :随着我国信息化建设不断推进,信息技术广泛应用,信息安全问题凸显。服务器的安全加固是信息系统安全体系建设过程中不可或缺的一环,本文根据《信息安全技术 信息系统安全等级保护基本要求》第3级要求,结合作者在实际工作中遇到的各种问题,从用户、审计和安全代码防护三个方面介绍了linux服务器的安全加固方法。关键词 :安全 Linux 加固 服务器引言服务器是信息系统的核心设备,黑客攻击的最终目的就是通过提权操作获取服务器中的重要资源。服务器一般位于系统纵深内部,与外网之间使用安全设备进行隔离,虽然一定程度上为其提供了安全保障,但对服务器自身的安全加固也是不能忽略的。在操作系统默认安装的情况下,均未对安全进行配置,下文将参考《信息安全技术 信息系统安全等级保护基本要求》3级要求,结合作者在实际工作中遇到的问题,采用问答的方式浅谈一下Linux服务器的安全加固方法。1.用户1.1.系统中应该存在多少账号在实际测评工作中会发现,一大部分操作系统仅有root一个账号,而另一部分操作系统因为安装、调试等原因会存在很多账号。到底每个操作系统应该有多少个账号呢,根据三权分立、相互制约的原则,应至少存在超级管理员、配置员和审计员三种类型的用户。为便于安全事件的追溯,系统应为不同用户分配不同账号,严格禁止多用户共享同一个用户名的情况。那么下面让我们检查一下系统中已经存在的账号。用户的基本信息被存储在/etc/passwd文件中。这个文件的每一行代表一个用户,使用cat命令查看文件内容,如果存在多余或过期账户,在确认账户状态后应将其删除。如果仅存在root一个账户则应按不同需求建立不同账户,避免用户名共享。1.2.是否每个用户都配置了口令在etc目录下,有passwd和shadow两个文件,这是Linux中用于存储用户信息的文件。在早期的版本中,passwd是管理用户的唯一场所,包括用户名和口令在内的所有信息都记录在这个文件中。出于安全考虑,现在用户口令被转存至shadow文件中,Shadow文件仅对root用户可读。使用cat命令查看文件内容,该文件第一个字段为用户名,第二个字段为口令,口令采用加密存储,如果该字段显示“!!”则表示该用户名口令为空,需要为该用户添加口令。1.3.应该怎么配置口令为了减小口令被暴力破解的可能性,建议口令长度大于6位,由大小写字母、数字和特殊字符组成,口令应定期进行更换。为了增加执行力度,可通过配置文件进行强制要求。配置方法如下:/etc/login.defs,增加以下配置PASS_MAX_DAYS99999(用户的密码不过期最多的天数);PASS_MIN_DAYS0(密码修改之间最小的天数);PASS_MIN_LEN5(密码最小长度);PASS_WARN_AGE7(密码过期提醒)。/etc/pam.d/system-auth,增加以下配置password required pam_cracklib.so retry=3 difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-2difok=3注:要3个不同字符;minlen=8(最小密码长度为8位);ucredit=-1(最1个大写字母);lcredit=-1(最少1个小写字母);dcredit=-2(最少2个数字)。1.4.除口令外是否还需要其它的身份鉴别方式按照国标及行标要求,等保3级及3级以上的信息系统均应采用两种或两种以上的身份鉴别方式,即除用户名加口令的外还应采取第二种身份鉴别技术。用户可以根据自身实际情况采用证书、动态口令牌、虹膜等身份鉴别方式,其中动态口令牌使用较为广泛。1.5.登录失败处理应该怎么配置数码世界 P.262
不增加登录失败处理策略,理论上可以通过暴破方式入侵主机,应采取结束会话、锁定或自动退出等措施限制口令尝试次数。/etc/pam.d/system-auth应增加以下配置auth required pam_tally.so onerr=fail deny=3 unlock_time=10deny=3(登录失败3次)unlock_time=10(锁定10分钟)1.6.采用什么样的远程管理手段Linux服务器一般采用telnet和ssh方式进行远程管理,telnet未对传输过程进行加密,鉴权信息等敏感内容可能会被窃听,顾建议采用ssh的远程管理方式。加固方法如下:首先使用chkconfig --list |grep telnet命令查看是否启用了telnet服务,如果启用,用则应停用该服务。使用vi编辑/etc/xinetd.d/telnet文件,将“disable=no”改为“disable=yes”,然后重启计算机。或将telnet安装包直接删除,命令行为“#rmp -e telnet -server --nodeps”。使用rpm aq | grep ssh查看是否已安装SSH程序包,如已安装则应将/etc/ssh/sshd.config文件中“port 22”前的 “#”注释符去掉,并把22端口在防火墙上开放。2.审计在等级保护3级中对审计要求共有7个控制点,其中:应对系统中的接口服务器、Web服务器、应用服务器、数据库服务器等重要服务器的操作系统和数据库进行审计,审计粒度为用户级。审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用及其他与审计相关的信息。审计记录至少应包括事件的日期、时间、类型、用户名、客户端IP地址、访问对象、结果等。三个控制点在linux默认配置的情况下,基本符合要求。应保护审计进程,避免受到未预期的中断。应保护审计记录,避免受到未预期的删除、修改或覆盖等,审计记录至少保存90天。应定期对审计记录进行分析,以便及时发现异常行为。三个控制点需要对linux进行额外配置。2.1.如何保护审计进程为了避免审计进程被未预期的中断,需要对审计进程进行守护,应定时扫描audit进程,当检测到进程中断后应重启,并记录到日志。下为保护进程示例,请读者参考。#! /bin/shauditdPIDCount=0`rm -f /auditd_restart.log`#LOOPwhile true; dosleep 5echo `date +\"%Y-%m-%d %H:%M:%S\"` > /dev/null 2>&1auditdPIDCount=`ps aux | grep 'auditd' | grep -v 'grep' | grep -v 'kauditd' | wc -l`if [ $auditdPIDCount -lt 1 ]; then`/sbin/auditd > /dev/null 2>&1 &`echo `date +\"%Y-%m-%d %H:%M:%S\"` auditd Restart >> /auditd_restart.log智能制造
基于BP神经网络的船舶自动舵自适应控制研究
蔡建邦 广州航海学院 轮机工程学院摘要 :最常规的自动舵是PID自动舵,其设计参数是根据船舶自身的航速、船长、船宽、满载吃水、方形系数、重心距离、舵叶面积以及航行海况来确定的,这种调节方式对船舶所处环境发生变化的适应能力较差。因此尝试用先进的智能控制理论结合常规PID算法进行船舶自动舵的设计,提高船舶自动舵对环境变化的适应能力,以实现非线性控制、动态响应快、鲁棒性强、超调小等特点,提高控制性能。关键词 :自动舵 模糊PID控制 BP神经网络一、常规自动舵PID控制方法是最广为应用的控制方法,针对不同控制对象在基于反馈环节的闭环控制下均有较好的控制效果,是各种控制器的核心,被成熟地运用到船舶自动舵的控制中,使自动舵控制得以长足的发展,尽管产生的年代已久仍以其成熟可靠的性能以及相对低廉的造价被大多数海船采纳使用。其中,r(t)为期望值,y(t)为实际输出值,e(t)=r(t)-y(t),e(t)为偏差值,u(t)则为e(t)经过PID控制运算后的控制输出,u(t)用数学语言可表示为:其中,Kp,Ki和Kd是比例系数,积分系数和微分系数。
关于比例系数Kp,系统的超调量随着Kp的增加而增加,系统响应速度随Kp的增加而增加,但系统的稳定性由于Kp的增加而恶化。对于积分因子Ki,系统的过冲随着Ki的增加而减小,并且系统的响应速度随着Ki的增加而减速。关于微分系数Kd,系统的超调量随着Kd的增加而增加,并且响应速度随着Kd的增加而减小。
二、模糊自适应自动舵
模糊控制是通过PID自动控制规律作为船舶模型的输入,将获取的船舶航向偏差和偏差变化率作为模糊控制的输入。比例系数Kp,积分系数Ki和微分系数Kd根据预设的模糊规则进行调整,PID系统由模糊控制来完成参数在线修正,以此实现对船舶模型的自适应控制。其控制原理如图1所示。
在模糊控制器的作用下,每个模糊控制器在模糊化环节之前具
有量化因子,最后经过解模糊并乘以比例因子以得到最终输出。因为偏差航向作为模糊控制输入的物理论域是在不断变化的,而量化因子和比例因子又是由物理论域和模糊论域共同决定的,所以固化的量化因子和比例因子设置不当过程过于粗糙会导致控制器震荡甚至失去平衡,影响系统精度和稳态性能,产生超调和震荡,因此并不能良好地满足控制精度的要求,需要根据环境情况对量化因子和比例因子进行在线调整。
三、基于BP神经网络的自适应自动舵这里,添加BP神经网络以调整量化因子和比例因子。期望的方向是BP神经网络的输入,输出是模糊控制器的量化因子和比例因子,以实现对船模型的进一步自适应控制。其控制原理图如图2所示。量化因子和比例因子的变化总趋势不会有太大的改变,将大量人工整定好的量化因子和比例因子作为训练数据,训练所设计的BP神经网络如图2所示。
图1 模糊PID自动舵 图2基于BP神经网络的自适应自动舵fidone#exitecho `date +\"%Y-%m-%d %H:%M:%S\"` exit >> /auditd_restart.logexit 02.2.如何保护审计记录审计记录保存在本机显然是不安全的,审计记录可以被人为恶意删除或因设备故障丢失,在安全事件发生后,没有日志记录很难找到事件原因。因此我们需要在系统中单独搭建日志服务器,将本机日志传送到日志服务器,在日志服务器中保存。3.恶意代码防护恶意代码防护包括恶意入侵和病毒,在应用程序部署完成后应及时关闭不必要的服务和端口,安装病毒查杀软件,启用入侵检测功能,保持系统补丁和病毒库及时更新。3.1.是否必须安装杀毒软件安装杀毒软件可能会造成系统性能下降,并引发其他位置风险,顾对于核心业务服务器酌情处理,如未安装则应避免通过USB及光驱等设备直接拷贝文件,在安全域边界处应采用防毒墙对恶意代码进行查杀。如果安装杀毒软件则应在系统内部部署恶意代码升级服务器,通过升级服务器保持客户端恶意代码库的更新。建议系统防病毒网关与杀毒软件采用不同的恶意代码库。3.2.是否必须对系统补丁进行更新系统补丁补丁与杀毒软件类似,系统补丁的更新会产生一定的潜在风险,建议在实验系统先行部署,如无异常,再进行生产系统部署。3.3.入侵防护建议在系统边界处部署入侵防护设备,对系统的入侵防护进行整体考虑。4.结束语因运行应用千差万别,顾服务器有着各自不同的安全需求,在对其进行安全加固时应从易用性、稳定性等多方面进行综合考虑,文中的加固方法并不适用于所有服务器,这里仅是起到抛砖引玉的作用,给服务器管理者提供一些安全加固的思路,文中不妥之处请读者加以指正。参考文献[1]GB/T 22239-2008 信息安全技术 信息系统安全等级保护基本要求。作者简介段垚(1980.2-),男,汉族,北京人,硕士,国家广播电视总局监管中心高级工程师,研究方向:广播电视信息安全。数码世界 P.263
因篇幅问题不能全部显示,请点此查看更多更全内容