第8章-Linux系统安全课件_第1页
第8章-Linux系统安全课件_第2页
第8章-Linux系统安全课件_第3页
第8章-Linux系统安全课件_第4页
第8章-Linux系统安全课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 Linux系统安全,据预计,2009年全球互联网用户的数量将会超过10亿,可以说,互联网与人们日常生活的联系正变得越来越密切。但与此同时,计算机犯罪和计算机恐怖主义也在不断地泛滥,各种网络攻击手段以及病毒层出不穷。为了保障企业和个人的重要信息及数据的安全,网络安全正受到越来越多人的关注,而作为系统管理员,做好系统的安全防范工作非常重要。本章将介绍黑客的常用攻击手段以及在Linux系统中的防范措施,8.1 用户账号和密码安全,针对用户账号和密码的攻击是黑客入侵系统的主要手段之一。一个使用了弱密码(容易猜测或破解的密码)或设置了不适当权限的用户账号,将给系统留下重大的安全隐患,入侵者可以通

2、过这些用户账号进入系统并进行权限扩张。所以,管理员应采取必要的技术手段强制用户使用强壮密码并定期更改,定期检查系统中的所有用户账号,删除或禁止不必要的用户、检查超级用户的唯一性等,保证系统用户账号和密码的安全,1 删除或禁用不必要的用户,管理员应定期检查/etc/passwd文件,以查看主机上启用的用户。对于系统中已经不再使用的用户,应及时将他们清除。许多服务会在安装过程中在系统上创建专门的执行用户,比如ftp、news、postfix、apache、squid等。这类用户一般只是作为服务的执行者,而无需登录操作系统,因此往往会被管理员所忽略。为了防止这一类用户账号被黑客和恶意破坏者利用作为入

3、侵服务器的跳板,可以采用如下方法禁止这些用户登录操作系统。 1锁定用户 2更改用户的Shell 可以用下面的命令删除账号。 # userdel 用户名 或者用以下的命令删除组用户账号。 # groupdel username,2 使用强壮的用户密码,密码安全是用户安全管理的基础和核心。但是为了方便,很多用户只是设置了非常简单的密码甚至使用空密码,而入侵者往往利用一些密码破解工具轻松地破解这些薄弱的密码获得用户的访问权限,从而进行系统。用户可以使用以下命令检查系统中使用空密码的用户账号。 # cat /etc/shadow | awk -F: length($2)1 print $1 guest

4、/ guest和kelly用户的口令为空 Kelly 例如: # passwd beinan 注:更改或创建beinan用户的密码;Changing password for user beinan.New UNIX password: 注:请输入新密码;Retype new UNIX password: 注:再输入一次;passwd: all authentication tokens updated successfully. 注:成功,3 设置合适的密码策略,随着计算机处理能力的提高,利用暴力破解程序猜测用户密码所需要的时间已经大大地缩短。所以仅仅为用户设置强壮的密码是不够的,用户还应该

5、定期更改自己的密码。但是在实际工作中,很多用户往往由于各种主观的原因延迟甚至拒绝更改密码,从而为系统留下了严重的安全隐患。为此,系统管理员可以使用Red Hat Linux 5.2中提供的强制更改密码机制,为系统中的用户设置合适的密码更改策略,强制用户更改自己的密码。使用change命令可以管理和查看用户密码的有效期,其命令格式如下: Chage options user 参数意思:-m密码可更改的最小天数。为零时代表任何时候都可以更改密码。-M密码保持有效的最大天数。-W用户密码到期前,提前收到警告信息的天数。-E帐号到期的日期。过了这天,此帐号将不可用。-d上一次更改的日期-i停滞时期。如

6、果一个密码已过期这些天,那么此帐号将不可用。-l列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。 例如:#chage-M90root,4 破解shadow口令文件,保护好主机上的/etc/shadow文件也是非常重要。shadow文件中的用户密码信息虽然经过加密保存,但如果这些经过加密后信息被入侵者获得,他们就可以通过一些密码破解程序来破解密码散列。chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。 # chattr +i /etc/passwd# chattr +i /etc/shadow# chattr +i /etc/group# chattr +i

