zoukankan      html  css  js  c++  java
  • 在linux服务器上搭建相对安全的FTP服务器

    一、如何在Linux服务器上安装vsftp不在多说,直接介绍如何进行安全性配置;

    二、编辑vsftp.conf文件

    关键配置项如下:

    anonymous_enable=NO /禁止匿名用户登录

    local_enable=YES  /允许本地用户登录

    write_enable=YES  /允许登陆后写

    local_umask=022

    xferlog_enable=YES  /记录日志

    xferlog_file=/var/log/xfer log  /日志文件

    userlist_enable=YES   /限制userlist里面的本地用户不能访问,userlist里面可以把root等禁止ftp登录的本地账号写进去

    所有配置项的注释可参考:

    http://blog.csdn.net/chenhongqian/article/details/50462382

    三、创建FTP账号

    # useradd –d  /home/myftp  myftp

    # passwd myftp

    # usermod -s /sbin/nologin myftp //限定用户myftp不能本地登录

     

    四、创建一个文件夹(scripts)只能下载,不能上传

    # mkdir scripts /home/myftp

    #chmod 555 scripts

     

    五、创建一个文件夹(results)只能上传,不能下载和删除

    这个有点难度,因为用户不能对自己上传的文件进行下载和删除,需要使用特殊的方法。

    # mkdir results /home/myftp

    #chmod 755 results

    #chattr +i /home/results

    六、配置SSL加密

    1、通过rpm -qa | openssl  查看是否已安装openssl,未安装请先安装

    2、新建目录,为了放置证书,有可能certs文件夹已经存在,但要确认已存在的文件夹是否仅是个链接。

    1. mkdir -p /etc/ssl/certs  
    2. chmod 700 /etc/ssl/certs  

    3、执行生成证书的命令:

    1. openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem  

    4、上述证书生成过程中需要填写信息,按提示添加国家、省份、邮箱等即可,可以随便填,信息后续用不到;

    5、然后进到/etc/ssl/certs目录下看证书有没有生成

    6、然后我们修改vsftpd的配置文件在最后添加如下信息

    1. # Turn on SSL  
    2. ssl_enable=YES  
    3.    
    4. # Allow anonymous users to use secured SSL connections  
    5. allow_anon_ssl=YES  
    6.    
    7. # All non-anonymous logins are forced to use a secure SSL connection in order to  
    8. # send and receive data on data connections.  
    9. force_local_data_ssl=YES  
    10. force_anon_data_ssl=YES  
    11.    
    12. # All non-anonymous logins are forced to use a secure SSL connection in order to send the password.  
    13. force_local_logins_ssl=YES  
    14. force_anon_logins_ssl=YES  
    15.    
    16. # Permit TLS v1 protocol connections. TLS v1 connections are preferred  
    17. ssl_tlsv1=YES  
    18.    
    19. # Permit SSL v2 protocol connections. TLS v1 connections are preferred  
    20. ssl_sslv2=NO  
    21.    
    22. # permit SSL v3 protocol connections. TLS v1 connections are preferred  
    23. ssl_sslv3=NO  
    24.    
    25. # Disable SSL session reuse (required by WinSCP)  
    26. require_ssl_reuse=NO  
    27.    
    28. # Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)  
    29. ssl_ciphers=HIGH  
    30.    
    31. # This option specifies the location of the RSA certificate to use for SSL  
    32. # encrypted connections.  
    33. rsa_cert_file=/etc/ssl/cert/vsftpd.pem  

    7、配置修改完成后,重新vsftpd服务。

    备注:如服务启动失败,请确认证书存储的位置与下面填写的是否符合   sa_cert_file=/etc/ssl/cert/vsftpd.pem 

    8、登陆查看是否已加密

    状态: 正在连接 172.20.100.XX:21...
    状态: 连接建立,等待欢迎消息...
    状态: 初始化 TLS 中...
    状态: 正在验证证书...
    状态: TLS 连接已建立。
    状态: 已登录
    状态: 读取目录列表...

    备注:需要使用工具链接,如FileZilla等,直接通过浏览器可能无法正常登陆。

  • 相关阅读:
    抓包工具—Fiddler
    vue 统一注册公共组件
    vscode 配置 eslint 自动格式化
    vue axios http 请求 响应拦截
    vue实现菜单权限控制
    webpack之深入浅出externals
    webpack之前端性能优化(史上最全,不断更新中。。。)
    webpack插件url-loader使用规范
    移动端布局最佳实践(viewport+rem)
    本地更新代码同步至github仓库
  • 原文地址:https://www.cnblogs.com/Eleven-Liu/p/8124390.html
Copyright © 2011-2022 走看看