
远程访问及控制要点.ppt
29页第五章第五章 远程访问及控制远程访问及控制—— 理论部分远程访问及控制•使用su、sudo的用途是什么?•如何查询当前用户能通过sudo执行哪些命令?•如何防止通过单用户模式进入Linux系统?课程回顾•学会构建SSH远程登录服务•学会使用SSH客户端工具•学会编写TCP Wrappers访问策略技能展示本章结构远程程访问及控制及控制TCP Wrappers概述概述TCP Wrappers访问策略策略使用使用SSH客客户端程序端程序密密钥对验证的的SSH体系体系SSH远程管理程管理TCP Wrappers控制控制配置配置OpenSSH服服务端端•SSH协议•为客户机提供安全的Shell环境,用于远程管理•默认端口:TCP 22•OpenSSH•服务名称:sshd•服务端主程序:/usr/sbin/sshd•客户端主程序:/usr/bin/ssh•服务端配置文件:/etc/ssh/sshd_config•客户端配置文件:/etc/ssh/ssh_configOpenSSH服务器4-1•服务监听选项•端口号、协议版本、监听IP地址•禁用反向解析OpenSSH服务器4-2[root@localhost ~]# vi /etc/ssh/sshd_config……Port 22Protocol 2UseDNS no•用户登录控制•禁止root用户、空密码用户•登录时间、重试次数•AllowUsers、DenyUsersOpenSSH服务器4-3[root@localhost ~]# vi /etc/ssh/sshd_config……PermitRootLogin noPermitEmptyPasswords noLoginGraceTime 2mMaxAuthTries 6…… 不要与不要与DenyUsers同同时用用•登录验证对象•服务器中的本地用户账号•登录验证方式•密码验证:核对用户名、密码是否匹配•密钥对验证:核对客户的私钥、服务端公钥是否匹配OpenSSH服务器4-4[root@localhost ~]# vi /etc/ssh/sshd_config……PasswordAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys启用密启用密码验证、密、密钥对验证、指定公、指定公钥库位置位置•ssh命令 —— 远程安全登录•格式:ssh user@host•scp命令 —— 远程安全复制•格式1:scp user@host:file1 file2•格式2:scp file1 user@host:file2•sftp命令 —— 安全FTP上下载•格式:sftp user@host使用SSH客户端程序3-1端口端口选项::-p 22端口端口选项::-P 22端口端口选项::-oPort=22•PuttyCN•一款跨平台的Telnet/SSH图形客户端软件使用SSH客户端程序3-2•WinSCP•一款Windows平台的SCP、SFTP图形客户端软件使用SSH客户端程序3-3•整体实现过程构建密钥对验证的SSH体系5-1第一步第一步:创建密钥对 私钥文件:id_rsa 公钥文件:id_rsa.pubSSH客户机SSH服务器第二步第二步:上传公钥文件 id_rsa.pub第三步第三步:导入公钥信息 公钥库文件:~/.ssh/authorized_keys第四步第四步:使用密钥对验证方式由客户端的用户zhangsan在本地创建密钥对导入到服务端用户lisi的公钥数据库以服务端的用户lisi的身份进行登录•1. 在客户机中创建密钥对•ssh-keygen命令•可用的加密算法:RSA或DSA构建密钥对验证的SSH体系5-2[zhangsan@localhost ~]$ 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 passphrase (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-3[zhangsan@localhost ~]$ scp ~/.ssh/id_rsa.pub root@server:/tmp/root@192.168.4.254's password:id_rsa.pub 100% 412 0.4KB/s 00:00•3. 在服务器中导入公钥文本•将公钥文本添加至目标用户的公钥库•默认公钥库位置:~/.ssh/authorized_keys构建密钥对验证的SSH体系5-4[root@localhost ~]# su - lisi[lisi@localhost ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys[lisi@localhost ~]$ tail -1 ~/.ssh/authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAm8uUlE5TNRTiVLGBsy4OzfcXTqNLF4pAUyrFqEOA/HDnQxX1af5M6B9s0UqcUc5fVRB51H3z2VMU9ivPYzmFMAck1ual12+Jjn8TeRoEO2vVl9wd83xRbNOjbH7zuWf+LOzS2yO0XENxU5KirzALrRh/YFA42/8+c7RH/TZb9xjKb37vx/HJ5OsFZ1AU++SrlG/MpZaR3kSLBDSx/LbkBJaAhy1nOk4S8F42Ksh9wVheJcqOVuFdXNJxCckviAsFJDHf9t8sjsctDPBo/fTyiH9O/ZNNt4093LsiwT7Yos0NuT+Ej6/aWiNUgp7wJghgG60c4BAbNbBJs90uZLsI4Q== zhangsan@localhost.localdomain•4. 客户端使用密钥对验证登陆•验证用户:服务端的用户lisi•验证密码:客户端的用户zhangsan的私钥短语构建密钥对验证的SSH体系5-5[zhangsan@localhost ~]$ Enter passphrase for key '/home/zhangsan/.ssh/id_rsa':[lisi@localhost ~]$ 以以zhangsan的私的私钥短短语进行行验证•请思考:•如何禁止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概述2-2•设置访问控制策略•策略格式:服务列表:客户机地址列表•服务列表 ——n多个服务以逗号分隔,ALL 表示所有服务•客户机地址列表n多个地址以逗号分隔,ALL表示所有地址n允许使用通配符 ? 和 *n网段地址,如 192.168.4. 或者 n区域地址,如 TCP Wrappers策略应用3-1•策略的应用顺序•先检查hosts.allow,找到匹配则允许访问•否则再检查hosts.deny,找到则拒绝访问•若两个文件中均无匹配策略,则默认允许访问TCP Wrappers策略应用3-2•策略应用示例•仅允许从以下地址访问sshd服务n主机n网段•禁止其他所有地址访问受保护的服务TCP Wrappers策略应用3-3[root@localhost ~]# vi /etc/hosts.allowsshd:61.63.65.67,192.168.2.*[root@localhost ~]# vi /etc/hosts.denysshd:ALL本章总结远程程访问及控制及控制TCP Wrappers概述概述TCP Wrappers访问策略策略使用使用SSH客客户端程序端程序密密钥对验证的的SSH体系体系SSH远程管理程管理TCP Wrappers控制控制配置配置OpenSSH服服务端端第五章第五章 远程访问及控制远程访问及控制—— 上机部分第五章远程访问及控制•实验环境•为Web服务器配置OpenSSH服务实验案例:构建安全的SSH服务体系4-1局域网段网站服务器(网站服务器(SSHSSH))Internet网关服务器网管工作站Internet测试用机•需求描述•允许用户wzadm从任意地址登陆,采用密钥对验证•允许用户jacky从主机登陆•禁止其他所有用户远程登录•实现思路•同时启用密码验证、密钥对验证•锁定wzadm用户,改以密钥对方式进行验证•使用AllowUser配置,仅允许wzadm、jacky用户登录实验案例:构建安全的SSH服务体系4-2•学员练习1•在Web服务器中创建测试用户jacky、wzadm•在客户机中创建密钥对,上传并部署公钥文本•在Web服务器中配置、启动sshd服务实验案例:构建安全的SSH服务体系4-33535分钟完成分钟完成•学员练习2•测试密钥对验证登录(wzadm)•测试IP地址及用户限制(jacky、root)•根据需求修正服务器配置,再重新进行测试实验案例:构建安全的SSH服务体系4-44545分钟完成分钟完成。
