Linux系統相對於windows是比較安全的,系統漏洞較少,針對該系統的病毒也較少,外部不易攻擊。所以用linux系統做各種網絡服務是非常理想的。本文僅就ftp及dhcp服務做一下詳細論述。
系統:Redflag linux 4.1
FTP服務的實現
首先下載ftp服務軟件包vsftpd-1.1.3-8.i386.rpm,安裝該軟件包。命令如下:
[root@localhost lxjun]# rpm -ivh vsftpd-1.1.3-8.i386.rpm。安裝完成後,在/etc/vsftpd目錄下自動生成vsftpd.conf文件。啟動ntsysv,會在服務列表中出現vsftpd項。選中該項,重啟服務器。
筆者設置的vsftpd.conf配置文件內容如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=no
anon_mkdir_write_enable=no
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
FTP服務的幾個重要問題
配置完畢後即可實現基本的FTP服務了。現就幾個問題做以下說明。
問題1:無法下載/var/ftp/pub下的文件,ftp客戶端顯示”文件無法被服務器打開!”。
解決方法:查看目錄下其它可以下載的文件屬性,為644,而該文件屬性為600,將該文件屬性改為644即可。執行以下命令
[root@localhost pub]# chmod 644 vsftpd.conf
或[root@localhost pub]# chmod go+r vsftpd.conf
即所有用戶對該文件都享有讀權限。重新下載正常。
問題2:如何實現匿名用戶的上傳?
大部分的FTP服務器是不允許匿名用戶上傳的,為了服務器的安全性,這當然可以理解。但從技術上來說,匿名是可以實現上傳功能的。現說明如下:
在vsftpd.conf文件中增加如下命令行:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_world_readable_only=no
anon_other_write_enable=yes
即對匿名用戶開放最大權限。
I、 創建匿名用戶的上傳目錄
[root@localhost ftp]# mkdir incoming
II、 修改上傳目錄的權限
[root@localhost ftp]# chmod o+w incoming
III、 REBOOT服務器
注:匿名用戶的上傳最好單獨設置一個目錄,不要把文件上傳至/var/ftp/pub目錄中,這樣會給文件管理帶來很大的方便。做法就是不要給/var/ftp/pub目錄賦予”o+w”權限。
問題3:能否用其他端口代替FTP的默認端口提供服務呢?
FTP服務默認的端口號為21,為了減少外部攻擊,可以為該服務提供一個不常用的端口號,以10021端口為例。方法如下:
在/etc/vsftpd/vsftpd.conf中增加語句:
listen_port=10021
這樣就可以通過服務器的port 10021提供FTP服務了。
關閉port 21
使用命令查看FTP使用的端口號,如下:
[root@localhost vsftpd]# netstat -anp |grep 21
tcp 0 0 0.0.0.0:10021 0.0.0.0:* LISTEN 562/vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 549/xinetd
可以看出port 10021和port 21都處於監聽狀態,關閉port 21。
[root@localhost vsftpd]# kill -9 549(PID)
這樣FTP客戶端只能以port 10021端口登錄了。一些非法用戶就無法通過猜測端口進行強制登錄了。增強了系統的安全性