快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

UNIX下如何通过IP限制用户远程登录

    在日常维护或安全加固行为中,我们往往需要通过对接入客户端的IP地址进行限制来实现系统的操作可以对应到执行操作的人员,本文汇总了IBM AIX、HP UX和SUN SOLARIS三种操作系统上如何通过IP来限制用户的远程登录的方法。

  一、HP-UX

  1.1 /var/adm/inetd.sec

  在HP UX中,可以对IP地址和通过这个IP地址接入的服务进行限制。在HP系统中有一个配置文件inetd.sec,用于设置每一个服务允许或禁止被某些网络地址使用。在系统缺省安装中,这个文件内容为空或不存在,即系统缺省允许任意地址使用本机的任何服务。

  设置方法:

  1.检查/var/adm/inetd.sec是否存在,不存在则以root用户创建:

  # touch /var/adm/inetd.sec

  2.编辑/var/adm/inetd.sec文件,保证其中包含以下几行,例如:

  shell allow 139.104.8.21 139.104.8.22

  login allow 139.104.8.1-64 139.104.4.1-64

  telnet allow 139.104.8.1-128 139.104.4.1-128

  ftp allow 139.104.8.1-128 139.104.4.1-128

  首先说明每一行各字段的含义,第一列是服务名,对应于/etc/services的第一列。第二列是权限,可以为allow或deny,如果是allow,则表示仅在后面的地址列表中的地址允许访问。第三列为地址列表,用空格分隔开多个地址,可以是完整的IP地址或网段地址,也可以用网络名来表示。通配符(*)和范围符(-)在地址列表中被允许使用。

  上面的例子是一个典型的移动智能网的SCP的限制配置,第一行shell用于配置rsh允许的地址,由于双机两台主机之间需要使用rsh,因此必须保证双机的两台主机的/var/adm/inetd.sec相互都包含对方的IP

  第二行login用于配置rlogin允许的地址,由于双机两台主机之间需要使用rlogin,因此必须保证双机的两台主机的/var/adm/inetd.sec相互都包含对方的IP

  第三行用于配置telnet允许的地址,这里就是局方允许登录的远程终端的IP地址,可以根据需要配置。

  第四行用于配置ftp允许的地址,根据需求配置。注意SMP需要访问SCP的FTP服务、SMAP也需要访问SMP的FTP服务、RBI要访问SCP的FTP服务,因此SCP上需要加上SMP的地址,SMP需要加上SMAP的地址列表

  3.修改/var/adm/inetd.sec文件的属性,保证他人不可写:

  # chmod 444 /var/adm/inetd.sec

  需要注意的是,我们使用此功能的目的是为了限制某些客户端的访问,添加allow或deny务必保证原来需要访问的主机包含在allow中或不在deny中。UNIX主机在收到用户的登录申请后,会根据服务名进行检查,比如telnet(23)服务,如果发现配置文件中有telnet服务,而且配置了allow项,则接入的IP地址在allow项的list中,系统才允许此IP登录,否则系统将不允许此IP连接;如果配置的是deny项,则接入的IP地址必须不在deny的list中,系统才允许此IP进行连接。

  1.2 FTP服务,

  FTP服务可以针对用户进行设置,在HP-UX系统中,通过配置/etc/ftpd/fpaccess文件每行增加一个用户名,系统将只允许此文件中配置的用户进行FTP操作。需要注意在生产系统上实施时必须包含需要FTP的账户名称。

    二、IBM AIX

  2.1 /etc/security/user

  /etc/security/user配置文件包含用户的扩展属性,出于AIX系统安全考虑,需要使某些用户只能在控制台登录使用,而不允许远程登陆使用。处理方法: 更改/etc/security/user 文件中需要限制的用户的rlogin属性(rlogin = false)。当再次尝试远程登录时,系统报错:Remote logins are not allowed for this account ,表示修改成功。

  AIX系统可以针对设备端口(/dev/pts)进行限制,但是对我们的需求来讲,似乎用途不大,这里仅做介绍。可以编辑/etc/security/user文件,例如:

  test:

  admin = false

  admgroups = system

  ttys = !/dev/pts/0,ALL

  结果是用户test可以在除了pts/0以外的所有端口登录,当test在pts/0登录时, 系统报错:You are not allowed to access the system via this terminal。

  AIX操作系统支持静态的IP包过滤功能,可以利用这一功能来保护连接在网络上的服务器。但是与HP-UX不同,缺省安装是不具备此功能的,在使用这一功能之前,需要安装以下文件集(filesets),如果文件集不存在,请安装这些文件集,然后重新启动机器。

  # lslpp -l bos.net.ipsec.rte

  Fileset Level State Description

  ----------------------------------------------------------------------------

  Path: /usr/lib/objrepos

  bos.net.ipsec.rte 5.3.0.20 COMMITTED IP Security

  # lslpp -l bos.net.ipsec.keymgt

  Fileset Level State Description

  ----------------------------------------------------------------------------

  Path: /usr/lib/objrepos

  bos.net.ipsec.keymgt 5.3.0.20 COMMITTED IP Security Key Management

    下面开始对IP security进行配置(以FTP服务为例,TELNET等其他端口的服务类似)

  1. 启动IP安全(IPSec):

  # smitty ipsec4-> Start/Stop IP Security----> Start IP Security ->Start IP Security


    
    上面两项的设置均使用缺省值

  2. 检查ipsec是否可用:

  # lsdev -Cc ipsec

  ipsec_v4 Available IP Version 4 Security Extension

  3. 现在系统中应创建了两个过滤规则。使用下面的命令检查这两个过滤规则:

  # lsfilt -v4

  正常情况下可以看到2条规则,如果提示无任何缺省规则,请参考本节的注解。

  4. 增加一个过滤规则以允许接受从10.152.129.49发来的ftp请求:

  # smitty ipsec4---> Advanced IP Security Configuration------> Configure IP Security Filter Rules---------> Add an IP Security Filter Rule ->Add an IP Security Filter Rule


    
    * Rule Action -----------------------------------[permit] +

  * IP Source Address -----------------------------[10.152.129.49]

  * IP Source Mask --------------------------------[255.255.255.255]

  IP Destination Address --------------------------[]

  IP Destination Mask ---------------------------- []

  * Apply to Source Routing? (PERMIT/inbound only) [yes]+

  * Protocol --------------------------------------[all]+

  * Source Port / ICMP Type Operation -------------[any]+

  * Source Port Number / ICMP Type ----------------[0] #

  * Destination Port / ICMP Code Operation --------[eq]+

  * Destination Port Number / ICMP Type -----------[21] #

  * Routing ---------------------------------------[both] +

  * Direction -------------------------------------[both]+

  * Log Control -----------------------------------[no]+

  * Fragmentation Control -------------------------[0]+

  * Interface -------------------------------------[all] +

  其他缺省值

    5. 增加另一个过滤规则以拒绝其它所有向10.110.157.151发出的ftp请求:

  Add an IP Security Filter Rule

  * Rule Action -----------------------------------[deny]+

  * IP Source Address -----------------------------[0.0.0.0]

  * IP Source Mask --------------------------------[0.0.0.0]—

  IP Destination Address ------------------------[10.110.157.151]—

  IP Destination Mask ---------------------------[255.255.255.255] *

  Apply to Source Routing? (PERMIT/inbound only) [yes] +

  * Protocol --------------------------------------[all]+

  * Source Port / ICMP Type Operation -------------[any] +

  * Source Port Number / ICMP Type ----------------[0] #

  * Destination Port / ICMP Code Operation --------[eq]+

  * Destination Port Number / ICMP Type -----------[21]#

  * Routing ---------------------------------------[both]+

  * Direction -------------------------------------[both]+

  * Log Control -----------------------------------[no] +

  * Fragmentation Control ------------------------ [all packets]+

  * Interface ------------------------------------ [all] +

  6. 激活设置的过滤规则:

  # smitty ipsec4---> Advanced IP Security Configuration----> Activate/Update/Deactivate IP ---->Security Filter Rule ---------> Activate / Update

  7. 上面的操作进行完后,用户将只能从10.152.129.49 ftp至 10.110.157.151,任何其它机器试图ftp至10.110.157.151的操作将失败。

  注:步骤3所涉及的,任何机器都有这两条默认规则。规则1是允许IPSec跟其他设备通讯的一个规则。NewOak公司制订了IPSec的规则,利用4001端口和别的利用IPSec的设备通信,现在保留这个通信信息,是为了历史兼容。 规则2保证默认情况下,所有网络传输可以正常进行。当安装完操作系统后是肯定存在的。但是部分局点执行lsdev-Cc ipsec发现

  ipsec_v4 Available

  Cannot get IPv4 default filter rule.

  Cannot change default rule for IPv4 in ODM.

  Cannot get IPv4 default filter rule

  可能是因为在smitty ipsec4菜单当中,这两条规则是被当作普通规则,可能安装后被认为删除了。出现这种情况,你是无法进行设置任何新的规则的。如果希望修复该规则并回到缺省状态,可以使用smitty remove 删除对应的文件包,然后从安装光盘安装该包。并且打补丁到最新就可以解决

  2.2 FTP服务

  可通过以下两种方法进行限制:

  1、直接编辑 /etc/ftpusers 文件,将被禁止进行ftp至AIX服务器操作的用户名列在该文件中,每个用户名列一行。

  # vi /etc/ftpusers

  2、通过SMIT菜单设置:

  smitty ---> Communications Applications and Services ---> TCP/IP ---> Further Configuration ---> Server Network Services ---> Remote Access --->

  Restrict File Transfer Program Users (/etc/ftpusers) ---> Add a Restricted User


    
    * Name of Local USER ID [tstusr] <-- 在此处输入要限制的用户名
   

    三、SUN SOLARIS

  3.1 /etc/inet/inetd.conf

  在默认情况下,Solaris允许所有的服务请求。Solari本身不具备限制接入IP的能力,但是可以安装类似Tcp_Wrappers这样的freeware软件来增强这部分功能。Tcp_Wrappers是由两个文件控制的,分别是/etc/hosts.allow 和 /etc/hosts.deny。在/etc/hosts.deny文件中加入ALL:ALL就可以禁止所有计算机访问服务器,然后在/etc/hosts.allow文件中加入允许访问服务器的计算机,这种做法是最安全的。这样做的结果是:所有的服务、访问位置,如果没有被明确的允许,也就是在/etc/hosts.allow 中找不到匹配的项,就是被禁止的。

  1、在etc下创建hosts.allow和hosts.deny文件,该文件完成主机访问权限控制。

  hosts.deny文件设置工作站拒绝的ip地址和服务范围。

  hosts.allow文件设置工作站允许的ip地址和服务范围.

  如果客户端ip地址不在hosts.allow和hosts.deny两个里面,允许访问。

  注意:host.allow的优先级大于host.deny

  两个文件格式相同,可以有两种设置方法,网段和主机,分别如下:

  #允许10.152.129.x网段的ip地址

  in.telnetd:10.152.129. =====> 如果ip地址的前缀为10.11.147.,允许网段范围

  in.telnetd:10.152.129.0/255.255.255.0 ====> 网段和掩码的定义方式,允许主机范围。

  举例如下:

  只允许10.152.129.x网段的ip地址telnet工作站:

  #hosts.deny:

  in.telnetd:ALL =====> 禁止所有IP地址进行telnet访问

  #hosts.allow:

  in.telnetd:10.152.129.0/255.255.255.0 =====> 如果ip地址的前缀为10.152.129.则允许范围

  允许除了10.152.129.x网段之外的所有ip地址telnet工作站:

  #host.deny

  in.telnetd:10.152.129.

  只允许本地ip地址telnet工作站:(仅在本工作站的/etc/hosts里面的ip地址才可以telnet)

  #hosts.deny

  in.telnetd:ALL =====> 禁止所有IP地址进行telnet访问

  #hosts.allow

  in.telnetd:LOCAL =====>仅在本工作站的/etc/hosts里面的ip地址才可以telnet

  最后执行' kill -HUP inetd进程ID ' 以使得生效。

  FTP等服务类似操作即可。


 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论