天天看点

SSH远程访问及控制

大多数企业服务器是通过远程登录的方式来进行管理的,如何更加安全、高效的远程管理网络中的各种服务器是作为网络管理人员的必修课。这里将针对Linux环境使用安全的SSH远程管理途径,以及通过TCP Wrappers机制为应用提供访问控制

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

配置OpenSSH服务端

在RHEL系统中,OpenSSH服务器的openssh等软件包默认已经安装,并已添加为系统服务,只需配置并启动sshd服务,大部分用户(拥有合法的登录shell)都可以远程登录系统。sshd的配置文件位于/etc/ssh/sshd_config目录下,正确调整相关配置项,有助于提高sshd远程登录的安全性

SSH远程访问及控制

使用SSH客户端程序

在Linux系统中,SSH客户端默认已安装,其中包括ssh、scp、sftp等命令。实际上,任何支持SSH协议的客户端程序都可以与OpenSSH服务器进行通信,如Windows平台中的Xshell、SecureCRT、Putty等图形工具。

(1)ssh远程登录

通过ssh命令,可以远程登录sshd服务,为用户提供一个安全的shell环境,以便对服务器进行管理和维护

SSH远程访问及控制

使用密钥对验证SSH的方式

密钥对验证方式可以为远程登录提供更好的安全性,下面将介绍在Linux服务器、客户机中构建密钥对验证SSH体系的基本过程

SSH远程访问及控制

  1. 将公钥上传至服务器
  2. 在服务器中导入公钥文本
    上面两个步骤有两种方式完成导入           

方式一:命令格式如下

ssh-copy-id -i 公钥文件 目标主机用户@目标主机

SSH远程访问及控制

方式二:使用FTP、scp等方式上传到服务器,在将文件导入到目标用户的公钥数据库

SSH远程访问及控制
SSH远程访问及控制

TCP Wrappers访问控制

TCP Wrappers将其他TCP服务程序包裹起来,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。对于大多数Linux发行版,TCP Wrappers是默认提供的功能。

1. 策略的配置格式
TCP Wrappers机制的保护对象为各种网络服务程序,针对访问服务程序的客户机地址进行访问控制。对应的策略文件为/etc/hosts.allow和/etc/hosts.deny,分别提供允许和拒绝的要求           

配置格式如下:

服务程序列表:客户机地址列表

其中,

(1)服务程序列表分为以下几类:

ALL:代表所有服务

单个服务程序:如“sshd”

多个服务程序组成的列表:如“httpd,sshd”,以逗号分隔

(2)客户机地址列表分为以下几类:

ALL:代表任何客户机服务

LOCAL:代表本机地址

单个IP地址:如“192.168.1.1”

网络段地址:如“192.168.1.0/255.255.255.0”或者“192.168.1.”

域名:如“.ysf.com”匹配ysf.com域中的所有主机

通配符*、?:前者代表任意长度字符,后者仅代表一个字符

多个客户机地址组成的列表:如“192.168.1.1,172.16.10.,.ysf.com”

  1. 访问控制的基本原则

    (1)先检查hosts.allow,找到匹配则允许访问

    (2)否则再检查hosts.deny,找到则拒绝访问

    (3)*若两个文件中均无匹配策略,则默认允许访问

继续阅读