개발

익명 FTP 패시브 서버 설정. FTP server passive mode anonymous on AWS Ubuntu 20.04.2

mycloudy 2021. 5. 15. 18:58

# 인앱에서 외부 브라우저를 띄우기

 

어플 인앱에서 외부 브라우저로 띄우기 위해서

안드로이드는 url에 intent 사용하면 되고

아이폰에서는 FTP를 사용하여 safari를 띄운 뒤에 redirect를 하는 hacky한 방법을 사용합니다

아이폰에서는 FTP 프로토콜을 실행을 위해서 safari를 실행하는 걸 이용하는 원리입니다

하지만 인앱에서 막으면 이것도 실행되지 않습니다 - 에브리타임(everytime.kr)의 경우 막혀있습니다 ㅠㅠ

 

번개애비님의 블로그에 위의 방법이 기록되어 있고

송효진님께서 인앱브라우저 탈출링크 urlopen.link 에 서비스를 하고 계십니다

일반적으로는 urlopen.link(https://urlopen.link/)를 사용하면 될 거 같습니다

 

https://www.burndogfather.com/201

 

카카오, 네이버 인앱에서 외부 브라우저 띄우는 방법 정리 [Android/iOS]

더 쾌적하게? 웹 서비스를 개발하는 입장에서 클라이언트가 위와 같은 브라우저를 사용할때 정말 피곤합니다. 휴대폰 본인인증이나 PG결제등 여러가지 제약사항들이 생기기 마련입니다. 그렇다

www.burndogfather.com

 

 

 

아이폰에서 필요했던 FTP 서버를 만들었던 기록을 남깁니다

 

# FTP server (passive mode, anonymous)  만들기 on AWS EC2 Ubuntu 20.04.2

 

1. vsftpd를 설치합니다

sudo apt-get update
sudo apt-get install vsftpd

 

2. vsftpd 설정을 변경합니다

이 부분이 힘들었습니다

 

passive mode,

anonymous는 읽기 가능, 쓰기 불가능 하게 만드는 게 목표

sudo vi /etc/vsftpd.conf

 

# /etc/vsftpd.conf

listen=YES

listen_ipv6=NO

anonymous_enable=YES
pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=50000

anon_root=/var/ftp

pasv_address=1.2.3.4   # replace it your ip or dns

 

그리고 어려웠던 부분이 다음 3가지 설정입니다

(1) pasv_address=1.2.3.4.  # replace it your ip or dns

(2) listen=YES

(3) listen_ipv6=NO

 

<문제 원인>

(1) pass_address

pass_address를 설정하지 않으면 private ip를 주기 때문에 접근이 불가능합니다

https://serverfault.com/questions/798758/passive-mode-issue-with-vsftpd-on-ubuntu-ec2/908372

 

Passive mode issue with vsftpd on Ubuntu (EC2)

I followed every guide but just can't login via ftp. ... 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. 200 Switching to Binary mode. local: 21 remote: 21 229

serverfault.com

(2,3) listen, listen_ipv6

pass_address 설정 이후에 ftp 연결을 해보면

227 Entering Passive Mode (0,0,0,0,184,169)

에서 (0,0,0,0,..) 으로 응답이 옵니다

 

위의 tuple에서 앞의 4자리는 ip v4이고 뒤의 두 자리는 포트입니다

(https://m.blog.naver.com/ssuyastory/100206765480)

즉, (184 * 256) + 169 = 47273 포트라는 뜻입니다

 

https://superuser.com/questions/1502015/227-entering-passive-mode-0-0-0-0-when-connecting-to-vsftpd-ftp-server

 

227 Entering Passive Mode (0,0,0,0,...) when connecting to vsftpd FTP server

As said in the title, I don't manage to connect my Windows 10 host to my FTP server on the VirtualBox guest side (Ubuntu 18.04). On the guest side, the vsftpd server works fine, I can connect witho...

superuser.com

 

3. AWS security에서 포트를 열어줍니다

 

4. iptables에서도 포트를 열어줍니다

sudo iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 40000:50000 -j ACCEPT

 

5. 접속해보면

정상적으로 잘 동작하는 것을 확인할 수 있습니다

 

 

### 공부해야하는 것들

1. FTP active, passive mode

2. Linux iptables

https://sata.kr/entry/IPTables-5-IPTables-%EB%95%8C%EB%AC%B8%EC%97%90-FTP-%EB%94[…]C%A8%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%9C%EB%8B%A4%EB%A9%B4-INPUT

 

[IPTables] 5. IPTables에 의해 FTP가 차단되는 경우를 확인하자 [INPUT]

안녕하세요, SATAz입니다. 이번 포스팅은 IPTables에 대해서 소개드리는 다섯 번째 내용입니다. 지난 포스팅에서는 IPTables의 -m 옵션을 활용하는 내용을 다루었는데요, 이번 포스팅은 IPTables 때문

sata.kr