本文目录
一:SSH 远程管理
简介:SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的 Telent(远程登录)、RSH(Remote Shell,远程执行命令)、RCP
(Remote File Copy,远程文件复制)等应用相比,SSH 协议提供了更好的安全性。
1.1:配置OpenSSH 服务端
1.1.1:服务监听选项
[root@localhost ~]# vim /etc/ssh/sshd_config
1.1.2: 用户登录限制
[root@localhost ~]# vim /etc/ssh/sshd_config
1.1.3:登录验证方式
- 密码验证好:核对用户名,密码是否匹配
- 密钥对验证:核对客户的私钥,服务端公钥是否匹配
如图:
[root@localhost ~]# vim /etc/ssh/sshd_config
二:构建密码对验证的ssh体系
如图:
2.1:在客户端创建密钥对
在 CentOS 7.3 客户端中,通过 ssh-keygen 工具为当前用户创建密钥对文件。可用的加密算法为 RSA、ECDSA 或 DSA 等(ssh-keygen 命令的“-t”选项用于指定算法类型)。
2.2:将公钥文件上传至服务器
将上一步生成的公钥文件上传至服务器,并部署到服务器端用户的公钥数据库中。上传公钥文件时可以选择 SCP、FTP、Samba、HTTP 甚至发送 E-mail 等任何方式
3.导入公钥信息(导入到服务端用户的公钥数据库)
将公钥文本添加到目标用户的公钥库
默认公钥库文件:~/.ssh/authorized_keys
4.使用密钥对验证方式(以服务端用户的身份进行登录)
客户端使用秘钥对验证登录
验证用户:服务端用户66
三:TCP Wrappers 访问控制
含义:TCP Wrappers 将 TCP 服务程序“包裹”起来,代为监听 TCP 服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序,如图 所示。TCP Wrappers 还可以记录所有企图访问被保护服务的行为, 为管理员提供丰富的安全分析资料。
3.1:保护机制的实现方式
方式一
通过tcpd主程序对其他服务程序进行包装
方式二
由凄然服务程序调用libwrap.so.*链接库
3.2:TCP Wrappers 的访问策略
1.策略的配置格式
- <服务程序列表>: <客户端地址列表>
(2)客户端地址列表
- ALL:代表任何客户端地址。
- LOCAL:代表本机地址。
- 单个 IP 地址:如“192.168.4.4”。
- 网络段地址:如“192.168.4.0/255.255.255.0”。
- 以“.”开始的域名:如“.bdqn.com”匹配 bdqn.com 域中的所有主机。
- 以“.”结束的网络地址:如“192.168.4.”匹配整个 192.168.4.0/24 网段。
- 嵌入通配符“”“?”:前者代表任意长度字符,后者仅代表一个字符,如“10.0.8.2” 匹配以 10.0.8.2 开头的所有 IP
地址。不可与以“.”开始或结束的模式混用。 - 多个客户端地址组成的列表:如“192.168.1.,172.16.16.,.bdqn.com”。
3.3:访问控制的基本原则
- 关于 TCP Wrappers 机制的访问策略, 应用时遵循以下顺序和原则: 首先检查 /etc/hosts.allow
文件,如果找到相匹配的策略,则允许访问;否则继续检查/etc/hosts.deny
文件,如果找到相匹配的策略,则拒绝访问;如果检查上述两个文件都找不到相匹配的策略, 则允许访问。
3.4:TCP Wrappers 配置实例
例如,若只希望从 IP 地址为 61.63.65.67 的主机或者位于 192.168.2.0/24 网段的主机访问 sshd 服务,其他地址被拒绝,可以执行以下操作。
[root@localhost ~]# vi /etc/hosts.allow
添加:
[root@localhost ~]# vi /etc/hosts.deny
添加: