十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服务、集群服务等等。因此,Linux的安全性就成为了企业构筑安全应用的一个基础,是重中之重,如何对其进行安全防护是企业需要解决的一个基础性问题,基于此,本文将给出十大企业级Linux服务器安全防护的要点。 1、强化:密码管理 设定登录密码是一项非常重要的安全措施,如果用户的密码设定不合适,就很容易被破译,尤其是拥有超级用户使用权限的用户,如果没有良好的密码,将给系统造成很大的安全漏洞。 目前密码破解程序大多采用字典攻击以及暴力攻击手段,而其中用户密码设定不当,则极易受到字典攻击的威胁。很多用户喜欢用自己的英文名、生日或者账户等信息来设定密码,这样,黑客可能通过字典攻击或者是社会工程的手段来破解密码。所以建议用户在设定密码的过程中,应尽量使用非字典中出现的组合字符,并且采用数字与字符相结合、大小写相结合的密码设置方式,增加密码被黑客破解的难度。而且,也可以使用定期修改密码、使密码定期作废的方式,来保护自己的登录密码。 在多用户系统中,如果强迫每个用户选择不易猜出的密码,将大大提高系统的安全性。但如果passwd程序无法强迫每个上机用户使用恰当的密码,要确保密码的安全度,就只能依靠密码破解程序了。实际上,密码破解程序是黑客工具箱中的一种工具,它将常用的密码或者是英文字典中所有可能用来作密码的字都用程序加密成密码字,然后将其与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件相比较,如果发现有吻合的密码,就可以求得明码了。在网络上可以找到很多密码破解程序,比较有名的程序是crack和john the ripper.用户可以自己先执行密码破解程序,找出容易被黑客破解的密码,先行改正总比被黑客破解要有利。 2、限定:网络服务管理 早期的Linux版本中,每一个不同的网络服务都有一个服务程序(守护进程,Daemon)在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。 一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。 在后继的Linux版本中(比如Red Hat Linux7.2之后),取而代之的是采用xinetd进行网络服务的管理。 当然,具体取消哪些服务不能一概而论,需要根据实际的应用情况来定,但是系统管理员需要做到心中有数,因为一旦系统出现安全问题,才能做到有步骤、有条不紊地进行查漏和补救工作,这点比较重要。 3、严格审计:系统登录用户管理 在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。 与其他Unix操作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。 在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是采用影子档案的最佳帮手。 此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和地点。 Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。 4、设定:用户账号安全等级管理 除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。 在Linux系统中的部分文件中,可以设定允许上机和不允许上机人员的名单。其中,允许上机人员名单在/etc/hosts.allow中设置,不允许上机人员名单在/etc/hosts.deny中设置。此外,Linux将自动把允许进入或不允许进入的结果记录到/var/log/secure文件中,系统管理员可以据此查出可疑的进入记录。 每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是借用了那些很久不用的账号。 在用户账号之中,黑客最喜欢具有root权限的账号,这种超级用户有权修改或删除各种系统设置,可以在系统中畅行无阻。因此,在给任何账号赋予root权限之前,都必须仔细考虑。 Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称。例如,在RedHatLinux系统中,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。最好不要修改该文件,如果一定要从远程登录为root权限,最好是先以普通账号登录,然后利用su命令升级为超级用户。 5、谨慎使用:“r系列”远程程序管理 在Linux系统中有一系列r字头的公用程序,比如rlogin,rcp等等。它们非常容易被黑客用来入侵我们的系统,因而非常危险,因此绝对不要将root账号开放给这些公用程序。由于这些公用程序都是用。rhosts文件或者hosts.equiv文件核准进入的,因此一定要确保root账号不包括在这些文件之内。 由于r等远程指令是黑客们用来攻击系统的较好途径,因此很多安全工具都是针对这一安全漏洞而设计的。例如,PAM工具就可以用来将r字头公用程序有效地禁止掉,它在/etc/pam.d/rlogin文件中加上登录必须先核准的指令,使整个系统的用户都不能使用自己home目录下的。rhosts文件。 6、限制:root用户权限管理 Root一直是Linux保护的重点,由于它权力无限,因此最好不要轻易将超级用户授权出去。但是,有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用其他工具让这类用户有部分超级用户的权限。sudo就是这样的工具。 sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。例如,应用sudo后,可以让管理磁带备份的管理人员每天按时登录到系统中,取得超级用户权限去执行文档备份工作,但却没有特权去作其他只有超级用户才能作的工作。 sudo不但限制了用户的权限,而且还将每次使用sudo所执行的指令记录下来,不管该指令的执行是成功还是失败。在大型企业中,有时候有许多人同时管理Linux系统的各个不同部分,每个管理人员都有用sudo授权给某些用户超级用户权限的能力,从sudo的日志中,可以追踪到谁做了什么以及改动了系统的哪些部分。 值得注意的是,sudo并不能限制所有的用户行为,尤其是当某些简单的指令没有设置限定时,就有可能被黑客滥用。例如,一般用来显示文件内容的/etc/cat指令,如果有了超级用户的权限,黑客就可以用它修改或删除一些重要的文件。 7、追踪黑客踪迹:日志管理 当用户仔细设定了各种与Linux相关的配置(最常用日志管理选项),并且安装了必要的安全防护工具之后,Linux操作系统的安全性的确大为提高,但是却并不能保证防止那些比较熟练的网络黑客的入侵。 在平时,网络管理人员要经常提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载。例如: 正常用户在半夜三更登录; 不正常的日志记录,比如日志只记录了一半就切断了,或者整个日志文件被删除了; 用户从陌生的网址进入系统; 因密码错误或用户账号错误被摈弃在外的日志记录,尤其是那些一再连续尝试进入失败,但却有一定模式的试错法; 非法使用或不正当使用超级用户权限su的指令; 重新开机或重新启动各项服务的记录。 上述这些问题都需要系统管理员随时留意系统登录的用户状况以及查看相应日志文件,许多背离正常行为的蛛丝马迹都应当引起高度注意。 8、横向扩展:综合防御管理 防火墙、IDS等防护技术已经成功地应用到网络安全的各个领域,而且都有非常成熟的产品。 在Linux系统来说,有一个自带的Netfilter/Iptables防火墙框架,通过合理地配置其也能起到主机防火墙的功效。在Linux系统中也有相应的轻量级的网络入侵检测系统Snort以及主机入侵检测系统LIDS(Linux Intrusion Detection System),使用它们可以快速、高效地进行防护。 需要提醒注意的是:在大多数的应用情境下,我们需要综合使用这两项技术,因为防火墙相当于安全防护的第一层,它仅仅通过简单地比较IP地址/端口对来过滤网络流量,而IDS更加具体,它需要通过具体的数据包(部分或者全部)来过滤网络流量,是安全防护的第二层。综合使用它们,能够做到互补,并且发挥各自的优势,最终实现综合防御。 9、评测:漏洞追踪及管理 Linux作为一种优秀的开源软件,其自身的发展也日新月异,同时,其存在的问题也会在日后的应用中慢慢暴露出来。黑客对新技术的关注从一定程度上来说要高于我们防护人员,所以要想在网络攻防的战争中处于有利地位,保护Linux系统的安全,就要求我们要保持高度的警惕性和对新技术的高度关注。用户特别是使用Linux作为关键业务系统的系统管理员们,需要通过Linux的一些权威网站和论坛上尽快地获取有关该系统的一些新技术以及一些新的系统漏洞的信息,进行漏洞扫描、渗透测试等系统化的相关配套工作,做到防范于未然,提早行动,在漏洞出现后甚至是出现前的最短时间内封堵系统的漏洞,并且在实践中不断地提高安全防护的技能,这样才是一个比较的解决办法和出路。 10、保持更新:补丁管理 Linux作为一种优秀的开源软件,其稳定性、安全性和可用性有极为可靠的保证,世界上的Linux高手共同维护着个优秀的产品,因而起流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统内核。 Kernel是Linux操作系统的核心,它常驻内存,用于加载操作系统的其他部分,并实现操作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全(一般说来,内核版本号为偶数的相对稳定,而为奇数的则一般为测试版本,用户们使用时要多留意),新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。 在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。
创新互联建站-专业网站定制、快速模板网站建设、高性价比新华网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式新华网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖新华地区。费用合理售后完善,十载实体公司更值得信赖。
首先、租用服务器根据业务需求购买防火墙,WAF、隔离内外网,进行防病毒检测。
其次、配置NAT地址转换,保护内网安全,vlan划分隔离局域网
再次、安装杀毒,防火墙软件,不可忽视的是要正确配置系统,禁用危险的服务端口,对自身系统环境进行安全设置。然而定期做好备份,防止系统异常时候启用备用方案,这也很重要。
最后、监控进出网络的流量,当发生严重的问题时,方便检测出问题所在。
安全的改变
随着云计算技术的普及,越来越多的企业将其系统向云端迁移,云计算便捷、可靠和廉价的特性被广大用户接受。
从另一方面来说,尽管距离商业化公有云业务的推出已经超过10年,根据CSA(CloudSecurityAlliance,云安全联盟)在今年年初发布的《CloudAdoption,PracticesandPrioritiesSurveyReport》调研报告,73%的受访对象表示安全仍旧是企业上云的首要顾虑。
对于很多企业用户来来说,由于云服务器替代传统服务器承载了与企业生存发展息息相关的互联网业务,使得用户对云安全的疑问很大程度上聚焦在云服务器的安全上。
云服务器安全吗?这个问题不仅仅限定在看不到摸不着的虚拟化层面,让用户感触更为深刻的是——突然发现,之前很多常见和常用的安全防护系统,特别是“硬件盒子”,都从采购名单上消失了。云计算环境对于安全防护的改变可见一斑。
这样一来,云服务器的安全该如何实现呢?
不变的安全
正像云计算对于互联网业务革命性的改变一样,对安全的改变也是彻底的,不仅体现在安全防护理念上,还对安全交付方式的改变。
不过,安全的本质并没有因为云计算技术的引入发生改变。事实上,部署在传统环境下的服务器和云环境下的服务器,从安全风险角度上讲没有太多不同。
从上图可见,云服务器的安全风险主要包括:
(1)自身存在的脆弱性,例如漏洞(包括虚拟化层面)、错误的配置、不该开放的端口等;
(2)外部威胁,例如后门、木马、暴力破解攻击等。
不管是部署在传统数据中心还是云数据中心中,服务器安全都要面对和解决上述两个方面的风险。
对于云服务器来说,首先需要解决的是自身脆弱性的问题,特别是漏洞。存在漏洞的系统就像一间打开窗户的房间,不管安装了多么先进的门禁系统,也无法阻挡小偷的光临。此外,对服务器关键配置和端口的检查和监控,一方面可以减少攻击面,另一个方面可以随时掌握系统安全状态。从外部威胁角度上讲,暴力破解仍旧是云服务器最大的网络威胁。暴力破解防护需要覆盖系统、应用和数据库三个层面,任何一个层面的缺失都会增大系统遭受入侵的概率。最后,能否快速发现和清除云服务器上的病毒、木马和后门是对防护能力的重大考验。
双重挑战
然而,现实是骨感的。云服务器安全面临来自内部和外部的双重挑战。
首先,云服务器的脆弱性突出体现在未被修复的漏洞上。根据国外某安全机构的统计,在金融行业,漏洞平均修复时间长达176天。采用云计算后这个数字稍微有所改善,然而,云服务器漏洞的平均修复时间仍旧是50天。无论是176天还是50天,对于进攻一方来说,足够遍历整个服务器。
其次,根据国外某安全公司的测试,“黑客”成功入侵AWS服务器只需要4个小时。表面看是系统脆弱性导致,背后实际上是黑客的暴力破解行为。在云计算环境中,大部分云服务提供商并不提供暴力破解防护服务,而是建议用户在服务器上安装三方防护软件。事实上,市面流行的云服务器安全软件一般只提供操作系统层面的暴力破解防护,并没有覆盖到应用和数据库层面。应用和数据库层面的缺失无疑是在云服务器防护上玩起了“锯箭”法——操作系统我管,上面的找别人。
第三,绝大多数云服务器安全系统/方案体现为单点防护。单点防护具有两个特点:横向上针对服务器个体的防护以及纵向上在服务器一个层面进行防护。横向上的单点防护体现为每个云服务器都是彼此孤立的个体。在木马、后门变异样本层出不穷的今天,如果恶意样本采集不是实时的,分析和策略分享、下发不能快速完成,将无异于将主动权拱手让给入侵者。纵向上的单点体现在,同时也是常见云服务器安全软件的“通病”,无论是网络、系统、应用和数据防护都依靠安装在云服务器上的软件来完成。先不说防护效果,启用防护功能需要调用大量的系统资源,等同于发起一场自残式的拒绝服务攻击。
最后,安全攻防的背后是人的技能、智慧以及经验的对抗。在特定情况下,要求人员介入,快速完成样本收集、取证、分析和攻击阻断。然而,对于大多数企业来说,建立一支具有专业技能的安全攻防团队是不现实的。
因此,云服务器的安全防护是对平台化、体系化以及包括快速响应、技术经验在内运营能力的全面挑战,而不是简简单单安装一个主机防护软件就可以实现的。
云服务器防护应该是什么样子?
一个完整和全面的云服务器防护方案应该包含对内部脆弱性(漏洞、配置、端口等)的快速定位、修复以及对外部威胁的迅速发现和阻断。
对于内部脆弱性,特别是严重威胁云服务器安全的漏洞,不仅要求精准定位,对于绝大部分漏洞来说,自动化的漏洞修复将有效提升安全防护的效率和效果。对于关键服务器或有严格合规/业务规定的服务器,云服务商应该提供漏洞修复的风险提示,这个工作不应该交给用户。云盾安骑士软件提供自动化漏洞修复功能,以及针对补丁的风险评估及修复建议。
其次,对于云服务器首要的外部威胁——暴力破解,防护系统必须涵盖系统、应用和数据库。云盾安骑士软件支持WINDOWS系统和LINUX系统两大平台,同时针对SSH,RDP,Telnet,Ftp,MySql,SqlServer等等常见应用和数据库提供安全监控,随时发现黑客的暴力破解行为。
1、构建硬件安全防御体系,防火墙、入侵检测系统、路由系统等是一套完善的安全模型需要的组件。
2、服务器内网、外网隔离
3、安装云锁服务器安全防护软件
4、采用NTFS文件系统格式
5、做好系统备份和数据备份
6、关掉不必要开的服务,做好本地管理和组管理。
7、关闭一些默认的不必要端口,应该全部关闭,用到时再开启,不用时立刻关闭。
8、下载安装操作系统最新的安全漏洞补救程序
9、及时下载安装数据库补丁程序
10、开启服务器事件日志,跟踪分析黑客行为