RHEL 7, CentOS 7 에서 epel 레포지트리 추가 후 proftpd 설치를 할경우.
기존 버전과 틀리게 proftpd-1.3.5b 가 설치된다. (CentOS6은 proftpd-1.3.3g)
문제는 conf 파일이 호환 되지 않아서 ‘ㅅ’a 기존 잘운영하건 conf를 복사해서 붙여넣을 경우 작동하지 않는다.
그래서 그냥.. 설정값 ‘ㅅ’a 업데이트 (그냥 무리없이 쓸수 있는 설정이다. 당연히 어나니머스 ftp는 사용 안함)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# This is the ProFTPD configuration file # # See: http://www.proftpd.org/docs/directives/linked/by-name.html # (http://www.proftpd.org/docs/howto/Tracing.html) #TraceLog /var/log/proftpd/trace.log #Trace DEFAULT:0 ServerName "ProFTP" ServerIdent on "FTP Server ready." ServerAdmin root@localhost DefaultServer on ########################################################## MultilineRFC2228 on ShowSymlinks on RequireValidShell off TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 Port 21 PassivePorts 40001 40002 MaxClientsPerHost 5 MaxLoginAttempts 5 MaxClients 50 "Too many connections" TransferLog /var/log/xferlog UseEncoding utf8 cp949 TimesGMT off SetEnv TZ "Asia/Seoul" AllowOverwrite on ######################################################### DefaultRoot ~ !root AuthPAMConfig proftpd AuthOrder mod_auth_pam.c* mod_auth_unix.c #PersistentPasswd off UseReverseDNS off User nobody Group nobody MaxInstances 50 UseSendfile off LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s" #LoadModule mod_sql.c #LoadModule mod_sql_passwd.c #LoadModule mod_sql_mysql.c #LoadModule mod_sql_postgres.c #LoadModule mod_quotatab.c #LoadModule mod_quotatab_file.c #LoadModule mod_quotatab_sql.c #LoadModule mod_ldap.c #LoadModule mod_quotatab_ldap.c #LoadModule mod_radius.c #LoadModule mod_quotatab_radius.c #LoadModule mod_copy.c #LoadModule mod_deflate.c #LoadModule mod_exec.c #LoadModule mod_facl.c #LoadModule mod_geoip.c #LoadModule mod_ifversion.c #LoadModule mod_load.c #LoadModule mod_ratio.c #LoadModule mod_rewrite.c #LoadModule mod_sftp.c #LoadModule mod_sftp_pam.c #LoadModule mod_sftp_sql.c #LoadModule mod_shaper.c #LoadModule mod_site_misc.c #LoadModule mod_tls_shmcache.c #LoadModule mod_tls_memcache.c #LoadModule mod_wrap.c #LoadModule mod_wrap2.c #LoadModule mod_wrap2_file.c #LoadModule mod_wrap2_sql.c LoadModule mod_vroot.c #LoadModule mod_ifsession.c LoadModule mod_ctrls_admin.c ModuleControlsACLs insmod,rmmod allow user root ModuleControlsACLs lsmod allow user * # Enable basic controls via ftpdctl ControlsEngine on ControlsACLs all allow user root ControlsSocketACL allow user * ControlsLog /var/log/proftpd/controls.log # Enable admin controls via ftpdctl <IfModule mod_ctrls_admin.c> AdminControlsEngine on AdminControlsACLs all allow user root </IfModule> # Enable mod_vroot by default for better compatibility with PAM <IfModule mod_vroot.c> VRootEngine on </IfModule> # TLS (http://www.castaglia.org/proftpd/modules/mod_tls.html) #<IfDefine TLS> TLSEngine on TLSRequired off TLSRSACertificateFile /etc/ssl/private/proftpd.pem TLSRSACertificateKeyFile /etc/ssl/private/proftpd.pem TLSProtocol SSLv23 TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 # TLSLog /var/log/proftpd/tls.log <IfModule mod_tls_shmcache.c> TLSSessionCache shm:/file=/var/run/proftpd/sesscache </IfModule> #</IfDefine> # Dynamic ban lists (http://www.proftpd.org/docs/contrib/mod_ban.html) <IfDefine DYNAMIC_BAN_LISTS> LoadModule mod_ban.c BanEngine on BanLog /var/log/proftpd/ban.log BanTable /var/run/proftpd/ban.tab BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00 BanMessage "Host %a has been banned" BanControlsACLs all allow user ftpadm </IfDefine> # Set networking-specific "Quality of Service" (QoS) bits on the packets used <IfDefine QOS> LoadModule mod_qos.c QoSOptions dataqos throughput ctrlqos lowdelay #QoSOptions dataqos CS2 ctrlqos AF41 </IfDefine> # Global Config - config common to Server Config and all virtual hosts <Global> Umask 022 AllowOverwrite yes <Limit ALL SITE_CHMOD> AllowAll </Limit> </Global> # A basic anonymous configuration, with an upload directory #<IfDefine ANONYMOUS_FTP> # <Anonymous ~ftp> # User ftp # Group ftp # AccessGrantMsg "Anonymous login ok, restrictions apply." # UserAlias anonymous ftp # MaxClients 10 "Sorry, max %m users -- try again later" # #DefaultChdir /pub # DisplayLogin /welcome.msg # DisplayChdir .message # DisplayReadme README* # DirFakeUser on ftp # DirFakeGroup on ftp # <Limit WRITE SITE_CHMOD> # DenyAll # </Limit> # <IfModule mod_vroot.c> # <Directory /uploads/*> # AllowOverwrite no # <Limit READ> # DenyAll # </Limit> # <Limit STOR> # AllowAll # </Limit> # </Directory> # </IfModule> # <IfModule !mod_vroot.c> # <Directory uploads/*> # AllowOverwrite no # <Limit READ> # DenyAll # </Limit> # <Limit STOR> # AllowAll # </Limit> # </Directory> # </IfModule> # WtmpLog off # ExtendedLog /var/log/proftpd/access.log WRITE,READ default # ExtendedLog /var/log/proftpd/auth.log AUTH auth # </Anonymous> #</IfDefine> |
기존과 틀려진 부분은 기존에 Certificate 와 Key 를 구분하여 받아 들였는데 pure-ftpd 처럼 한파일로 받는다.
TLS 설정을 안한경우 TLSEngine off 로 한다.
FTP용 인증서 발급 방법은 TLS통신을 위한 Public Certificate 발급&갱신을 확인 한당 ‘ㅅ’a