目录
OpenSSH服务器
基础概述
SSH(Secure Shell)协议
SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能
SSH协议对通信双方的数据传输进行了加密处理,其中就包括了用户登录时输入的用户口令。因此SSH协议具有很好的安全性
SSH客户端有:Putty、Xshell、CRT
SSH服务端有:OpenSSH
OpenSSH
OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统
CentOS 7系统默认已安装openssh相关软件包,并已将sshd服务添加为开机自启动
执行"systemctl star sshd"命令即可启动sshd服务
服务器名称:sshd
sshd服务默认使用的端口号为22
sshd服务端主程序:/usr/sbin/sshd
sshd服务端配置文件:/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,区别在于ssh_config是针对客户端的配置文件,sshd_config是针对服务端的配置文件
SSH功能实现示意简图
Windows远程桌面连接
使用SSH客户端程序
sshd服务支持两种验证方式
1.密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
2.秘钥对验证
要求提供相匹配的秘钥信息才能通过验证。通常是先在客户端中创建一堆秘钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。当远程登录时,系统将使用公钥或私钥进行加密或解密的关联验证。能够增强安全性,且可以进行免交互登录
当密码验证、秘钥对验证都启用时,服务器将优先使用秘钥对验证。可根据实际情况设置验证方式
配置秘钥对验证
[root@localhost /]# ssh-agent bash
[root@localhost /]# ssh-add
在客户端创建秘钥对
通过ssh-keygen工具为当前用户创建秘钥对文件。可用的加密算法有“RSA、ECDSA、DSA”等(ssh-keygen命令的“-t”选项用于指定算法类型)
TCP Wrappers 访问控制
TCP Wrappers 访问控制概述
TCP Wrappers是将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,并增加了一个安全监测过程,外来的连接请求必须先通过这层安全监测,获得许可后才能访问真正的服务程序。大多数Linux发行版的TCP Wrappers 是默认提供的功能
TCP Wrappers保护原理简图
TCP Wrappers 保护机制的实现方式(共两种)
1.直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序
2.由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率使用ldd命令可以查看程序的libwrap.so.*链接库
TCP Wrappers的访问策略
TCP Wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。
格式
<服务程序列表>:<客户端地址列表>