1、第五章第五章 远程访问及控制远程访问及控制 理论部分远程访问及控制使用su、sudo的用途是什么?如何查询当前用户能通过sudo执行哪些命令?如何防止通过单用户模式进入Linux系统?课程回顾学会构建SSH远程登录服务学会使用SSH客户端工具学会编写TCP Wrappers访问策略技能展示本章结构远程访问及控制远程访问及控制TCP Wrappers概述概述TCP Wrappers访问策略访问策略使用使用SSH客户端程序客户端程序密钥对验证的密钥对验证的SSH体系体系SSH远程管理远程管理TCP Wrappers控制控制配置配置OpenSSH服务端服务端SSH协议为客户机提供安全的Shell环境
2、,用于远程管理默认端口:TCP 22OpenSSH服务名称:sshd服务端主程序:/usr/sbin/sshd客户端主程序:/usr/bin/ssh服务端配置文件:/etc/ssh/sshd_config客户端配置文件:/etc/ssh/ssh_configOpenSSH服务器4-1服务监听选项端口号、协议版本、监听IP地址禁用反向解析OpenSSH服务器4-2rootlocalhost#vi/etc/ssh/sshd_configPort 22Protocol 2ListenAddress 192.168.4.254UseDNS no用户登录控制禁止root用户、空密码用户登录时间、重试次数
3、AllowUsers、DenyUsersOpenSSH服务器4-3rootlocalhost#vi/etc/ssh/sshd_configPermitRootLogin noPermitEmptyPasswords noLoginGraceTime 2mMaxAuthTries 6 AllowUsers jerry admin61.23.24.25不要与不要与DenyUsersDenyUsers同时用同时用登录验证对象服务器中的本地用户账号登录验证方式密码验证:核对用户名、密码是否匹配密钥对验证:核对客户的私钥、服务端公钥是否匹配OpenSSH服务器4-4rootlocalhost#vi/et
4、c/ssh/sshd_configPasswordAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys启用密码验证、密钥对验启用密码验证、密钥对验证、指定公钥库位置证、指定公钥库位置ssh命令 远程安全登录格式:ssh userhostscp命令 远程安全复制格式1:scp userhost:file1 file2格式2:scp file1 userhost:file2sftp命令 安全FTP上下载格式:sftp userhost使用SSH客户端程序3-1端口选项:端口选项:-p 22
5、-p 22端口选项:端口选项:-P 22-P 22端口选项:端口选项:-oPort=22-oPort=22PuttyCN一款跨平台的Telnet/SSH图形客户端软件使用SSH客户端程序3-2WinSCP一款Windows平台的SCP、SFTP图形客户端软件使用SSH客户端程序3-3整体实现过程构建密钥对验证的SSH体系5-1第一步第一步:创建密钥对 私钥文件:id_rsa 公钥文件:id_rsa.pubSSH客户机SSH服务器第二步第二步:上传公钥文件 id_rsa.pub第三步第三步:导入公钥信息 公钥库文件:/.ssh/authorized_keys第四步第四步:使用密钥对验证方式由客户
6、端的用户zhangsan在本地创建密钥对导入到服务端用户lisi的公钥数据库以服务端的用户lisi的身份进行登录1.在客户机中创建密钥对ssh-keygen命令可用的加密算法:RSA或DSA构建密钥对验证的SSH体系5-2zhangsanlocalhost$ssh-keygen-t rsaGenerating public/private rsa key pair.Enter file in which to save the key(/home/zhangsan/.ssh/id_rsa):Created directory/home/zhangsan/.ssh.Enter passphras
7、e(empty for no passphrase):Enter same passphrase again:Your identification has been saved in/home/zhangsan/.ssh/id_rsa.Your public key has been saved in/home/zhangsan/.ssh/id_rsa.pub.公钥文件位置公钥文件位置设置密钥短语设置密钥短语私钥文件位置私钥文件位置2.将公钥文件上传至服务器任何方式均可(共享、FTP、Email、SCP、)构建密钥对验证的SSH体系5-3zhangsanlocalhost$scp/.ssh/
8、id_rsa.pub rootserver:/tmp/root192.168.4.254s password:id_rsa.pub 100%412 0.4KB/s 00:003.在服务器中导入公钥文本将公钥文本添加至目标用户的公钥库默认公钥库位置:/.ssh/authorized_keys构建密钥对验证的SSH体系5-4rootlocalhost#su-lisilisilocalhost$cat/tmp/id_rsa.pub /.ssh/authorized_keyslisilocalhost$tail-1/.ssh/authorized_keysssh-rsa AAAAB3NzaC1yc2E
9、AAAABIwAAAQEAm8uUlE5TNRTiVLGBsy4OzfcXTqNLF4pAUyrFqEOA/HDnQxX1af5M6B9s0UqcUc5fVRB51H3z2VMU9ivPYzmFMAck1ual12+Jjn8TeRoEO2vVl9wd83xRbNOjbH7zuWf+LOzS2yO0XENxU5KirzALrRh/YFA42/8+c7RH/TZb9xjKb37vx/HJ5OsFZ1AU+SrlG/MpZaR3kSLBDSx/LbkBJaAhy1nOk4S8F42Ksh9wVheJcqOVuFdXNJxCckviAsFJDHf9t8sjsctDPBo/fTyiH9O/ZNNt409
10、3LsiwT7Yos0NuT+Ej6/aWiNUgp7wJghgG60c4BAbNbBJs90uZLsI4Q=zhangsanlocalhost.localdomain4.客户端使用密钥对验证登陆验证用户:服务端的用户lisi验证密码:客户端的用户zhangsan的私钥短语构建密钥对验证的SSH体系5-5zhangsanlocalhost$ssh lisi192.168.4.254Enter passphrase for key/home/zhangsan/.ssh/id_rsa:lisilocalhost$以以zhangsanzhangsan的私钥的私钥短语进行验证短语进行验证请思考:如何禁
11、止root用户登录ssh服务器?SSH的密码验证、密钥对验证有什么区别?构建密钥对验证SSH体系的基本过程是什么?小结“包袱”保护原理TCP Wrappers概述2-1TCP Wrappers机制代为监听端口21代为监听端口23代为监听端口110代为监听端口143客户机的网络访问请求对访问请求进行过滤控制vsftpdtelnetipop3imap调用相应的网络程序保护机制的实现方式方式1:通过tcpd主程序对其他服务程序进行包装方式2:由其他服务程序调用libwrap.so.*链接库访问控制策略的配置文件/etc/hosts.allow/etc/hosts.denyTCP Wrappers概述
12、2-2设置访问控制策略策略格式:服务列表:客户机地址列表服务列表 n多个服务以逗号分隔,ALL 表示所有服务客户机地址列表n多个地址以逗号分隔,ALL表示所有地址n允许使用通配符?和*n网段地址,如 192.168.4.或者 192.168.4.0/255.255.255.0n区域地址,如TCP Wrappers策略应用3-1策略的应用顺序先检查hosts.allow,找到匹配则允许访问否则再检查hosts.deny,找到则拒绝访问若两个文件中均无匹配策略,则默认允许访问TCP Wrappers策略应用3-2策略应用示例仅允许从以下地址访问sshd服务n主机61.63.65.67n网段192.
13、168.2.0/24禁止其他所有地址访问受保护的服务TCP Wrappers策略应用3-3rootlocalhost#vi/etc/hosts.allowsshd:61.63.65.67,192.168.2.*rootlocalhost#vi/etc/hosts.denysshd:ALL本章总结远程访问及控制远程访问及控制TCP Wrappers概述概述TCP Wrappers访问策略访问策略使用使用SSH客户端程序客户端程序密钥对验证的密钥对验证的SSH体系体系SSH远程管理远程管理TCP Wrappers控制控制配置配置OpenSSH服务端服务端第五章第五章 远程访问及控制远程访问及控制
14、上机部分第五章 远程访问及控制实验环境为Web服务器配置OpenSSH服务实验案例:构建安全的SSH服务体系4-1局域网段192.168.3.0/24网站服务器(网站服务器(SSHSSH)192.168.3.7Internet网关服务器eth0:218.29.30.31eth1:192.168.3.1网管工作站192.168.3.110Internet测试用机218.29.30.218需求描述允许用户wzadm从任意地址登陆,采用密钥对验证允许用户jacky从主机192.168.3.110登陆禁止其他所有用户远程登录实现思路同时启用密码验证、密钥对验证锁定wzadm用户,改以密钥对方式进行验证使用AllowUser配置,仅允许wzadm、jacky用户登录实验案例:构建安全的SSH服务体系4-2学员练习1在Web服务器中创建测试用户jacky、wzadm在客户机中创建密钥对,上传并部署公钥文本在Web服务器中配置、启动sshd服务实验案例:构建安全的SSH服务体系4-33535分钟完成分钟完成学员练习2测试密钥对验证登录(wzadm)测试IP地址及用户限制(jacky、root)根据需求修正服务器配置,再重新进行测试实验案例:构建安全的SSH服务体系4-44545分钟完成分钟完成