7、/etc/gshadow,5 禁用静止用户,长时间不使用的用户账号是一个潜在的安全漏洞,这些用户可能是属于某个已经离开公司的员工,又或者是某些程序被卸载后留下来的用户,因此现在没人使用该用户。如果这些用户账号被入侵或者是文件被篡改,那么可能在很长一段时间内都不会被发现。因此,为用户设置一个静止阀值是一种比较好的解决方法。在Red Hat Linux中可以使用带“-f”选项的usermod命令来完成这个功能。 命令参数: -c 修改用户帐号的备注文字。-d登入目录 修改用户登入时的目录。-e 修改帐号的有效期限。-f 修改在密码过期后多少天即关闭该帐号。-g 修改用户所属的群组。-G 修改用户所

8、属的附加群组。-l 修改用户帐号名称。-L 锁定用户密码,使密码无效。-s 修改用户登入后所使用的shell。-u 修改用户ID。-U 解除密码锁定,5 禁用静止用户,例如要设置用户sam如果超过10天没有登录系统,则自动禁用该用户,可执行如下命令: # usermod -f 10 sam 如果要取消该功能,则设置值为-1,如下所示。 # usermod -f -1 sam,6 保证只有一个root用户,root用户是Linux系统的超级用户,拥有系统中最高的权限。默认安装后,Linux系统只会有一个root超级用户。但是,Linux系统是以用户的UID来区分用户,而不是用户名,所以可以通过把

9、一个普通用户的UID更改为0(root用户的UID),即可使该普通用户变为超级用户。例如,下面例子的/etc/passwd文件中,root用户和sam用户都拥有超级用户的操作权限,它们可以在系统中执行任何命令。 root:x:0:0:root:/root:/bin/bash sam:x:0:500:sam:/home/sam:/bin/bash virtual_user:x:501:501:/home/ftpsite:/bin/bash postfix:x:502:502:/home/postfix:/bin/bash 但不建议将普通用户提升为root,不然linux的权限设计就没有意义了,7

10、 文件路径中的“.,当用户执行一条命令时,shell会在路径环境变量(PATH)所包含的目录列表中搜索命令所在的位置,然后执行找到的命令,下面是PATH变量值的一个示例。 # echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin “.” 代表当前目录或文件夹 “/”代表操作系统挂载点跟目录 “” 代表当前用户的根目录/home/用户名 “.”表示当前目录的上一级目录,8 主机信任关系:host.equiv和.rh

11、osts文件,etc/host.equiv文件中保存了可信任的主机名和用户列表。一些远程服务,如rlogin、rsh、rcp等,就是利用该文件来确定受信任主机的。受信任的主机可以在无需用户名密码验证的情况下调用远程服务。所以,管理员应该定期检查该文件,确保文件中仅保存有受信任的主机和用户。如果没有受信任的主机或用户,可以考虑删除该文件。 .rhosts文件实现与/etc/host.equiv文件类似的功能。但是它是存放在每个用户的主目录下,仅对该用户有效。例如,mailserver1主机的sam用户主目录下的.rhosts文件内容如下: $ cat .rhosts mailserver2,8.

12、2 网络安全,由于Linux系统的安全稳定,所以经常被用做网络应用服务器。但由于程序代码缺陷的难以避免,这些安装在Linux系统上的网络程序往往会存在着各种的漏洞,而入侵者则是利用这些漏洞进行网络攻击,进入系统窃取数据、破坏系统或使系统无法提供正常服务等。本节将介绍入侵者进行网络攻击的常用手段以及在Linux系统中的防范措施,还会介绍一些常用的命令以及工具以帮助系统管理员及早发现系统中的网络安全漏洞,1 ping探测,入侵者确定主机是否活动的最快、最简单的方法就是使用ping命令进行探测。ping命令会发出一个ICMP echo请求,目标主机接收到请求后会回应一个ICMP应答包。例如,执行pi

13、ng命令对主机demoserver进行探测,结果如下所示。 # ping demoserver PING demoserver (11) 56(84) bytes of data. 64 bytes from demoserver (11): icmp_seq=1 ttl=64 time=0.127 ms/主机demoserver可以访问 64 bytes from demoserver (11): icmp_seq=2 ttl=64 time=0.062 ms 64 bytes from demoserver (11): icm

