《【教学课件】第7章内容回顾.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第7章内容回顾.ppt(39页珍藏版)》请在三一办公上搜索。
1、第7章内容回顾,应用层代理和网络层防火墙具有不同的实现原理和应用场合在Linux系统中内核提供包过滤防火墙功能,使用squid服务器可实现代理服务器功能iptables命令是对Linux内核包过滤防火墙的主要管理工具通过防火墙策略的配置,Linux主机可实现包过滤和NAT功能squid服务器的主要功能是代理和缓存,网络安全管理,第8章,本章目标,掌握SSH服务器管理和客户端的使用掌握TCP Wrappers的配置管理,本章结构,TCP Wrappers的基本概念,TCP Wrappers的功能TCP Wrappers是大多数Linux发行版本中都默认提供的功能 TCP Wrappers的主要执
2、行文件是“tcpd”tcpd程序可以将其他的网络服务程序“包裹”起来,从而进行集中的访问控制设置 RHEL4系统中缺省安装了TCP Wrappers#rpm-q tcp_wrappers,TCP Wrappers的设置文件,TCP Wrappers使用两个设置文件“hosts.allow”和“hosts.deny”两个文件的用于保存TCP Wrappers基于主机地址的访问控制策略#ls/etc/hosts.*/etc/hosts.allow/etc/hosts.deny“hosts.allow”文件用于保存允许访问的策略“hosts.deny”文件用于保存拒绝访问的策略“hosts.allo
3、w”和“hosts.deny”文件中保存的设置是即时生效的,TCP Wrappers设置文件的格式2-1,设置文件的格式“hosts.allow”和“hosts.deny”文件中具有相同格式的配置记录:动作 文件中每行为一个设置记录“服务程序列表”字段的表示 ALL代表所有的服务程序 单个服务的名称,例如in.telnetd代表telnet服务器程序,vsftpd代表vsftpd服务器程序多个服务程序名称可以组成列表,中间用逗号分隔,例如“in.telnetd,vsftpd”,TCP Wrappers设置文件的格式2-2,“客户机地址列表”字段的表示 ALL代表所有的客户机地址LOCAL代表本
4、机地址KNOW代表可解析的域名UNKNOW代表不可解析的域名以句点“.”开始的域名代表该域下的所有主机,例如“”代表“”域中的所有主机对某个子网中的所有主机使用“子网/掩码”的形式表示对于网络中的某个主机可直接使用IP地址表示“动作”字段使用“allow”表示允许,使用“deny”表示拒绝,TCP Wrappers配置实例4-1,配置要求使用TCP Wrappers对vsftpd服务和telnet服务进行基于主机的访问控制vsftpd服务器和telnet服务器所在主机的地址为“192.168.1.2”对于vsftpd服务只允许IP地址为“192.168.1.100”至“192.168.1.19
5、9”的主机进行访问由于telnet服务相对不是很安全,因此只允许IP地址为“192.168.1.122”的客户机访问,TCP Wrappers配置实例4-2,telnet服务器的安装RHEL4系统中默认不安装telnet服务器telnet-server软件包在第4张安装光盘,需要手工进行安装rpm-ivh/media/cdrom/RedHat/RPMS/telnet-server-0.17-30.i386.rpm telnet服务由xinetd调度启动telnet在xinetd服务中的启动配置文件/etc/xinetd.d/telnet telnet服务默认不启动,需手工设置#chkconfi
6、g telnet on#service xinetd restart,TCP Wrappers配置实例4-3,使用telnet命令登录telnet服务器telnet命令是telnet服务的客户端程序 用户telnet登录的过程中会提示输入用户名和用户口令telnet服务的安全性telnet服务使用明文传输所有的内容(包括用户登录口令),因此存在安全隐患应尽量使用SSH服务替代telnet服务,TCP Wrappers配置实例4-4,TCP Wrappers策略配置hosts.deny文件 in.telnetd,vsftpd:ALL hosts.allow文件 in.telnetdvsftpd:
7、192.168.1.1?采取先“全部禁止”再“逐个开放”的策略设置方法,可以较好的实现“只允许”的访问策略,阶段总结,TCP Wrappers是各Linux发行版本中必备的功能通过tcpd服务程序可以对其他的网络服务程序实现访问控制通过在hosts.allow和hosts.deny两个文件中设置访问控制策略,可以实现对TCP Wrappers的控制 在hosts.allow和hosts.deny文件中的设置是即时生效的,阶段练习,查看hosts.allow和hosts.deny文件的缺省设置内容在hosts.deny文件中增加禁止指定的客户机进行telnet登录的访问控制记录,SSH的起源与原
8、理,SSH(Secure SHell),实现了与Telnet服务类似的远程登录功能SSH协议在网络中使用密文传输数据SSH服务器中还支持使用scp和sftp等客户端程序进行远程主机的文件复制,SSH的认证方式,SSH协议提供两种用户认证方式基于口令的安全认证 与telnet类似,提供正确的用户口令后可以登录远程服务器基于密钥的安全认证 使用公钥和私钥对的方式对用户进行认证,SSH密钥认证的原理,SSH服务中使用密钥进行用户认证,每个用户都需要生成自己的公钥和私钥对文件,用户的公钥文件需要保存在SSH服务器主机中,用户私钥文件保存在SSH客户端主机中,OpenSSH服务器,OpenSSH是著名的
9、开源软件项目 OpenSSH是SSH协议的免费实现版本 OpenSSH可应用于大多数UNIX系统绝大多数Linux发行版本都采用OpenSSH作为SSH服务器,OpenSSH的软件包组成,RHEL4系统中OpenSSH服务器和客户端软件是默认安装的 openssh软件包是实现ssh功能的公共软件包openssh-server软件包实现了SSH服务器的功能openssh-clients软件包中包含了SSH服务的客户端程序openssh-askpass和openssh-askpass-gnome只有在Linux的图形界面下使用SSH服务时才需要,OpenSSH服务的启动与停止,OpenSSH的服务
10、程序名称是sshdsshd服务程序的启动脚本/etc/init.d/sshdsshd服务程序缺省状态为自动启动sshd服务的启动与停止启动服务程序service sshd start停止服务程序service sshd stop,OpenSSH服务的配置文件,配置目录OpenSSH服务器和客户机的所有配置文件都保存在同一目录中/etc/ssh/服务器配置文件SSH服务器的配置文件是sshd_config/etc/ssh/sshd_config 客户机配置文件SSH客户程序的配置文件是ssh_config/etc/ssh/ssh_config,OpenSSH的典型用户登录,使用ssh命令登录SS
11、H服务器#ssh 首次登录SSH服务器为了建立加密的SSH连接需要用户在客户端确认服务器发来的RSA密钥(输入yes)用户认证每次登录SSH服务器都需要输入正确的用户口令SSH登录使用的是SSH服务器主机中的用户帐号,SSH的用户目录,“.ssh”目录在SSH客户主机的用户宿主目录中,使用名为“.ssh”的目录保存用户的SSH客户端信息/.ssh/“.ssh”目录在用户首次进行SSH登录后自动建立“known_hosts”文件“known_hosts”文件位于“.ssh”目录中“known_hosts”文件用于保存当前用户所有登录过的SSH服务器的RSA密钥,基于密钥的SSH用户认证4-1,设
12、置密钥认证的一般步骤在SSH客户端生成用户的公钥和私钥对文件将SSH客户的公钥添加到SSH服务器中用户的认证文件中 验证密钥的认证,基于密钥的SSH用户认证4-2,在SSH客户端生成用户的公钥和私钥对 使用ssh-keygen命令生成密钥对$ssh-keygen-t rsa 公钥和私钥文件ssh-keygen命令将在“.ssh”目录中生成公钥和私钥文件id_rsa是私钥文件,内容需要严格保密id_rsa.pub是公钥文件,可发布到SSH服务器中,基于密钥的SSH用户认证4-3,复制公钥文件将客户端中的用户公钥文件复制到SSH服务器中公钥文件的复制可使用软盘、U盘或网络将公钥内容追加到autho
13、rized_keys 文件authorized_keys 文件保存在SSH服务器中用户目录的“.ssh”子目录中authorized_keys用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容使用“”重定向符将用户公钥追加到authorized_keys文件中cat id_rsa.pub/.ssh/authorized_keys,基于密钥的SSH用户认证4-4,基于密钥的用户认证过程用户使用ssh命令登录SSH服务器时,将使用客户机中的私钥与服务器中的公钥进行认证,认证成功后将允许用户登录密钥的认证过程是ssh命令与SSH服务器自动完成的用户登录过程中将不再提示输入用户口令,禁止r
14、oot用户的SSH登录,为了提高Linux服务器的安全性,可以禁止root用户进行SSH登录设置sshd_config文件#vi/etc/ssh/sshd_config/添加设置行PermitRootLogin no 重新启动sshd服务程序#service sshd restart 再次登录SSH服务器时将不能使用root帐号进行登录,ssh命令的基本使用,ssh命令的两种格式格式1:ssh usernamesshserver 格式2:ssh-l username sshserver两种命令格式具有相同的功能ssh命令中需指定登录的用户名和SSH服务器地址不指定用户名的ssh命令ssh命令中
15、如果不指定用户名,将使用SSH客户机中当前用户的名字登录SSH服务器#ssh,通过SSH运行服务器中的窗口程序,运行服务器中的图形程序是SSH的重要应用ssh命令需要在图形界面虚拟终端下运行命令格式:ssh-X usernamesshserver,xlock是运行在SSH服务器中,而显示在SSH客户机中的窗口程序,sftp的使用,SSH服务器对sftp的支持sftp是SSH服务器中的子系统在SSH服务器中需要存在对sftp的配置#grep sftp/etc/ssh/sshd_configSubsystem sftp/usr/libexec/openssh/sftp-server sftp命令的
16、使用sftp登录命令的格式与ssh命令类似:sftp usernamesshserversftp命令实现了类似ftp命令的功能和命令交互界面,scp命令的使用,scp命令可以实现SSH服务器与客户机之间的文件复制scp命令的格式类似于cp命令SSH服务器可以作为scp命令中的源文件或目标文件命令实例将SSH服务器中的文件复制到客户机#scp root192.168.1.2:/etc/passwd.将客户机中的文件复制到SSH服务器#scp test mike192.168.1.2:,Windows下使用SSH客户端软件,PuTTYPuTTY是Windows环境中可以免费使用的ssh客户端软件h
17、ttp:/www.chiark.greenend.org.uk/sgtatham/putty/WinSCPWinSCP是知名的开源软件项目WinSCP在Windows环境中提供了窗口形式的sftp和scp客户端操作环境,阶段总结,SSH协议是telnet协议的安全替代品SSH服务可以采用帐号和密钥两种用户认证方式在RHEL4系统中OpenSSH服务器和客户软件缺省安装SSH的服务器配置文件sshd_config和客户机配置文件ssh_config都保存在“/etc/ssh”目录中SSH客户软件中包括的ssh命令用于远程管理,sftp和scp命令用于远程文件复制,阶段练习,查看OpenSSH服务
18、器的配置文件“/etc/ssh/sshd_config”中对服务器的缺省配置内容使用ssh命令登录SSH服务器主机,本章总结,SSH的起源与原理,OpenSSH的基本配置管理,OpenSSH的基本应用,在Windows下使用SSH客户端软件,TCPD的概念,hosts.deny和hosts.allow设置文件,TCP Wrappers配置实例,实验,任务1:SSH服务管理任务2:配置TCP Wrappers的访问控制,任务1,注意事项提示1:为了区分SSH服务器和客户机的不同角色,需要使用两台Linux主机分别作为SSH服务器和客户机提示2:使用ssh命令进行远程登录时,需要指定登录用户的名称,否则会以当前用户名进行登录,任务2,注意事项提示1:为了能够清晰的验证TCP Wrappers的访问控制功能,实验中可以先关闭iptables防火墙提示2:hosts.allow和hosts.deny中保存的访问控制记录是即时生效的,不需要重新启动任何服务,