zoukankan      html  css  js  c++  java
  • FTPS 搭建

    .安装FTP服务
    为了允许从外部系统访问FTP服务,我们需要打开FTP守护进程监听的21端口

    firewall-cmd --zone=public --permanent --add-port=21/tcp

    firewall-cmd --zone=public --permanent --add-service=ftp

    firewall-cmd --reload

    2.FTP被动模式-端口配置
    防火墙设置数据端口范围P,并在防火墙中开启范围P的准入

    firewall-cmd --zone=public --permanent --add-port=64000-64100/tcp

    3.FTP配置文件
    anonymous_enable=NO ### 是否允许匿名,默认no
    local_enable=YES ### 允许本地用户登录
    write_enable=YES ### 允许对文件系统做改动的 FTP 命令
    local_umask=022 ### 本地用户创建文件所用的 umask 值
    dirmessage_enable=YES ### 当用户首次进入一个新目录时显示一个消息
    xferlog_enable=YES ### 用于记录上传、下载细节的日志文件
    connect_from_port_20=YES ### 使用端口 20 (ftp-data)用于 PORT 风格的连接
    xferlog_std_format=YES ### 使用标准的日志格式
    xferlog_file=/var/log/xferlog ###上传与下载日志存放路径
    listen=NO ### 不要让 vsftpd 运行在独立模式
    listen_port=2121 ### 改变vsftp的端口号
    listen_ipv6=YES ### vsftpd 将监听 IPv6 而不是 IPv4
    pam_service_name=vsftpd ### vsftpd 使用的 PAM 服务名
    userlist_enable=YES ### vsftpd 支持载入用户列表
    tcp_wrappers=YES ### 使用 tcp wrappers
    ssl_enable=YES #启用ssl加密
    force_local_data_ssl=YES #强制本地用户数据传输加密
    force_local_logins_ssl=YES #强制本地用户登录加密
    ssl_tlsv1=YES #支持TLS方式
    ssl_sslv2=NO #
    ssl_sslv3=NO #
    rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem #RSA凭证档案所在
    4.可以基于用户列表文件/etc/vsftpd/配置FTP来允许/拒绝用户的访问

    5.证书
    第一种:自带有ssl模块
    查看当前vsftpd是否具有ssl模块

    创建自签名证书 红框要填写证书服务器的IP

    在配置文件中添加相关ssl配置。
    ssl_enable=YES #启用ssl加密
    allow_anon_ssl=YES #允许匿名用户使用ssl加密
    force_local_data_ssl=YES #强制本地用户数据传输加密
    force_local_logins_ssl=YES #强制本地用户登录加密
    ssl_tlsv1=YES #支持TLS方式
    ssl_sslv2=NO #
    ssl_sslv3=NO #
    rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem #RSA凭证档案所在

    第二种:利用openssl
    openssl genrsa -out vsftpd.key 2048
    openssl req -new -key vsftpd.key -out vsftpd.csr
    openssl x509 -req -days 365 -in vsftpd.csr -signkey vsftpd.key -out vsftpd.crt

    6.目录权限
    把用户限制在特定目录下
    第一种方式

    设置以下参数,限制用户只能访问自身的主目录。

    chroot_local_user=YES #所有用户都被限制在其主目录
    chroot_list_enable=YES #启用例外用户名单
    chroot_list_file=/etc/vsftpd/chroot_list #例外用户名单

    allow_writeable_chroot=YES #为防止报错需添加这行
    第二种方式
    再次打开 vsftpd 配置文件,并将下面不安全的选项注释掉:

    allow_writeable_chroot=YES

    接着为用户ravi创建另外一个替代根目录,并将所有用户对该目录的可写权限移除:
    mkdir /home/ravi/ftp
    chown nobody:nobody /home/ravi/ftp
    chmod a-w /home/ravi/ftp
    接下来,在用户存储他/她的文件的本地根目录下创建一个文件夹:
    mkdir /home/ravi/ftp/files
    chown ravi:ravi /home/ravi/ftp/files
    chmod 0700 /home/ravi/ftp/files/
    接着在 vsftpd 配置文件中添加/修改这些选项:
    user_sub_token=$USER ### 在本地根目录下插入用户名
    local_root=/home/$USER/ftp ### 定义任何用户的本地根目录

    7.禁止FTP用户SSH登录,仅允许FTP登录
    找到nologin的shell
    vim /etc/shells

    usermod -s /usr/sbin/nologin ftpuser
    表示禁止FTP用户“ftpuser”登录ssh。

  • 相关阅读:
    C++ 纸牌 今日头条面试题
    c++ 病句 今日头条面试题
    C++ 球迷 今日头条面试题
    C++ 活动安排
    C++ 弗洛伊德算法
    填坑 bzoj3337
    bzoj3884 上帝与集合的正确用法
    人参中第一次膜你退货
    洛谷P2216 [HAOI2007]理想的正方形
    洛谷 P1099 树网的核+P2491 [SDOI2011]消防
  • 原文地址:https://www.cnblogs.com/hnsya/p/14372827.html
Copyright © 2011-2022 走看看