14、p_seq=3 ttl=64 time=0.058 ms 省略部分输出 - demoserver ping statistics -/最后会显示本次ping操作的相关统计信息 9 packets transmitted, 9 received, 0% packet loss, time 7999ms rtt min/avg/max/mdev = 0.058/0.069/0.127/0.020 ms,如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行: echo 1 /proc/sys/net/ipv4/ icmp_echo_ign

15、ore_all,2 服务端口,TCP/IP的各种应用服务基本上都是采用服务器/客户端的工作模式,这些服务在服务器端会监听一些固定的服务端口,接受来自客户端的请求。而入侵者在发起攻击前,往往会利用各种的端口扫描工具对目标主机的端口进行探测和扫描,收集目标主机的系统以及服务信息,以此制定出具体的攻击方案。 netstat -anp“:查看哪些端口被打开。 说明: # -a显示所有活动的TCP连接,以及正在监听的TCP和UDP端口 # -n以数字形式表示地址和端口号,不试图去解析其名称(number),参数-n会将应用程序转为端口显示,即数字格式的地址,如:nfs-2049,ftp-21 # -p列

16、出与端口监听或连接相关的进程(有个地方需要注意,下面会提到)(pid) 注意:“-p”选项存在权限问题,如果在普通用户登录的shell里面执行netstat命令,那么只能列出拥有该普通用户权限的相关进程,如果想要看到所有的端口情况,最好还是切到root用户进行操作,关闭端口,若要关闭某个端口,则有以下两种方法: 1)通过iptables工具将该端口禁掉,如: sudo iptables -A INPUT -p tcp -dport $PORT -j DROP sudo iptables -A OUTPUT -p tcp -dport $PORT -j DROP 2)关掉对应的应用程序,则端口就

17、自然关闭了,命令如下: 如:通过netstat -anp | grep ssh 有显示:tcp 0 :2121 :*LISTEN 7546/ssh 则:kill -9 7546退出进程ssh. 例如要关闭22号端口: $ netstat -anp | grep :22 tcp00 ::*LISTEN988/sshd 如此,知道了22号端口对应的进程ID 988, $ kill 988,2 服务端口,3 拒绝攻击,拒绝攻击是一种旨在消耗服务器可用资源的攻击方式,这些资源可以是进程、磁盘空间、CPU时间或是网络带宽等,被攻击的服务器将

18、会出现资源被不断消耗的情况,并最终丧失提供服务的能力。 例如,可以在/etc/security/limits.conf中添加如下几行: hard core 0/禁止调试文件 hard rss 5000/限制内存使用为5MB hard nproc 20/限制进程数为20 然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。 session required /lib/security/pam_limits.so,4 使用安全的网络服务,Telnet、FTP、POP、rsh或rlogin等传统的网络服务程序在本质上都是不安全的,因为这些服务在网络上都是用明文传送密码和数据,攻击者

19、只要使用sniffer等工具就可以非常容易地截取这些明文传送的口令信息。而且,这些服务的安全严重方式也是存在缺陷的,这使它们非常容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”攻击,就是攻击者冒充真正的服务器接收客户端原本应该传送给服务器的数据,然后再冒充客户端把数据传给真正的服务器。而在这个中转的过程,攻击者已经窃取了其中的重要数据或对数据进行了篡改,这就会导致非常严重的后果,5 增强Xinetd的安全,Xinetd是Linux系统的一个传统的网络守护进程,它可以同时监听多个指定的端口,在接收到用户请求时,根据用户请求端口的不同,启动相应的网络服务进程来

20、处理这些用户请求。因此,xinetd也常被称为“超级服务器”。像Telnet、rlogin、rcp、rsh、TFTP等网络服务就是通过xinetd进程启动的。为了减少系统潜在漏洞,应该关闭xinetd中无需使用的网络服务。在系统面板上选择【系统】|【管理】|【服务器设置】|【服务】命令,打开【服务配置】窗口,5 增强Xinetd的安全,8.3 文件系统安全,1 限制权限 Linux文件系统的权限必须进行严格的控制,一个文件上的配置错误,比如不正确的文件权限,就有可能会导致整个系统受到危害。本节将介绍一些Linux文件系统安全的检查以及控制的技术手段,管理员可以通过这些手段及时发现文件系统漏洞以

