如何保障企业系统服务安全

日期: 2013-11-11 作者:羽扇纶巾 来源:TechTarget中国

目前企业开源系统的运行保障是业界关注的热点,如何保证开源系统高效、可靠的运行是非常重要的技术问题。本文将详细介绍如何使用TCP wrappers来保障企业系统服务安全。 使用TCP Wrappers进行保障 1、主要功能 TCP wrappers作为客户端/服务器模型的一部分,以/etc/hosts.allow和/etc/hosts.deny文件作为其简单访问控制列表(ACL)的基础,可用于与libwrap挂钩的任何守护进程。此访问控制语言定义的规则为:基于客户端的地址和客户端尝试访问的守护进程,选择性地允许客户端访问服务器守护程序。

ldd的输出显示sshd依赖的共享库之一是libwrap: ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

目前企业开源系统的运行保障是业界关注的热点,如何保证开源系统高效、可靠的运行是非常重要的技术问题。本文将详细介绍如何使用TCP wrappers来保障企业系统服务安全。

使用TCP Wrappers进行保障

1、主要功能

TCP wrappers作为客户端/服务器模型的一部分,以/etc/hosts.allow和/etc/hosts.deny文件作为其简单访问控制列表(ACL)的基础,可用于与libwrap挂钩的任何守护进程。此访问控制语言定义的规则为:基于客户端的地址和客户端尝试访问的守护进程,选择性地允许客户端访问服务器守护程序。ldd的输出显示sshd依赖的共享库之一是libwrap:

$ ldd /usr/sbin/sshd | grep libwrap
libwrap.so.0 => /lib/libwrap.so.0 (0×00e7c000)

2、使用hosts.allow和hosts.deny

hosts.allow和hosts.deny文件中的每一行的格式如下:

daemon_list : client_list [: command]

其中daemon_list是一个以逗号分隔的一个或多个服务器守护进程(如rpcbind、vsftpd、sshd)的列表,client_list是一个以逗号分隔的一个或多个客户端的列表,可选的command是当client_list中的一个客户端试图访问daemon_lis t中的一个服务器守护进程时,要执行的命令。

当客户端请求连接到服务器时,按照下面的顺序查阅服务器系统上的hosts.allow和hosts.deny文件,直到找到一个匹配项:

  1. 如果守护进程/客户端对匹配hosts.allow中的一行,授予访问权限。
  2. 如果守护进程/客户端对匹配hosts. deny中的一行,访问被拒绝。
  3. 如果在hosts.allow或hosts.deny中都没有匹配项,授予访问权限。

第一个匹配决定是否允许客户端访问服务器。当hosts.allow或hosts.deny中都不存在时,该文件好像是空的。通过删除这两个文件,可以允许所有客户端访问所有守护进程,但不建议这样做。

要开放一个本地系统以从远程系统访问时,请遵循这些准则:

  • 只对你要允许访问它的系统开放本地系统。
  • 只允许每个远程系统访问你要它访问的数据。
  • 只允许每个远程系统以适当的方式(只读、读/写、只写)访问数据。

3、具体例子

为了一个更安全的系统,把以下行放入hosts.deny中以阻止所有访问:

$ cat /etc/hosts.deny
...
ALL : ALL : echo '%c tried to connect to %d and was blocked' >> /var/log/tcpwrappers.log

此行可以防止任何客户端连接到任何服务,除非在hosts.allow中专门允许的连接。当匹配这条规则时,它向/var/log/tcpwrappers.log文件中添加一行。%c扩展到客户端信息,以及%d扩展到客户端试图连接的守护进程名称。

也可以在hosts.allow中包括行,以明确允许访问某些服务和系统。例如,下面的hosts.allow文件允许任何客户端连接到OpenSSH守护进程(ssh、scp、sftp),但只允许来自本地系统网络和192.168. 子网用户的telnet连接:

$ cat /etc/hosts.allow
sshd: ALL
in.telnet: LOCAL
in.telnet: 192.168.* 127.0.0.1
...

第一行允许从任何系统(ALL)连接到sshd。第二行允许与该服务器(LOCAL)在同一个域的任何系统的连接。第三行匹配其IP地址始自192.168.的任何系统以及本地系统。

作者

羽扇纶巾
羽扇纶巾

自由撰稿人。

相关推荐

  • 安全自动化是企业安全“一劳永逸”之法吗?

    有时候安全团队似乎过分依赖于“一劳永逸”的安全机制,而没有足够的安全专业人员提供人性化的分析和判断。在这方面,安全自动化的风险是什么?企业如何利用安全自动化的优势,而确保自己受到保护?

  • 企业安全防护:防御未知威胁的能力是关键

    网络威胁形势只会变得更为严峻,为了在资源有限的情况下最大程度的保护企业安全,部署能够防御未知威胁的产品是摆在企业面前一个重要的课题。

  • 雇佣前黑客:这是企业安全的解决之道吗?

    如今有些企业开始雇佣更多的黑客来帮助他们改善安全态势。虽然黑客拥有很高的技能,但这真的是好主意吗?这一战略的利弊是什么?真的有道德黑客吗?

  • 人工智能会让安全更好还是……

    尽管由狭义的AI进化到真正的人工智能还需要加以时日,但可以肯定的是,AI会让安全变得更简单,这对一直想解放人力物力财力去专注业务创新的企业们来讲无疑是值得雀跃并期待的。