如何利用Windows 7搭建FTP服务器
大家都是到现在局域网应用很普遍,呢么在Win7下如果我们想在单位或是家庭通过局域网来共享文件,怎么通过网线来实现文件互访呢,在win7系统中有一个全新的功能我们可以自己搭建FTP服务器来实现文件共享。下面我们就来一起学习下Win7FTP服务器搭建过程。
步骤1、控制面板-程序-打开或关闭Windows功能,或者在开始菜单里搜索"打开或",弹出Windows功能窗口,勾选Internet信息服务下的FTP功能和Web管理工具,以此开启服务。点击确定后,需要等几分钟。
温馨提示:必须选中Web管理工具而且全部展开选中,否则仅仅开启FTP功能无法继续调用IIS管理器
步骤2、在控制面板-系统和安全-管理工具,或直接在开始菜单搜索"Internet信息服务(IIS)管理器"。
温馨提示:只有进行了上一步打开功能的操作后,管理工具才会出现这一项,否则开始菜单搜索也是无法搜索到的。
步骤3、打开ISS管理器,右键点击你的服务器,选择"添加FTP站点"。
步骤4、再添加你的FTP站点名称、选择你要共享的路径。
步骤5、在下拉菜单中选择你内网的IP作为IP地址,端口默认。勾选"自动启动FTP站点,SSL选择无或允许皆可。"
步骤6、选择匿名访问,根据需求选择允许访问的用户。根据需求选择是否允许读取、写入。
温馨提示:一般情况下Win7用户上传到在Win7下自建的Ftp服务器文件超过30MB,Win7服务器会因为负荷太重导致掉线,可能由于Win7的优先级太高,传输时占用了服务器的所有带宽而导致服务器资源耗尽。所以尽量选择不允许写入。
在Win7下搭建FTP服务器后,就可以实现计算机中的文件共享,方便又便携。
ftp工作是会启动两个通道:
控制通道 , 数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。
PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
安装ftp
#rpm -qa vsftpd 查看是否已经安装
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotated/vsftpd vsftpd的日志文件
/etc/pamd/vsftpd PAM认证文件
/etc/rcd/initd/vsftpd 启动脚本
/etc/vsftpd vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpdconf 主配置文件
/etc/vsftpd/vsftpd_conf_migratesh vsftpd操作的一些变量和设置
/usr/sbin/vsftpd vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp 匿名用户主目录
/var/ftp/pub 匿名用户的下载目录
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 匿名用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp
用匿名用户登录的时候默认是只有下载的权限,没有上传,创建和删除的权限:
#vim /etc/vsftpd/vsftpdconf
anon_upload_enable=YES 上传
anon_mkdir_write_enable=YES 创建
anon_other_write_enable=YES 删除
#service vsftpd restart
为了安全应该禁止匿名用户的登录:
123456 #vim /etc/vsftpd/vsftpdconf
anonymous_enable=NO
#anon_upload_enable=YES 上传
#anon_mkdir_write_enable=YES 创建
#anon_other_write_enable=YES 删除
#service vsftpd restart
3 创建一个直接登录系统用户来登录ftp:
#useradd -s /sbin/nologin viong
#passwd viong
用户具有 上传 创建 下载 切换目录
------------------------------------------------------------------
4 加强vsftp安全设置:
限制系统用户锁定在家目录:
#vim /etc/vsftpd/vsftpdconf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系统用户,把需要限制的用户加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 将本地用户都加入到chroot_list
限制重要系统用户不能登录ftp:
#cat /etc/vsftpd/ftpusers 默认已经添加了系统中一些比较重要的用户
#echo "viong" >>/etc/vsftpd/ftpusers 此时viong不能登录ftp
利用ftp用户策略允许登录ftp的系统用户:
/etc/vsftpd/user_list 只有在这个文件中的用户才能登录系统:
#vim /etc/vsftpd/vsftpdconf
#在userlist_enable=YES 的后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
设置登录ftp目标ip地址:用iptables设置
---------------------------------------
搭建支持SSL加密传输的vsftpd:
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpdpem -out /etc/vsftpd/vsftpdpem 生成证书
#vim /etc/vsftpd/vsftpdconf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpdpem
下面是ssl参数一些定义,根据自己需求去修改:
ssl_enable=yes/no //是否启用 SSL,默认为no
allow_anon_ssl=yes/no //是否允许匿名用户使用SSL,默认为no
rsa_cert_file=/path/to/file //rsa证书的位置
dsa_cert_file=/path/to/file //dsa证书的位置
force_local_logins_ssl=yes/no //非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no //非匿名用户传输数据时是否加密,默认为yes
force_anon_logins_ssl=yes/no //匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no //匿名用户数据传输时是否加密,默认为no
ssl_sslv2=yes/no //是否激活sslv2加密,默认no
ssl_sslv3=yes/no //是否激活sslv3加密,默认no
ssl_tlsv1=yes/no //是否激活tls v1加密,默认yes
ssl_ciphers=加密方法 //默认是DES-CBC3-SHA
#service vsftpd restart
用flashftp连接:
连接类型为:FTP使用公开SSL(验证SSL)
地址:192168137130:21
登录类型:普通
用户:viong
密码:123
如果是在windows系统上面搭建FTP服务器,可以使用“quick easy ftp server”软件搭建。
第一步,点击左侧的“服务器配置”菜单,右侧会出现上图的界面,按照自己的需求配置,一般默认即可。其中,服务器IP一般是软件自动识别到的本机IP,不能随便配置成其他的IP。服务器端口一般默认为ftp协议的端口21,没有特殊需求不建议改。最大连接数是限制ftp服务器能同时被多少用户连接。
第二步,点击左侧的“用户账户管理”菜单,右侧会出现上图的界面,可以用来对访问ftp服务器的用户进行管理,一般是设置访问用户的帐号、密码、权限及访问目录。默认是没有添加用户的,需要点击左下角的“添加用户向导”菜单,按照提示一步步完成即可添加用户。
第三步,点击左上角箭头所指的绿色按钮,启动ftp服务器即可。
使用电脑主机或者服务器搭建FTP/SAMBA/NFS服务
使用NAS网络存储服务器
使用启耘Box作为网络文件存储服务器
NAS是一种通过RJ45网络接口与网络交换机相连接的存储设备,主要用于局域网环境中多台计算机主机共享存储空间和,为局域网中的计算机提供文件共享服务,因此又称为文件服务器。
一台NAS存储设备至少包括硬件和针对文件共享应用优化过的操作系统两个基本组成部分。硬件包括CPU、内存、主板、包含RAID功能的多块硬盘。小型NAS的CPU、内存一般都嵌入在主板中,硬盘一般在2-5块,支持RAID冗余功能;软件一般是由开源操作系统(FreeBSD、Linux)等针对文件共享应用优化裁剪而来,FreeNAS就是一款很流行的文件共享专用 FreeBSD 操作系统;也有用windows XP裁剪而成的,微软也有一款专用的NAS操作系统WSS。
一、操作系统的选择
FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98/Me一样可以架设FTP服务器,但由于其本身的安全性就不强,易受攻击,因而最好不要采用。Windows NT就像鸡肋,不用也罢。最好采用Windows 2000及以上版本,并记住及时打上补丁。至于Unix、Linux,则不在讨论之列。
二、使用防火墙
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口,将其他不需要使用的端口屏蔽掉会比较安全。限制端口的方法比较多,可以使用第三方的个人防火墙,这里只介绍Windows自带的防火墙设置方法。
1利用TCP/IP筛选功能
在Windows 2000和Windows XP中,系统都带有TCP/IP筛选功能,利用它可以简单地进行端口设置。以Windows XP为例,打开本地连接的属性,在常规选项中找到Internet协议(TCP/IP),双击它打开该协议的属性设置窗口。点击右下方的高级按钮,进入高级TCP/IP设置。在选项中选中TCP/IP筛选并双击进入其属性设置。这里我们可以设置系统只允许开放的端口,假如架设的FTP服务器端口为21,先选中启用TCP/IP筛选(所有适配器),再在TCP端口选项中选择只允许,点添加,输入端口号21,确定即可。这样,系统就只允许打开21端口。要开放其他端口,继续添加即可。这可以有效防止最常见的139端口入侵。缺点是功能过于简单,只能设置允许开放的端口,不能自定义要关闭的端口。如果你有大量端口要开放,就得一个个地去手工添加,比较麻烦。
2打开Internet连接防火墙
对于Windows XP系统,自带了Internet连接防火墙功能,与TCP/IP筛选功能相比,设置更方便,功能更强大。除了自带防火墙端口开放规则外,还可以自行增删。在控制面板中打开网络连接,右击拨号连接,进入高级选项卡,选中通过限制或阻止来自Internet的对此计算机的访问来保护我的计算机和网络,启用它。系统默认状态下是关闭了FTP端口的,因而还要设置防火墙,打开所使用的FTP端口。点击右下角的设置按钮进入高级设置,选中FTP服务器,编辑它。由于FTP服务默认端口是21,因而除了IP地址一栏外,其余均不可更改。在IP地址一栏中填入服务器公网ip,确定后退出即可即时生效。如果架设的FTP服务器端口为其他端口,比如22,则可以在服务选项卡下方点添加,输入服务器名称和公网IP后,将外部端口号和内部端口号均填入22即可。
三、对IIS、Serv-u等服务器软件进行设置
除了依靠系统提供的安全措施外,就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了。
1IIS的安全性设置
1)及时安装新补丁
对于IIS的安全性漏洞,可以说是有口皆碑了,平均每两三个月就要出一两个漏洞。所幸的是,微软会根据新发现的漏洞提供相应的补丁,这就需要你不断更新,安装最新补丁。
2)将安装目录设置到非系统盘,关闭不需要的服务
一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权。把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。另外,由于IIS是一个综合性服务组件,每开设一个服务都将会降低整个服务的安全性,因而,对不需要的服务尽量不要安装或启动。
FTP最大的安全漏洞在于其默认传输密码的过程是明文传送,很容易被人嗅探到。而IIS又是基于Windows用户账户进行管理的,因而很容易泄漏系统账户名及密码,如果该账户拥有一定管理权限,则更会影响到整个系统的安全。设置为只允许匿名连接,可以免却传输过程中泄密的危险。进入默认FTP站点,在属性的安全账户选项卡中,将此选项选中。
4)谨慎设置主目录及其权限
IIS可以将FTP站点主目录设为局域网中另一台计算机的共享目录,但在局域网中,共享目录很容易招致其他计算机感染的病毒攻击,严重时甚至会造成整个局域网瘫痪,不到万不得已,最好使用本地目录并将主目录设为NTFS格式的非系统分区中。这样,在对目录的权限设置时,可以对每个目录按不同组或用户来设置相应的权限。右击要设置的目录,进入共享和安全→安全中设置,如非必要,不要授予写入权限。
5)尽量不要使用默认端口号21
启用日志记录,以备出现异常情况时查询原因。
2Serv-u的安全性设置
与IIS的FTP服务相比,Serv-u在安全性方面做得比较好。
1)对本地服务器进行设置
首先,选中拦截FTP_bounce攻击和XP。通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个PORT命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
其次,在高级选项卡中,检查加密密码和启用安全是否被选中,如果没有,选择它们。加密密码使用单向Hash函数(MD5)加密用户口令,加密后的口令保存在ServUDaemon。ini或是注册表中。如果不选择此项,用户口令将以明文形式保存在文件中:启用安全将启动Serv-u服务器的安全成功。
2)对域中的服务器进行设置
前面说过,FTP默认为明文传送密码,容易被人嗅探,对于只拥有一般权限的账户,危险并不大,但如果该账户拥有远程管理尤其是系统管理员权限,则整个服务器都会被别人远程控制。Serv-u对每个账户的密码都提供了以下三种安全类型:规则密码、OTP S/KEY MD4和OTP S/KEY MD5。不同的类型对传输的加密方式也不同,以规则密码安全性最低。进入拥有一定管理权限的账户的设置中,在常规选项卡的下方找到密码类型下拉列表框,选中第二或第三种类型,保存即可。注意,当用户凭此账户登录服务器时,需要FTP客户端软件支持此密码类型,如CuteFTP Pro等,输入密码时选择相应的密码类型方可通过服务器验证。
与IIS一样,还要谨慎设置主目录及其权限,凡是没必要赋予写入等能修改服务器文件或目录权限的,尽量不要赋予。最后,进入设置源码天空
0条评论