天天看點

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   如需轉載請自行聯系原作者

繼續閱讀