《现代操作系统与网络服务管理》课件第14章Linux安全管理.ppt
《《现代操作系统与网络服务管理》课件第14章Linux安全管理.ppt》由会员分享,可在线阅读,更多相关《《现代操作系统与网络服务管理》课件第14章Linux安全管理.ppt(51页珍藏版)》请在文库网上搜索。
1、第第14章章 网络安全网络安全14.1 网络安全简介网络安全简介14.2 Linux远程管理远程管理14.3 Linux安全机制安全机制14.1 网络安全简介网络安全简介网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。网络安全从其本质上来讲就是网络上的信息安全,是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。网络安全应具有以下四个方面的特征:1.保密性:信息不泄露给非授权用户、实体或过程,或供其利用的特性。2.完整性:数据未经授权不能
2、进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。3.可用性:可用性是指保障信息资源随时可提供服务的能力特性,即授权用户根据需要可以随时访问所需信息。可用性是信息资源服务功能和性能可靠性的度量,涉及到物理、网络、系统、数据、应用和用户等多方面的因素,是对信息网络总体可靠性的要求。4.不可否认性:是指在网络环境中,信息交换的双方不能否认其在交换过程中发送信息或接收信息的行为。14.1 网络安全简介网络安全简介从系统安全的角度可以把网络安全的研究内容分成两大体系:攻击和防御。攻击技术主要包括五个方面:(1)网络监听:自己不主动去攻击别人,在计算机上设置一个程序去监听目标计
3、算机与其他计算机通信的数据。(2)网络扫描:利用程序去扫描目标计算机开放的端口等,目的是发现漏洞,为入侵该计算机做准备。(3)网络入侵:当探测发现对方存在漏洞以后,入侵到目标计算机获取信息。(4)网络后门:成功入侵目标计算机后,为了对“战利品”的长期控制,在目标计算机中种植木马等后门。(5)网络隐身:入侵完毕退出目标计算机后,将自己入侵的痕迹清除,从而防止被对方管理员发现。防御技术包括四大方面:(1)操作系统的安全配置:操作系统的安全是整个网络安全的关键。(2)加密技术:为了防止被监听和盗取数据,将所有的数据进行加密。(3)防火墙技术:利用防火墙,对传输的数据进行限制,从而防止被入侵。(4)入
4、侵检测:如果网络防线最终被攻破了,需要及时发出被入侵的警报。14.1 网络安全简介网络安全简介几种常用的网络安全协议。1、SSL协议和TLS协议(1)SSL协议SSL是Netscape公司在网络传输层之上提供的一种基于RSA和保密密钥的安全连接技术。SSL主要用于WEB通信安全、电子商务,还被用在对SMTP,POP3,Telnet等应用服务的安全保障上。但SSL除了传输过程外不能提供任何安全保证;不能提供交易的不可否认性(2)TLS协议安全传输层协议TLS用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议(TLSRecord)和TLS握手协议(TLSHandsh
5、ake),较低的层为TLS记录协议,位于某个可靠的传输协议(例如TCP)上面。TLS记录协议是一种分层协议,用于封装各种高层协议。作为这种封装协议之一的握手协议允许服务器与客户机在应用程序协议传输和接收其第一个数据字节前彼此之间相互认证,协商加密算法和加密密钥。14.1 网络安全简介网络安全简介几种常用的网络安全协议。2、SSH协议SSH(SecureShell)是IETF(InternetEngineeringTaskForce)的NetworkWorkingGroup所制定的协议,其目的是要在非安全网络上提供安全的远程登录和其它安全网络服务。SSH使用多种加密方式和认证方式,解决了传统服务
6、的数据加密、身份认证问题,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的“通道”。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH协议有两个版本:SSH1(SSH1.5协议)和SSH2(SSH2.0协议),两者是同一程序不同的实现,但是它们使用不同的协议,因此,二者不互相兼容。SSH协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连接协议。14.1 网络安全简介网络安全简介几种常用的网络安全协议。3、SET协议SET(
7、SecureElectronicTransaction,安全电子交易)是一种安全交易协议。SET提供消费者、商家和银行间多方的认证,并确保交易数据的安全性、完整可靠性和交易的不可否认性,主要应用于保障网上购物信息的安全性。4、IPSec协议IPSec定义了一种标准的、健壮的以及包容广泛的机制,可用它为IP以及上层协议(比如TCP或者UDP)提供安全保证。IPSec具有以下安全特性:(1)不可否认性(2)反重播性“反重播”确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用、重新传输回目的地址。(3)数据完整性防止传输过程中数据被篡改,确保发出数据和接收数据的一致性。(4)数据可靠
8、性(加密)(5)认证在IPSec通信之前双方要先用IKE认证对方身份并协商密钥,只有IKE协商成功之后才能通信。14.2 Linux远程管理远程管理远程登录是指在本地通过网络访问其他计算机,就像用户在本地操作一样,以显示的类型来分类,可以分为文字接口和图形接口两种。文字登入包括Telnet和SSH两种方式;图形接口包括Xdmcp和VNC。14.2.1 Telnet服务器服务器telnet相关的软件包有两个,一个是telnet-server,它是telnet的服务器端的软件包;另一个是telnet,它是登录服务器的客户端连接连接工具。可以在RHEL6光盘中找到这两个telnet软件包。使用#rp
9、m-ivhtelnet-0.17-45.el6.i686.rpm命令安装客户端工具即可,在安装服务器端软件包时存在依赖关系,需要先安装xinetd包,在光盘中找到后,使用#pm-ivhxinted-2.3.14-27.1.el6.i686.rpm安装即可。也可以使用yum命令查找及安装telnet软件包。#yumlistinstalled|grep-itelnet/查看telnet是否已安装#yuminstalltelnet-servertelnet/使用yum的方式安装软件包2、启动telnet服务(1)执行命令#ntsysv,在弹出的窗口中,勾选telnet,然后按下“确定”即可。(2)通
10、过激活xinetd激活telnettelnet是一个基于xinetd的服务,即是一个超级服务管理的服务,所以其对应的配置文件在/etc/xinetd.d/目录下,需要编辑/etc/xinetd.d/telnet文件14.2 Linux远程管理远程管理14.2.1 Telnet服务器服务器servicetelnetflags=REUSE/额外使用的参数socket_type=stream/使用的是TCP连接,如果是UDP则为dgramwait=no/联机时不需要等待user=root/运行者的身份server=/usr/sbin/in.telnetd/执行侦听的进程为in.telnetd,TCP
11、_Wrapper根据该程序名处理log_on_failure+=USERID/记录下登录错误的信息disable=yes/是否关闭,yes则为关闭,设置为no则开启telnet在上面的文件中找到“disable=yes”一行,将其改为“disable=no”,接下来执行命令#servicexinetdrestart,因为telnet是挂在xinetd下的,只要重新激活xinetd就能够将刚设定的telnet激活。14.2 Linux远程管理远程管理14.2.1 Telnet服务器服务器3、测试telnet服务执行命令#telnet127.0.0.1或#telnet4、修改telnet端口编辑/
12、etc/services文件,查找telnet,会找到如下内容:telnet23/tcptelnet23/udp将23修改成未使用的端口号(如2000),保存退出,重启telnet服务,telnet默认端口号就被修改了。14.2 Linux远程管理远程管理14.2.1 Telnet服务器服务器5、允许root用户登录telnet不安全,默认情况下不允许root以telnet方式登录Linux主机。若要允许root用户登录,可以执行命令:#mv/etc/securetty/etc/securetty.bak。这样,root就可以telnet登录Linux主机了。不过,不建议这样做。建议使用普通用
13、户登录后,切换到root用户,拥有root的权限。etc/securetty文件可控制root用户登录的设备,该文件里记录的是可以作为root用户登录的设备名,如tty1、tty2等。如果/etc/securetty是一个空文件,则root用户就不能从任何设备登录系统。6、telnet的安全性Telnet是基于字符的网络协议,其登陆过程需要进行用户的身份验证,看似安全的服务但实际上存在着严重的安全隐患。这是因为Telnet本身不进行会话完整性检查,由于数据全部是明文传输,容易被非法篡改。14.2 Linux远程管理远程管理14.2.2 SSH/OpenSSHSSH(SecureShell)目的
14、是要在非安全网络上提供安全的远程登录和其它安全网络服务。SSH的应用广泛,包括:(1)安全远程登录和安全远程命令SSH它替代传统的Telnet和rlogin,rsh等命令。Telnet服务有一致命弱点,它是以明文的方式传输用户名及口令,很容易被第三者窃取口令。要远程管理UNIX,必定要使用远程终端服务,通过SSH命令#sshusernameremotecomputer登录到远程计算机用户账号中(2)安全文件传输SFTPSFTP是在SSH之上的一个基于SFTP协议的独立的文件传输工具,执行命令的格式如下:#sftpusernameremotecomputersftp在一个SFTP会话中可以调用多
15、个命令进行文件拷贝和处理,而scp每次调用时都要打开一个新会话。其实,SSH并不执行文件传输。在SSH协议中没有任何传输文件的内容,SSH通信者不能请求对方通过SSH协议来发送或接收文件。scp和SFTP程序并没有真正实现SSH协议,也根本没有融合什么安全特性。实际上,它们只是在一个子进程中调用SSH进行远程登录,然后传输文件,最后调用SSH关闭本次连接而已。14.2 Linux远程管理远程管理14.2.2 SSH/OpenSSH要启动服务,使用#servicesshdstart命令即可。要在Linux系统中使用ssh登录到远程计算机,输入SSH命令#sshusernameremotecomp
16、uter,然后输入密码即可在Windows中使用ssh登录需要安装ssh工具,如putty。SSH的配置文件是/etc/ssh/ssh_config,通常不需要对其做特别的配置,只需要启动SSH服务即可。ssh_config文件部分内容如下:Host*/选项Host只对能够匹配后面字串的计算机有效,*表示所有的计算机。ForwardAgentno/设置连接是否经过验证代理(如果存在)转发给远程计算机ForwardX11no/设置X11连接是否被自动重定向到安全的通道和显示集RhostsAuthenticationno/设置是否使用基于rhosts的安全验证RhostsRSAAuthentica
17、tionno/设置是否使用用RSA算法的基于rhosts的安全验证RSAAuthenticationyes/设置是否使用RSA算法进行安全验证PasswordAuthenticationyes/设置是否使用口令验证FallBackToRshno/设置如果用ssh连接出现错误是否自动使用rsh14.2 Linux远程管理远程管理14.2.2 SSH/OpenSSHSSH的配置文件是/etc/ssh/ssh_config,通常不需要对其做特别的配置,只需要启动SSH服务即可。ssh_config文件部分内容如下:UseRshno/设置是否在这台计算机上使用”rlogin/rsh”BatchMode
18、no/如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用CheckHostIPyes/设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。StrictHostKeyCheckingno/如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接IdentityFile/.ssh/identity/设置从哪个文件读取用户的RSA安全验证标识Port22/设置sshd监听的端口号Ciph
19、erblowfish/设置加密算法EscapeChar/设置escape字符14.2 Linux远程管理远程管理14.2.3 使用使用VNC进行远程管理进行远程管理VNC(VirtualNetworkComputing)是虚拟网络计算机的缩写。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用。linux下的vnc的安装与配置:(1)安装找到相关rpm包,包括两个,一个是客户端:tigervnc-1.0.90-0.17.20100115svn3945.el6.i686.rpm;一
20、个是服务端:tigervnc-server-1.0.90-0.1.20100115svn3945.el6.i686.rpm。使用rpm命令安装。或者可以使用yum在线安装。#yuminstalltigervnc#yuminstalltigervnc-server(2)启用vnc桌面$vncserverYouwillrequireapasswordtoaccessyourdesktops.Password:Verify:如果命令后面不跟桌面号,默认从1开始依次往后排。如果桌面号1已经被tom启用,那么下次root将缺省启用桌面2,如果4、5都已经被启用,但是2被关闭,那下次将先启用2,再往后排。
21、启用的VNC桌面占用端口号为port=(5900+桌面号)。14.2 Linux远程管理远程管理14.2.3 使用使用VNC进行远程管理进行远程管理(3)更改vnc桌面配置文件Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(displaynumber)来区分,每个vncserver服务监听3个端口,它们分别是:5800+显示编号:VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。5900+显示编号:VNC服务端与客户端通信的真正端口,必须无条件开放。6000+显示编号:X监听端口,可选。VNC服务器
22、端的编号、开放的端口分别由VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的设置方式为:VNCSERVERS=“编号1:用户名1编号2:用户名2.”例如:VNCSERVERS=”1:root2:user1”VNCSERVERARGS的设置方式为:VNCSERVERARGS显示编号n=“参数1参数2.”例如:VNCSERVERARGS2=”geometry800600-nohttpd”修改/etc/sysconfig/vncservers文件,$vim/etc/sysconfig/vncservers将文件最后两行内容修改如下:VNCSERVERS=”1:root2:u
23、ser1”VNCSERVERARGS1=-geometry800 x600-nolistentcpVNCSERVERARGS2=-geometry1024x768-nolistentcp本例我们开启两个vncserver,分别是root用户,显示编号为1和用户user1,显示编号为2,并且全不开启X监听端口60 xx。14.2 Linux远程管理远程管理14.2.3 使用使用VNC进行远程管理进行远程管理(4)设置VNC用户密码:接下来设置VNC的密码,此步骤不可跳过,否则VNCServer将无法启动,在LinuxShell下执行下列命令:#su-user1#vncpasswd#su-root
24、#vncpasswd运行上面命令后,会在用户根目录($HOME)下的.vnc文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。(5)修改.vnc/xstartup文件:执行到上面步骤后,VNCServer已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的“.vnc/xstartup”文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行“startkde&”或者“gnome-session&”。配置完各个用户根目录下的“.
25、vnc/xstartup”后,执行#servicevncserverrestart重新启动vncserver使配置生效。(6)配置防火墙:如果Linux启用了防火墙,必须允许VNC的相关端口(58xx,59xx,60 xx)。14.2 Linux远程管理远程管理14.2.3 使用使用VNC进行远程管理进行远程管理(7)vnc客户端连接1)windows客户端windows客户端需要安装VNCViewer,运行VNCViewer如图14-3所示,在VNCServer输入框中的格式为:“IP地址:桌面号”,如输入“192.168.193:120:2”,单击“connect”,打开图14-4所示,输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代操作系统与网络服务管理 现代 操作系统 网络服务 管理 课件 14 Linux 安全管理