文章目录
1.ssh协议
■SSH (Secure Shell)协议
●是一种安全通道协议
●对通信数据进行了加密处理,用于远程管理
●配置文件:/etc/ssh/sshd_config
1.1 服务监听选项
- 端口号,协议版本,监听ip地址
- 禁用反向解析
在配置文件内
vi /etc/ssh/sshd_cofig
Port22 //默认监听端口为22
ListenAddress 20.0.0.18 //监听地址为20.0.0.18
Protocol2 //使用的SSHV2协议
UseDNS no //禁用DNS反向解析
用户登录控制:
- 禁用root用户,空密码用户
- 限制登录时间,重试次数
LoginGraceTime 2m //登录验证时间是2分钟
PermitRootLogin no //禁止root用户登录
MaxAuthTies 6 //最大重试次数为6
PermiteEmptyPaddwords no //禁止空密码用户登录
登录密码验证,和密钥验证:
- 密码验证:核对用户名,密码是否匹配
- 密钥对验证: 核对客户的私钥,服务端公钥是否匹配
PasswordAuthentication yes //启用密码验证
PubkeyAuthentication yes //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys //指定公钥库数据文件
2. ssh命令
-
ssh-----------远程安全登录
ssh user@host # ssh root@ip地址 -
scp------------远程安全复制
两种格式:
1.scp user@host: file1 file2
2.scp file1 user@host:file2 -
sftp-------------安全ftp上下载
sftp user@host
3.构建密钥对验证的ssh体系
整体实现过程:
- 第一步: ssh客户机创建密钥对(秘钥文件:id_rsa 公钥文件:id_rsa.pub)
- 第二步:上传公钥文件到ssh服务器
- 第三步:导入公钥信息(公钥库文件~/.ssh/authorized_keys)
注:
- 客户端创建密钥对可用的加密算法:RSA.ECDSA或DSA (ssh-keygen -t ecdsa)
- 公钥文件上传服务器一跳命令即可 : scp ~/.ssh/id_ecdsa.pub root@ip地址:/opt
- 在服务器中导入公钥文本
mkdir /home/lisi/.ssh/
cat /opt/id_ecdsa.pub >> /home/lisi/.ssh/authorized_keys
- 客户端直接登录服务端的用户lisi,不需要密码直接可以登录了
另外:
第二步和第三部可以采用另一种方法:
ssh-copy-id -i 公钥文件 user@host
验证密码后,会将公钥自动添加到目标主机user宿主目录下的.ssh/authorized_keys文件结尾
4.TCP Wrappers
4.1概述
■保护机制的实现方式
●方式1:通过tcpd程序对其他服务程序进行包装
●方式2:由其他服务程序调用libwrap.so. *链接库
■访问控制策略的配置文件
●/etc/hosts . allow
●/etc/hosts.deny
4.2设置访问控制策略
■设置访问控制策略
策略格式:服务程序列表:客户端地址列表
2
●服务程序列表
◆多个服务以逗号分隔,ALL表示所有服务
●客户端地址列表
◆多个地址以逗号分隔,ALL 表示所有地址
◆允许使用通配符?和
*
◆网段地址,如192.168.4.或者192.168.4.0/255. 255.255.0
◆区域地址,如.benet.com
4.3策略的应用顺序
■策略的应用顺序
1.检查hosts allow,找到匹配则允许访问
2.
再检查hosts.deny,找到则拒绝访问
3.
若两个文件中均无匹配策略,则默认允许访问
4.4策略应用示例
●仅允许从以下地址访问sshd服务
◆主机61.63.65.67
◆网段192.168.2.0/24
●禁止其他所有地址访问受保护的服务
vi /etc/hosts.allow
sshd:61.63.65.67,192.168.2.*
vi /etc/hosts.deny
sshd:ALL