21、及进行安全加固。 chmod u,g,o+/-/=r,w,xobject u(user),g(group),o(other) +表示增加 -表示减少 =表示赋予相应值,2 删除没有所有者的文件,正常情况下,系统中的每一个文件都会有自己的文件所有者和属组。如果系统中出现没有所有者或属组的文件,那么很可能是卸载程序后遗留或是由入侵者留下的。这些文件对于系统来说,是一个潜在的风险,所以应该及时把这些文件找出来,删除或更改访问权限,3 限制设备文件的权限,Linux的设备文件都被存放在/dev/目录下,这些设备文件代表的就是设备本身,所以这些文件的权限控制同样非常重要。例如,IDE硬盘在linux中对

22、应的设备文件为/dev/hdx,如果这些文件的权限被设置为全球可读,那么所有用户都可以通过一些命令读取硬盘中所有的内容,8.4 其他1 磁盘分区,恶意用户可以通过占用所有的磁盘可用空间来实施一次拒绝服务攻击,从而导致系统崩溃。下面是一个攻击的例子,攻击者只需要执行一条命令即可使系统崩溃。 $ cat /dev/zero /tmp/bigfile,2 设置grub密码,如果恶意用户能够接触服务器主机,那么他就可以通过reset按钮重启服务器并在grub引导时更改设置,把Linux系统引导进单用户模式。然后他就可以访问服务器中任何的文件内容。为了防止这种情况的发生,可以在grub设置密码,每次引导

23、或更改grub配置时都要求用户进行验证,3 限制su切换,入侵者侵入服务器的步骤一般是先获得主机上的普通用户权限,然后再通过系统中的某些漏洞进行权限提升,获得root权限。所以,如果可以限制普通用户的su操作,那么就可以大大降低入侵者获得root用户访问权限的风险,4 使用合适的mount选项,使用noexec、nosuid和nodev等选项,可以更好地控制挂载的文件系统,如/var/和/home等目录。这3个选项的说明如下所示: noexec:从这个分区不能执行任何内容 nosuid:不允许任何suid程序 nodev: 不存在设备文件,8.5 备份与恢复,如果觉得系统中的数据是有价值的,那

24、么就需要进行备份。系统中的程序错误、意外、自然灾难以及恶意攻击都是难以预料的,即使尽了很大的努力,花了很多的时间,可能还是无法阻止这些问题的发生。但是如果还有异地备份,那么即使遇到像美国911一样的恐怖袭击导致服务器被摧毁,整栋大楼都坍塌,依然可以通过保存在异地的备份在另外一台服务器上进行恢复。因为,作为系统管理员,应该被数据备份作为一项日常工作来进行。本节将介绍如何通过Linux所提供了一些工具tar、dump以及dd对系统数据进行备份和恢复,1 使用tar进行备份,tar命令是Linux / Unix系统中一个历史悠久的命令,也是最常用的备份命令之一。tar命令的格式如下: tar 选项

25、tar文件 目录或文件 命令的常用选项如下所示。 -c:创建新的归档文件。 -d:检查归档文件与指定目录的差异。 -r:往归档文件中追加文件。 -t:列出归档文件中的内容。 -v:显示命令执行的信息。 -u:只有当需要追加的文件比tar文件中已存在的文件的版本更新的时候才添加。 -x:还原归档文件中的文件或目录。 -z:使用gzip压缩归档文件。 -Z:使用compress压缩归档文件,tar-cfall.tar*.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。 -c 是表示产生新的包, -f 指定包的文件名。 #tar-rfall.tar*.gif 这条命令是将所有.

