8--远程访问及控制



一、配置OpenSSH服务端

1.SSH简介

  • SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能
  • SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令
  • 与TELNET(远程登录)等应用相比,SSH协议提供了更好的安全性

2.配置OpenSSH服务端

SSH服务及配置文件

[root@sshdserver ~]# rpm -qa | grep openssh
openssh-5.3p1-94.el6.x86_64
openssh-server-5.3p1-94.el6.x86_64
openssh-askpass-5.3p1-94.el6.x86_64
openssh-clients-5.3p1-94.el6.x86_64
[root@sshdserver ~]#
[root@sshdserver ~]# man 5 sshd_config

man--5--sshd_config

服务监听选项

[root@sshdserver ~]# netstat -utpln | grep ssh
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1048/sshd           
tcp        0      0 :::22                       :::*                        LISTEN      1048/sshd           
[root@sshdserver ~]#

用户登录控制

登录验证方式

sshd服务支持两种验证方式-密码验证、秘钥对验证,可以设置只使用其中一种方式,也可以两种方式都启用

密码验证:

以服务其中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱

秘钥对验证

要求提供相匹配的秘钥信息才能通过验证。通常现在客户机中创建一对秘钥文件(公钥、私钥),然后将公钥文件放到服务器中指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大争强了远程管理的安全性

  • 如何启用登录验证?

二、使用SSH客户端程序

1.命令程序ssh、scp、sftp

2.图形工具xshell


三、构建秘钥验证的SSH体系

1.在服务器、客户机中构建密钥对验证SSH体系的基本过程


.在服务器、客户机中构建密钥对验证SSH体系的基本过程


  • 使用scp上传,需要openssh-clients包,client和server都需要

2.构建密钥验证的SSH体系

1.在客户端创建密钥对 2.将公钥文件上传至服务器 3.在服务器中导入公钥文本 4.在客户端使用密钥对验证

第2步和第3步可以采用另一种方法:

ssh-copy-id -i 公钥文件 user@host

验证密码后,会将公钥自动添加到目标主机user宿主目录下的.ssh/authorized_keys文件结尾


四、TCP Wrappers 工作原理

1.TCP Wrappers简介

中文含义:TCP封套

  • Linux系统提供一个访问控制工具
  • 监听基于TCP协议的应用服务


TCP Wrappers简介


2.TCP Wrappers的运行机制


TCP Wrappers的运行机制


3.访问控制策略的配置文件

[root@sshdserver ~]# cat /etc/hosts.allow 
#
# hosts.allow    This file contains access rules which are used to
#        allow or deny connections to network services that
#        either use the tcp_wrappers library or that have been
#        started through a tcp_wrappers-enabled xinetd.
#
#        See 'man 5 hosts_options' and 'man 5 hosts_access'
#        for information on rule syntax.
#        See 'man tcpd' for information on tcp_wrappers
sshd:192.168.10.1??
[root@sshdserver ~]# cat /etc/hosts.deny
#
# hosts.deny    This file contains access rules which are used to
#        deny connections to network services that either use
#        the tcp_wrappers library or that have been
#        started through a tcp_wrappers-enabled xinetd.
#
#        The rules in this file can also be set up in
#        /etc/hosts.allow with a 'deny' option instead.
#
#        See 'man 5 hosts_options' and 'man 5 hosts_access'
#        for information on rule syntax.
#        See 'man tcpd' for information on tcp_wrappers
sshd:ALL
[root@sshdserver ~]#

4.访问控制策略的处理流程


访问控制策略的处理流程


5.TCP Wrappers的应用场合

  • iptables防火墙能控制服务,为什么还要用TCP Wrappers?

    • TCP Wrappers的配置简单
  • TCP Wrappers的局限

    • 只能控制TCP协议的应用服务
    • 并非所有服务都能接受TCP Wrappers的控制

sshd

[root@sshdserver ~]# ldd /usr/sbin/sshd | grep libwrap
    libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fc3c98a8000)

httpd不支持

[root@sshdserver ~]# ldd /usr/sbin/httpd | grep libwrap
[root@sshdserver ~]#

五、TCP Wrappers配置应用

1.配置项格式

服务列表--- 客户机地址列表
多个服务 例如:vsftpd,sshd 多个地址 例如192.168.1.1,192.168.1.10
所有服务 ALL 所有地址 ALL
通配符? 例如:192.168.1.1?
通配符* 例如;192.168.1.1*
网段地址 例如192.168.1或者192.168.1.0/255.255.255.0
  • ?:0-9
  • *:代表两位数,上面的含义是100-199

2.案例:TCP wrappers配置

  • 仅允许从以下地址访问SSHD服务

    • 主机192.168.10.100~192.168.10.199
  • 禁止其他所有地址访问sshd服务


案例拓扑图



results matching ""

    No results matching ""