Filezilla FTP 에서 “TLS를 통한 명시적 FTP가 가능한 경우 사용.” 라는 옵션을 한 번쯤 봤을 것입니다. 이 옵션은 FTPS 관련 옵션인데 도대체 명시적 FTP (FTPES) 라는 말과 묵시적 FTP 라는 말이 뭘까요?
명시적(Explicit) 방식과 묵시적(Implicit) 방식이 무엇을 의미하는지 오늘은 FTPS 접속 방식에 대한 이야기를 해 보도록 하겠습니다.
이 글의 목차
명시적(Explicit), 묵시적(Implicit) 연결의 차이점
명시적(Explicit) 방식과 묵시적(Implicit) 방식은 보안 방식에 있어서는 차이가 없습니다. 다만 연결할 때 어떤 방식을 취하느냐의 차이 입니다.
묵시적(Implicit) 연결 방식 (990포트, FTPS)
묵시적 (혹은 암시적) FTPS는 최초로 만들어진 FTP 보안 방법입니다. 묵시적 FTPS 프로토콜은 기존 21번 포트가 아닌 990번 포트를 별개로 사용합니다.
묵시적 FTPS를 사용하는 경우 990 포트를 통해 FTP서버와 연결이 수립된 이후 그 즉시 암호화 되어 통신합니다. 만약 수신자가 보안 사항을 만족하지 못하면 서버는 그 즉시 연결을 끊습니다.
묵시적 연결에는 선택지가 없습니다. 990 포트로 보안 연결할 것이 아니면 통신을 할 수 없습니다. 명시적 FTPS(FTPES) 보다 유연성이 떨어지죠.
현재 묵시적 FTPS는 비 표준이 되었으며 전 세계적으로도 점점 사용 빈도가 줄어들고 있습니다. 다만 일부 서버에서 묵시적 FTPS만 지원하는 경우가 있으니 본인이 사용하는 서버가 어떤 형식의 FTPS를 지원하는지 확인하셔야 합니다.
명시적(Explicit) 연결 방식 (21포트, FTPES)
명시적 FTPS(FTPES)는 묵시적 전송 방식에서 한 단계 업그레이드 된 방식으로 기존 표준 FTP와 동일한 21번 포트를 사용해 보안 TLS/SSL 연결을 합니다.
명시적 FTPS는 로그인 전 TLS/SSL 보안 접속 여부를 확인하여 클라이언트가 보안 수준을 유연하게 설정할 수 있습니다.
위 그림처럼 만약 암호화에 대한 협상이 실패하면 암호화되지 않은 연결로 계속 진행할지 클라이언트가 그 여부를 결정할 수 있습니다. FULL 보안 접속만 강요하는 것이 아닌 유연하게 선택지를 더 주는 것이죠.
물론 이는 클라이언트에서 비 보안 표준 FTP로 전환 하는 것에 따른 보안 경고를 수락했을 경우이며 서버에서 안전하지 않은 비 보안 FTP 요청을 거부 할 수 있게도 설정할 수 있습니다.
현재 명시적 FTPS(또는 FTPES)는 FTP 보안의 표준 방법으로 대부분의 서버에서 지원하고 있습니다.
FTPS, FTPES 한 줄 요약
묵시적(Implicit) , FTPS
990 포트를 이용해서 무조건 TLS/SSL 보안 연결해. 아니면 나가 뒤지시든가.
명시적(Explicit) , FTPES
기존의 21번 포트로 TLS/SSL 보안 연결을 했으면 좋겠어.
보안 접속이 안되면 그냥 기존 방식대로 쓰던가..