26、gif的文件增加到all.tar的包里面去。 -r 是表示增加文件的意思。 #tar-ufall.tarlogo.gif 这条命令是更新原来tar包all.tar中logo.gif文件, -u是表示更新文件的意思。 #tar-tfall.tar 这条命令是列出all.tar包中所有文件, -t是列出文件的意思,2 专用的备份恢复工具:dump和restore,dump同样是Linux中常用的备份命令之一,但与tar命令不同,dump可以支持分卷和增量备份(也称为差异备份)。restore命令则是用于恢复有dump命令备份出来的备份文件。 1dump备份数据 2restore恢复数据,3 底层设

27、备操作命令:dd,dd命令是一个底层设备操作命令,可以以指定的块大小进行设备间的数据复制,其命令格式如下所示。 dd if=设备文件 of=设备文件 bs=块大小 将本地的/dev/hdx整盘备份到/dev/hdy : dd if=/dev/hdx of=/dev/hdy 将/dev/hdx全盘数据备份到指定路径的image文件: dd if=/dev/hdx of=/path/to/image,4 备份的物理安全,数据备份作为系统安全的最后保障,可以为系统提供一份在数据丢失或误操作后的数据复制。所以,如今很多管理员都意识到备份工作的重要性并定期进行备份,但是他们往往忽略了备份的物理安全问题,

28、从而带来惨痛的教训。假设管理员每天都使用磁带进行数据备份,但备份后的磁带就放在服务器旁边,如果发生火灾,那么包括服务器和备份都会毁坏,管理员每天所做的备份将会变得毫无意义。又假设管理员把备份后的磁带随便放在桌面,而没有锁起来,那么一些别有用心的人就可以盗取这些备份磁带,并在自己的主机上进行恢复,从而获得服务器上的重要数据。所以备份的物理安全同样重要,管理员可参考以下原则进行保存,8.6 日志记录,Linux系统提供了各种的日志文件,通过这些日志文件,管理员可以监控自己所建立的保护机制,确保这些机制已经在起作用。此外,还可以通过日志观察试图侵入系统的任何异常行为或者其他的可以问题,以便及时采取有

29、效措施已经处理。如果系统不幸被黑客攻破,那么日志文件将会是跟踪以及取证黑客行为的重要线索。本节将介绍Linux系统中能获得安全信息的日志文件和命令以及它们的使用方法,1 查看当前登录用户,使用who命令可以查看当前已经登录操作系统的用户信息,这些信息包括用户名、登录时间、客户端的IP地址等,命令的执行结果如下所示。 # who sam pts/1 2008-11-10 19:36 (90) kelvin pts/2 2008-11-10 19:47 (00) sam pts/3 2008-11-10 20:13 (01,2 查看

30、用户历史登录日志,Linux系统的用户用户登录历史信息被分别保存在/var/log/wtmp和/var/log/btmp文件中,其中/var/log/wtmp保存了用户成功登录的历史信息,而/var/log/btmp则保存了用户登录失败的历史信息。这两个文件不是ASCII文件,所以必须要通过last和lastb命令来查看。例如要查看最近3次的用户成功登录信息,命令如下所示。 # last | head -3 sam pts/1 03 Mon Nov 10 22:25 still logged in sam pts/4 02 Mon Nov 10 20

