一 引言
Linux是一个多用户,多任务的操作系统,由于它稳定、可靠,且系统内核代码的开源性,使得Linux被广泛用于网络服务器操作系统,Linux系统可搭建多种服务器:Web网站服务器、FTP服务器和DNS服务器等,其系统的安全问题也受到人们的日益关注。但是,在近年来的信息安全等级保护测评中发现,很多Linux服务器的安全策略并不完善,部分企业网络管理员以Linux系统服务器安全性高为理由忽视了对服务器的管理,造成了影响系统正常运行的安全隐患。
本文以使用安装CentOS为基础系统的Linux服务器作讨论,从身份鉴别、访问控制、安全审计、入侵防范与恶意代码防范、资源控制等不同方面,提出为Linux服务器以满足《信息安全技术—信息系统安全等级保护基本要求》(GB/T 22239-2008)中三级信息系统(S3A3G3)的要求为目标,使Linux服务器应能够在统一安全策略下防护系统免受来自外部有组织的团体、拥有较为丰富资源的威胁源发起的恶意攻击以及其他相当危害程度的威胁所造成的主要资源损害,能够发现安全漏洞和安全事件,在系统遭到损害后,能够较快恢复绝大部分功能。文章阐述了在信息安全等级保护主机安全测评中的具体测评方法,并提出了对Linux服务器安全策略的配置建议。
服务器的测评主要包括身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、资源控制等方面的内容。
二 身份鉴别
为计算机系统的安全起见,只有经过授权的合法用户才能访问服务器。身份鉴别即服务器需要用户以一种安全的方式提交自己的身份证实,然后由服务器确定用户的身份是否属实的过程。身份鉴别的机制大大的提高了服务器的安全性,主要防止了身份欺诈。所以,核实服务器系统的身份鉴别功能在测评中显得尤为重要。身份鉴别包括对用户的身份标识和鉴别,系统的密码策略、登录控制功能,身份的标识、密码口令的复杂度,登录失败的处理、远程管理的传输模式、用户名的唯一性等。
(1)查看/etc/shadow中的相关参数,其中九个栏位分别代表:账号名称、加密密码、密码更动日期、密码最小可变动日期、密码最大需变动日期、密码过期前警告日数、密码失效天数、帐号失效日、保留位。我们关注第5位密码最大需变动日期即密码可存在的最长天数,默认配置为99999,但建议3个月更换一次即90天。/etc/login.defs中也有对登录密码最小长度限制的配置(PASS_MIN_LEN)。
(2)查看/ete/pam.d/system-auth中pam_cracklib.so的内容,可以用来检验密码的强度。包括密码是否在字典中,密码输入数次失败就断掉连接等功能。
(3)管理员为方便管理服务器常常开启了远程管理的功能,由于telnet与rsh模式使用明文传输,文件在互联网上传输极不安全,所以最好使用更安全的SSH方式来管理服务器。新版本的CentOS默认开启了SSH功能,通过使用netstattunlp指令可查看网络连线的服务,检查sshd程序是否在监听,或查看sshd_config文档中的相关配置。以root身份对服务器进行远程管理是危险的,应禁止root账户的远程管理。当然,最安全的方法是关闭远程管理的功能。
三 访问控制
访问控制是安全防范和保护的主要策略,它不仅应用于网络层面,同样也适用于主机层面,它的主要任务是保证系统资源不被非授权的用户使用和访问,使用访问控制的目的在于通过限制用户对特定资源的访问保护系统资源。通过对访问控制的要求,使不同的服务器访问者拥有不同的服务,防止了用户越权使用的可能。访问控制主要涉及到文件权限,默认共享的问题。需要分别对系统的访问控制功能、管理用户的角色分配、操作系统和数据库系统管理员的权限分离、默认用户的访问权限、账户的清理等做出要求。
(1)查看/ete/passwd中的相关参数,其中七个栏位分别代表账号名称、密码、UID、GID、用户全名、家目录、shell类型,UID只有0与非0两种,非0则是一般账号。一般账号又分为系统账号(1~499)即可登入者帐号(大于500),具有root权限的帐号UID、GID均为0,UID为0的账户应只有一个。若账户密码一栏为“::”则表示密码为空,通过此项可检查出系统是否存在默认账户、多余的共享的账户。
(2)用户、用户组对系统重要文件的访问权限可通过ls~l指令查看。对系统重要文件,使用getfaclfilename指令,系统会列出此文件对于文件拥有者、文件所属组成员、其他用户的不同权限。使用net share指令可查看系统开启了哪些共享。网络管理员可通过对用户群组的管理确定不同用户的访问策略。
四 安全审计
安全审计通过关注系统和网络日志文件、目录和文件中不期望的改变、程序执行中的不期望行为、物理形式的入侵信息等,用以检查和防止虚假数据和欺骗行为,是保障计算机系统本地安全和网络安全的重要技术。通过对审计信息的分析可以为计算机系统的脆弱性评估、责任认定、损失评估、系统恢复提供关键性信息。因此安全审计的覆盖范围必须要到每个操作系统用户和数据库用户。包括审计范围、审计的事件、审计记录格式、审计报表的生成几个方面。
(1)系统登录日志保存在syslogd、klogd文件中,我们也可以通过查询/var/log/messages(记录系统发生错误的信息)、/var/log/secure(所有需要输入帐号密码的软件,login、gdm、su、sudo、ssh等)、/var/log/wtmp,/var/log/faillog(成功和失败登陆者信息)来查看系统是否完整记录重要系统日志。审计记录一般只有root权限的用户才可以读取,所以一般满足不被破坏的要求。
(2)审计记录还应定期生成报表,使用aureport或者CentOS使用自带的logwatch分析工具即可,logwateh还可以定期发送审计记录email给root管理员。
五 入侵防范、恶意代码防范
要维护系统安全,只具备安全系统还不够,服务器必须进行主动监视,以检查是否发生了入侵和攻击。因此一套成熟的主机监控机制能够有效的避免、发现、阻断恶意攻击事件。为防止木马、蠕虫等病毒软件的破坏,安装杀毒软件并及时更新病毒库可以抵御恶意代码的攻击。遵循最小安装原则,仅开启需要的服务,安装需要的组件和程序,可以极大的降低系统遭受攻击的可能性。及时更新系统补丁,可以避免遭受由系统漏洞带来的风险。
(1)CentOS采用yum组件进行自动更新,可使用yum list指令查看目前yum所管理的所有的套件名称与版本,也可查看/var/cache/yum里存放的下载过的文件,以此判断系统补丁是否得到及时更新,或通过#rpm-qa/grep patch查看补丁的安装情况。主流的Linux发行版本通常每月数次发布系统相关的补丁。
(2)Linux系统可使用组件netfilter/iptable配置本机的防火墙。netfilter/iptable信息包过滤系统是一种功能强大的工具,管理员可添加、编辑和删除为包过滤作决定的一些规则。改进后的防火墙对大流量的网络环境有很好的负载能力,具有占用CPU使用率低,内存消耗小,网络吞吐量大的特点。
(3)系统所有的服务状态可使用service-status-all来查看,或者用netstat-tunlp指令来查看目前系统开启的网络服务,并可以检测到主机名称、服务名称和端口号等,避免系统存在不需要的服务或网络连接。一些组件如git、finger、talk、ytalk、ucd-snmp-utils、ftp、echo、shell、login、r、ntalk、pop-2、sendmail、imapd、pop3d等,则是系统不必须要的,需要移除。常见的必须存在的系统服务如表1:
六 资源控制
系统资源是指CPU、储存空间、传输带宽等软硬件资源。通过设定终端接入方式、网络地址范围等条件限制终端登录,可以极大的节省系统资源,保证了系统的可用性,同时也提高了系统的安全性。如果系统管理员在离开系统之前忘记注销管理员账户,那么可能存在被恶意用户利用或被其他非授权用户误用的可能性,从而对系统带来不可控的安全隐患。
(1)查看/etc/hosts.allow与/etc/hosts.deny文件可知系统允许与拒绝登录用户的IP地址或网段。同样在这两个文件中可以写入详细到终端接人方式的具体规则。
(2)使用ulimit-a指令查看对每个用户使用系统资源的限制,如最大内存使用限制。可使用的最大CPU时间等。此项配置可以避免多用户同时连线,过度使用系统资源,防止本地DOS攻击。
(3)查看/etc/profile文件中加入TMOUT的值,确定用户登录超时系统自动注销的时长,确保系统对登陆超时有正确的处理方式。
(4)用top指令查看服务器的CPU、内存、网络等资源的使用情况,避免系统资源过度使用造成系统服务不可用。任何占用50%以上CPU资源的进程都可能有故障。通过syslog配置文件可以通过邮件或短信方式通知管理员系统资源已达到报警阈值。
七 小结
虽然本文提出了用于信息安全等级保护测评中对Linux系统服务器的若干测评方法,但是没有一种固定的测评方法是适用于现实中所有的Linux系统服务器的,测评与具体的产品信息息息相关,可能存在个别不能普适的方法,更重要的是在测评中需要测评人员要根据现场的实际情况做出合理的判断,后期整理时根据全局网络的综合配置做出统一的评判,这样测评工作才能做到更加准确。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/