天天看点

RedHat 6编译升级vsftpd

RedHat 6自带的vsftpd是2.2.2版本,存在'ls.c' 远程拒绝服务漏洞(CVE-2011-0762),为了安全起见,通过编译源码包的方式将其升级到3.0.3版本。本文将介绍升级配置过程。

一、准备工作

1、系统环境:Redhat 6.5 x86_64

2、源码包:vsftpd-3.0.3.tar.gz

3、xinetd包:xinetd-2.3.14-39.el6_4.x86_64.rpm

4、卸载系统自带的vsftpd:rpm -e vsftpd-2.2.2-11.el6_4.1.x86_64

二、升级过程

1、安装xinetd,源码安装的vsftpd将使用xinetd来控制服务的启停

1

<code>rpm -ivh </code><code>/tmp/xinetd-2</code><code>.3.14-39.el6_4.x86_64.rpm</code>

2、解压vsftpd的源码包

<code>tar</code> <code>zxf </code><code>/tmp/vsftpd-3</code><code>.0.3.</code><code>tar</code><code>.gz -C </code><code>/tmp</code>

3、编译安装vsftpd

2

3

<code>cd</code> <code>/tmp/vsftpd-3</code><code>.0.3</code>

<code>make</code>

<code>make</code> <code>install</code>

如果make的时候出现关于/lib/libpam.so.0和/lib/libcap.so.1的报错,可以使用以下方法解决:

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>cd</code> <code>/lib</code>

<code>mv</code> <code>libpam.so.0 libpam.so.0.bak</code>

<code>ln</code> <code>-s </code><code>/lib64/libpam</code><code>.so.0.82.2 </code><code>/lib/libpam</code><code>.so.0</code>

<code>mv</code> <code>libcap.so.1 libcap.so.1.bak</code>

<code>ln</code> <code>-s </code><code>/lib64/libcap</code><code>.so.1.10 </code><code>/lib/libcap</code><code>.so.1</code>

<code>make</code> <code>clean</code>

<code>rm</code> <code>-f libpam.so.0</code>

<code>mv</code> <code>libpam.so.0.bak libpam.so.0</code>

<code>rm</code> <code>-f libcap.so.1</code>

<code>mv</code> <code>libcap.so.1.bak libcap.so.1</code>

四、配置vsftpd

主要是设置禁止匿名登录、允许上传、禁止切换目录、禁止root用户登录、使用xinetd管理vsftpd服务

<code>cp</code> <code>/tmp/vsftpd-3</code><code>.0.3</code><code>/RedHat/vsftpd</code><code>.pam </code><code>/etc/pam</code><code>.d</code><code>/ftp</code>

<code>sed</code> <code>-i </code><code>'s/lib/lib64/g'</code> <code>/etc/pam</code><code>.d</code><code>/ftp</code>

<code>cp</code> <code>/tmp/vsftpd-3</code><code>.0.3</code><code>/vsftpd</code><code>.conf  </code><code>/etc</code>

<code>sed</code> <code>-i </code><code>'s/anonymous_enable=YES/#anonymous_enable=YES/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'s/#local_enable=YES/local_enable=YES/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'s/#write_enable=YES/write_enable=YES/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'s/#local_umask=022/local_umask=002/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'s/listen=YES/listen=NO/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>sed</code> <code>-i </code><code>'s/#chroot_local_user=YES/chroot_local_user=YES/'</code> <code>/etc/vsftpd</code><code>.conf</code>

<code>echo</code> <code>"allow_writeable_chroot=YES"</code> <code>&gt;&gt;</code><code>/etc/vsftpd</code><code>.conf</code>

<code>echo</code> <code>"userlist_deny=YES"</code> <code>&gt;&gt;</code><code>/etc/vsftpd</code><code>.conf</code>

<code>echo</code> <code>"root"</code> <code>&gt;</code><code>/etc/ftpusers</code>

五、验证与测试

1、重启服务和设置服务开机启动

<code>service xinetd restart</code>

<code>chkconfig xinetd on</code>

<a href="https://s2.51cto.com/wyfs02/M00/08/4A/wKiom1nfEd6wIALwAABbAVD0uOQ650.png" target="_blank"></a>

2、查看vsftpd版本

<code>vsftpd -</code><code>v</code>

<a href="https://s5.51cto.com/wyfs02/M01/08/4A/wKiom1nfEkvgN-uHAAAM7PZF6eg120.png" target="_blank"></a>

3、测试

<a href="https://s4.51cto.com/wyfs02/M00/A7/02/wKioL1nfFw3Cfa-SAADUy3sNDjU123.png" target="_blank"></a>

本文转自Mr大表哥jianlong1990 博客,原文链接:    http://blog.51cto.com/jiangjianlong/1971742   如需转载请自行联系原作者

继续阅读