31、:53 still logged in ken pts/3 01 Mon Nov 10 20:13 - 22:31 (02:18,3 secure日志中的安全信息,用户验证、su切换以及与用户管理相关的日志信息都会被记录到/var/log/secure日志文件中,打开/etc/syslog.conf配置文件,应能看到这样的一行信息: # The authpriv file has restricted access. authpriv.* /var/log/secure,4 messages日志中的安全信息,messages日志文件中保存了由syslogd记录的信息,打开

32、/etc/syslog.conf配置文件,应能看到如下的配置行: # Log anything (except mail) of level info or higher. # Dont log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages,5 cron日志中的安全信息,var/log/cron日志文件中记录了cron的定时任务信息,包括发生时间、用户、进程ID以及执行的操作或命令等。其中REPLCAE动作记录了用户对他的cron文件(定时任务策略)的更新,

33、而cron守护进程发现用户更改cron文件后会把它重新装入内容,并触发RELOAD动作。对于这类的动作,系统管理员应该重点关注,以防止入侵者把一些攻击代码或脚本作为定时任务添加到系统中,6 history日志中的安全信息,默认情况下,在每个用户的主目录下都会生成一个.bash_history的日志文件,在该文件中保存了用户输入的所有命令,管理员可以通过该文件查看某个用户登录系统后进行了什么操作。下面是root用户的.bash_history文件的一个内容截取: # cat /root/.bash_history cd /etc ls ora* vi oraInst.loc rm ora,7 日

34、志文件的保存,日志文件是追踪黑客行为和取证的重要线索,一个有经验的黑客在入侵完系统后一般都会清除日志文件的内容,抹去自己的入侵痕迹。所以为了提供日志的安全性,可以定期对系统中的重要日志文件进行备份,并通过FTP或其他网络手段把备份文件上传到其他的备份服务器上保存,以作为日后跟踪和分析黑客行为的依据,8.7 漏洞扫描Nessus,检查大量的主机是否存在系统漏洞是一项相当费时间的任务,而借助一些自动化的漏洞扫描工具则可以大大减轻系统管理员的负担。Nessus是Linux上的一个用于自动检测和发现已知安全漏洞的强大工具,可以对多个目标主机进行远程漏洞自动检查,1 如何获得Nessus安装包,Ness

35、us是一个在GPL许可下的开放软件,完全免费和开放源代码,用户可以通过其官方网站/nessus/进行下载,目前最新版本为Nessus-31.2.1,2 安装Nessus服务器,Nessus以rpm软件包的形式发布,其安装步骤比较简单,安装完成后需要执行nessus-adduser命令创建Nessus的管理用户,具体操作步骤如下所示。 (1)安装Nessus-3.2.1-es5.i386.rpm软件包。该软件包的安装所需时间相对比较长,用户需要耐心等待其完成。 (2)创建Nessus的管理用户,3 启动和关闭Nessus,Nessus安装后,会在系统中创建

36、一个名为nessusd的服务,用户可以通过service命令启动关闭该服务,具体如下所示。启动Nessus服务: # service nessusd start 启动 Nessus 服务:确定 关闭Nessus服务: # service nessusd stop 关闭 Nessus 服务:确定 检查Nessus服务的状态: # service nessusd status nessusd (pid 11280 10538) 正在运行. 重启Nessus服务: # service nessusd restart 关闭 Nessus 服务:确定 启动 Nessus 服务:确定,4 安装Nessus

37、客户端,Nessus采用客户端/服务器的工作模式,Nessus客户端程序提供了图形化的管理界面,用户可以通过图形界面连接到远程或本地的Nessus服务器上,对Linux主机进行安全漏洞扫描。Nessus客户端程序的安装命令如下所示。 # rpm -ivh NessusClient-3.2.1-es5.i386.rpm Preparing. # 100% 1:NessusClient # 100,5 扫描安全漏洞,Nessus客户端提供了图形化的用户操作界面,由于Nessus对中文的支持并不好,建议在打开Nessus客户端前取消LANG变量中的语言设置,然后再启动Nessus客户端程序,如下所示

38、。 # unset LANG # /opt/nessus/bin/NessusClient,6 自定义扫描策略,Nessus的扫描策略指定了安全扫描的检查项目、方式以及网络设置。在Nessus客户端程序主界面的【Select a scan policy】列表框中可以选择使用的扫描策略,默认可供选择的扫描策略只有两个,7 Nessus命令行客户端,如果没有安装Nessus的图形化界面客户端程序,可以在Nessus服务器上使用命令行方式对主机进行扫描。命令为“/opt/nessus/bin/nessus”,其格式如下所示。 nessus -q -pPS 命令中需要指定Nessus服务器的IP地址、

39、端口号、管理用户名、密码、目标主机文件以及报表结果文件,其中目标主机文件中列出所有需要扫描的主机的地址或机器名,例如要扫描本机,则目标主机文件的内容如下: # cat targets.txt ,8.7 OpenSSH,OpenSSH是SSH(Secure Shell,安全命令壳)的替代软件,完全免费并且开放源代码。OpenSSH提供了安全加密工具ssh、scp以及sftp,可以代替传统的Telnet、FTP、rcp、rlogin等网络服务。本节将介绍如何在Red Hat Enterprise Linux 5.2中安装和配置OpenSSH,并使用OpenSSH提供的客户端工具进

40、行安全加密的数据传输,1 SSH和OpenSSH简介,传统的网络程序都是采用明文传输密码和数据,如Telnet、FTP等,存在很大的安全漏洞,黑客只需要使用一些数据包截取工具就可以获得包括密码在内的重要数据。正因为如此,所以后来才出现了SSH。SSH是由芬兰的一家公司所研发加密通信协议,所有SSH传输的数据都经过加密,可以有效防止数据的窃取以及“中间人”的攻击。但是由于SSH的版权以及加密算法限制,所以目前越来越多的人都选择使用其免费开源版本OpenSSH。 OpenSSH是一个免费开源软件,可以支持1.3、1.5以及2.0版本的SSH协议,自OpenSSH 2.9版本以后,默认使用的是SSH

41、协议2.0版本,Red Hat Enterprise Linux 5.2的安装光盘中自带了4.3p2-26版本的OpenSSH软件安装包。由于Telnet、FTP等网络服务的安全缺陷,建议用户安装并使用OpenSSH的安全加密工具ssh、scp以及sftp等替换这些传统的网络服务,以保证系统密码以及重要数据在网络传输过程中的安全,2 安装OpenSSH,Red Hat Enterprise Linux 5.2的安装光盘中自带了OpenSSH的RPM安装包,版本为OpenSSH-4.3p2-26。安装包文件清单如下: openssh-4.3p2-26.el5.i386.rpm ; openssh

42、-clients-4.3p2-26.el5.i386.rpm; openssh-askpass-4.3p2-26.el5.i386.rpm ; openssh-server-4.3p2-26.el5.i386.rpm,3 启动关闭OpenSSH,OpenSSH安装后,会在系统中创建一个名为sshd的服务,用户可以通过该服务启动和关闭OpenSSH。默认情况下,OpenSSH会开机自动启动,如下所示。 OpenSSH的启动关闭命令分别如下所示。启动OpenSSH: # service sshd start 启动 sshd:确定 关闭OpenSSH: # service sshd stop 停止

43、sshd:确定 重启OpenSSH: # service sshd restart 停止 sshd:确定 启动 sshd:确定 查看OpenSSH的状态: # service sshd status sshd (pid 5146) 正在运行,4 OpenSSH配置文件,OpenSSH的主要配置文件有两个:/etc/ssh/sshd_config和/etc/ssh/ssh_config,它们分别用于配置OpenSSH服务器以及客户端,5 OpenSSH服务器配置,etc/ssh/sshd_config是OpenSSH服务器的配置文件,通过更改该文件中的配置可以改变sshd进程的运行属性。该文件中

44、每一行都使用“选项 值”的格式,其中“选项”是不区分大小写的。OpenSSH使用默认的sshd_config配置已经可以正常运行,但是为了搭建更安全可靠的SSH服务器,可以对其中的选项进行适当的修改。sshd_config配置文件的内容以及相关说明如下。 1更改OpenSSH的banner信息 2禁止root用户登录,6 OpenSSH客户端配置,etc/ssh/ssh_config是OpenSSH客户端程序(ssh、scp和sftp)的配置文件,通过该文件可以改变OpenSSH客户端程序的运行方式。与/etc/ssh/sshd_config文件类型一样,/etc/ssh/ssh_config

45、配置文件同样使用“选项 值”的格式,其中“选项”忽略大小写,7 使用SSH远程登录,SSH是OpenSSH所提供的加密方式的远程登录程序,可替换传统的不安全的Telnet、rlogin以及rsh等程序。使用SSH登录Linux服务器后可以使用操作系统的所有功能,这与Telnet并没有任何区别,但是SSH为客户端和服务器间建立了加密的数据传送通道,更加安全和可靠。其命令格式如下: 1第一次登录SSH服务器 2使用SSH管理linux服务器 3查看SSH的版本信息 4查看SSH登录的详细信息,8 使用sftp进行文件传输,sftp使用2.0版本的SSH协议,以加密的方式实现安全可靠的交互式文件传输,可替换传统的FTP程序。sftp命令的格式如下: sftp -1Cv -B b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论