내 홈 FTP 서버에서 매우 이상한 액세스 거부 문제가 발생했습니다. 증상은 무선 인터페이스를 통해서만 액세스할 수 있다는 것입니다. Wi-Fi를 비활성화하고 이더넷을 사용하면 액세스가 거부됩니다.
NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/).
ncftp> debug 1
ncftp> open 192.168.1.134
> open 192.168.1.134
LibNcFTP 3.2.5 (January 17, 2011) compiled for linux-x86_64-glibc2.21
Uname: Linux|Korhal|4.4.0-87-generic|#110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017|x86_64
Contents of /etc/debian_version:
stretch/sid
Contents of /etc/issue:
Ubuntu 16.04.3 LTS \n \l
Glibc: 2.23 (stable)
Remote server is running ProFTPD.
ProFTPD 1.3.4d Server (foxnfish FTP Server) [::ffff:192.168.1.134]
220: ProFTPD 1.3.4d Server (foxnfish FTP Server) [::ffff:192.168.1.134]
Connected to 192.168.1.134.
Cmd: USER anonymous
331: Anonymous login ok, send your complete email address as your password
Cmd: PASS NcFTP@
530: Access denied
Access denied
Cmd: QUIT
221: Goodbye.
내 ifconfig의 출력
enp0s25 Link encap:Ethernet HWaddr 00:1c:25:78:d5:06
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: **** Scope:Link
inet6 addr: **** Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29531724 errors:0 dropped:0 overruns:0 frame:0
TX packets:4256164 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42081203522 (42.0 GB) TX bytes:851356778 (851.3 MB)
Interrupt:20 Memory:fe200000-fe220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:198 errors:0 dropped:0 overruns:0 frame:0
TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:16160 (16.1 KB) TX bytes:16160 (16.1 KB)
wls3 Link encap:Ethernet HWaddr 00:1f:3b:04:58:59
inet addr:192.168.1.143 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: **** Scope:Global
inet6 addr: **** Scope:Link
inet6 addr: ****/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:303586 errors:0 dropped:0 overruns:0 frame:0
TX packets:157656 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:452487811 (452.4 MB) TX bytes:15696186 (15.6 MB)
Proftd 구성 파일
ServerName "foxnfish FTP Server"
ServerType standalone
DefaultServer on
DefaultAddress foxnfish
UseIPv6 on
Port 21
User nobody
Group nogroup
Umask 000 000
SyslogFacility ftp
MultilineRFC2228 off
DisplayLogin /var/run/proftpd/proftpd.motd
DeferWelcome off
TimeoutIdle 600
TimeoutLogin 300
TimeoutNoTransfer 300
TimeoutStalled 3600
MaxInstances none
MaxClients 5
MaxConnectionsPerHost 10
MaxLoginAttempts 1
DefaultTransferMode ascii
IdentLookups off
UseReverseDNS off
<Limit LOGIN>
AllowGroup ftp
DenyAll
</Limit>
<Global>
RequireValidShell off
DefaultRoot ~ !wheel
AllowOverwrite on
DeleteAbortedStores off
TimesGMT off
</Global>
<IfModule mod_ban.c>
BanEngine off
BanControlsACLs all allow group wheel
BanLog /var/log/proftpd/ban.log
BanMessage Host %a has been banned
BanTable /var/run/proftpd/ban.tab
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
DelayTable "/var/run/proftpd/proftpd.delay"
</IfModule>
<IfModule mod_wrap.c>
TCPAccessFiles /etc/hosts.allow /etc/hosts.deny
TCPAccessSyslogLevels info warn
TCPServiceName ftpd
</ifModule>
/etc/hosts.allow
#ftpd : xxx.xxx.xxx.xxx : deny
#sshd : .example.com : deny
#in.tftpd : xxx.xxx.xxx.xxx : deny
#bsnmpd : xxx.xxx.xxx.xxx : deny
ALL : ALL : allow
/etc/hosts.deny가 비어 있습니다.
무엇이 잘못될 수 있나요?
답변1
팁을 주신 @wurtel에게 감사드립니다. proftpD의 구성 파일을 확인한 결과 호스트.allow와 호스트.거부라는 두 개의 파일이 있음을 발견했습니다. 이 두 파일의 내용은 무해해 보이지만.
/etc/hosts.allow
#ftpd : xxx.xxx.xxx.xxx : deny
#sshd : .example.com : deny
#in.tftpd : xxx.xxx.xxx.xxx : deny
#bsnmpd : xxx.xxx.xxx.xxx : deny
ALL : ALL : allow
/etc/hosts.deny가 비어 있습니다.
서버 로그를 추가로 확인하고 이러한 오류 로그를 발견했습니다.
Feb 18 21:51:55 foxnfish proftpd[19657]: 192.168.1.134 (192.168.1.2[192.168.1.2]) - mod_wrap/1.2.4: using access files: /etc/hosts.allow, /etc/hosts.deny
Feb 18 21:51:55 foxnfish proftpd[19657]: 192.168.1.134 (192.168.1.2[192.168.1.2]) - mod_wrap/1.2.4: refused connection from ::ffff:192.168.1.2
Feb 18 21:54:15 foxnfish proftpd[19659]: 192.168.1.134 (192.168.1.146[192.168.1.146]) - mod_wrap/1.2.4: using access files: /etc/hosts.allow, /etc/hosts.deny
Feb 18 21:54:15 foxnfish proftpd[19659]: 192.168.1.134 (192.168.1.146[192.168.1.146]) - mod_wrap/1.2.4: allowed connection from iMac.xxx.xxx.xxx.net
따라서 무선 연결의 경우 소스 주소가 로컬 도메인 호스트 형식으로 확인됩니다. 그런데 이더넷에서 연결할 때 소스 주소가 이상한 IP입니다. 나는 그것이 Host.allow와 일치하지 않는 것 같아요.
이는 Nas4Free 버전이 내장되어 있기 때문에 실제로 호스트.허용 파일을 수정할 수는 없습니다. 빠른 수정은 proftpd_modwrap_enable을 완전히 끄는 것입니다.
Nas4Free에서 proftpD를 사용하는 경우 proftpd_modwrap_enable을 NO로 설정하여 이 모듈을 끌 수 있습니다.System|Advanced|rc.conf