FTP, SFTP, SCP, WebDAV

FTP (File Transfer Protocol)

개요

FTP는 인터넷을 통해 파일을 전송하기 위해 사용되는 표준 네트워크 프로토콜입니다. 1971년 개발된 이후로, FTP는 파일 전송의 표준 방식으로 자리 잡았습니다. 기본적으로 클라이언트와 서버 간의 통신을 통해 작동하며, FTP 클라이언트는 서버에 연결하여 파일을 업로드하거나 다운로드할 수 있습니다.

작동 방식

FTP는 두 개의 채널을 사용합니다: 명령 채널과 데이터 채널. 명령 채널은 명령과 응답을 전달하는 데 사용되며, 데이터 채널은 실제 파일 전송을 담당합니다. 데이터 채널은 두 가지 모드로 작동할 수 있습니다: 능동 모드(active mode)와 수동 모드(passive mode). 능동 모드에서는 서버가 클라이언트에 데이터 연결을 설정하고, 수동 모드에서는 클라이언트가 서버에 데이터 연결을 설정합니다.

특징 및 장점

  • 효율성: 대용량 파일 전송에 적합합니다.
  • 광범위한 지원: 대부분의 운영 체제와 네트워크 장비에서 지원됩니다.
  • 재시도 기능: 연결이 끊어지더라도 전송을 재시도할 수 있습니다.

단점

  • 보안 문제: 기본적으로 암호화되지 않아 데이터 도청 및 도난 위험이 있습니다.
  • 방화벽 문제: 능동 모드는 방화벽을 통해 연결 설정에 문제가 있을 수 있습니다.

SFTP (Secure File Transfer Protocol)

개요

SFTP는 보안을 강화한 파일 전송 프로토콜로, FTP와 달리 SSH(Secure Shell) 프로토콜을 통해 파일 전송을 암호화합니다. 이는 1990년대 후반에 SSH-2 프로토콜의 일환으로 개발되었습니다.

작동 방식

SFTP는 SSH 세션을 통해 파일을 전송하며, SSH 인증을 통해 보안 연결을 설정합니다. 이로 인해 데이터와 명령 모두 암호화된 채널을 통해 전송됩니다. SFTP는 단일 포트를 사용하여 방화벽 문제를 줄이고, SSH 기반의 키 인증을 통해 보안을 강화합니다.

특징 및 장점

  • 강력한 보안: 데이터 암호화와 안전한 인증 메커니즘을 제공합니다.
  • 단일 포트 사용: 방화벽과 NAT(Network Address Translation) 환경에서 쉽게 설정할 수 있습니다.
  • 다양한 기능: 파일 접근, 전송, 삭제, 속성 조작 등의 다양한 기능을 지원합니다.

단점

  • 성능 저하: 암호화로 인해 FTP에 비해 성능이 다소 저하될 수 있습니다.
  • 복잡한 설정: SSH 설정과 키 관리를 필요로 하여 초기 설정이 다소 복잡할 수 있습니다.

SCP (Secure Copy Protocol)

개요

SCP는 또 다른 SSH 기반 파일 전송 프로토콜로, 원격 호스트 간의 파일 전송을 위해 사용됩니다. SCP는 RCP(Remote Copy Protocol)에서 발전된 형태로, SSH를 통해 데이터를 암호화하여 전송합니다.

작동 방식

SCP는 SSH 세션을 통해 데이터를 전송하며, SSH 인증을 사용하여 보안을 보장합니다. SCP 명령어는 원격 파일 복사를 위해 사용되며, 이는 SSH 연결을 통해 데이터를 암호화된 상태로 전송합니다.

특징 및 장점

  • 보안: 데이터와 명령이 모두 암호화된 채널을 통해 전송됩니다.
  • 간단한 사용법: 명령어 기반의 간단한 사용법을 제공합니다.
  • 빠른 전송: 작은 파일 전송에 매우 효율적입니다.

단점

  • 제한된 기능: 파일 전송에 집중되어 있어 파일 목록 조회, 속성 변경 등의 기능이 제한적입니다.
  • 성능 저하: SFTP와 마찬가지로 암호화로 인해 성능이 저하될 수 있습니다.

WebDAV (Web Distributed Authoring and Versioning)

개요

WebDAV는 웹 서버를 통해 파일을 전송하고 관리할 수 있도록 하는 HTTP 확장 프로토콜입니다. 1996년에 처음 제안되었으며, 웹 기반 협업과 파일 관리를 위한 도구로 개발되었습니다.

작동 방식

WebDAV는 HTTP/HTTPS 프로토콜을 확장하여 파일 업로드, 다운로드, 속성 변경, 잠금 등의 기능을 제공합니다. 이를 통해 사용자는 웹 서버에 파일을 저장하고 관리할 수 있습니다. WebDAV는 웹 브라우저나 WebDAV 클라이언트를 통해 접근할 수 있습니다.

특징 및 장점

  • 웹 기반 접근: HTTP/HTTPS를 사용하므로 웹 브라우저를 통해 쉽게 접근할 수 있습니다.
  • 다양한 기능: 파일 잠금, 속성 변경, 버전 관리 등의 다양한 기능을 지원합니다.
  • 보안: HTTPS를 통해 보안된 데이터 전송을 지원합니다.

단점

  • 성능: HTTP 기반이므로 대용량 파일 전송 시 성능이 다소 떨어질 수 있습니다.
  • 복잡성: 설정과 사용이 다소 복잡할 수 있습니다.
  • 지원 제한: 모든 웹 서버가 WebDAV를 지원하지 않을 수 있습니다.

마치며

FTP, SFTP, SCP, WebDAV는 각각 고유한 장점과 단점을 가진 파일 전송 프로토콜입니다. FTP는 효율적이지만 보안이 취약하고, SFTP는 보안이 강력하지만 설정이 복잡합니다. SCP는 간단하고 보안성이 높지만 기능이 제한적이며, WebDAV는 웹 기반 접근과 다양한 기능을 제공하지만 성능이 떨어질 수 있습니다. 각 프로토콜은 특정 상황에서 최적의 선택이 될 수 있으므로, 필요와 환경에 맞는 프로토콜을 선택하는 것이 중요합니다.

같은 카테고리의 다른 글

SFTP와 SCP 소개 및 비교

SFTP와 SCP는 모두 SSH를 통해 보안 파일 전송을 지원하는 프로토콜이지만, 이 둘 사이에는 몇 가지 중요한 차이점이 있습니다. SFTP (Secure File Transfer Protocol) 개요 SFTP는 SSH-2 프로토콜의 확장으로, 안전한 파일 전송을 제공하는 프로토콜입니다. SFTP는 파일 전송뿐만 아니라 원격 파일 시스템 관리 기능도 제공합니다. 작동 방식 세션 기반: SFTP는 SSH 연결을 통해 세션을 설정하고, 이를 통해 ...

국세청 홈택스 / 현금영수증 발급 받은 내역과 금액 조회하는 방법

국세청 홈택스 / 현금영수증 발급 받은 내역과 금액 조회하는 방법

사업자로부터 현금으로 무언가를 샀을 때, 현금영수증을 발급받을 수 있습니다. 구입하는 쪽에서는 현금영수증으로 비용처리를 하거나 소득공제를 받고, 판매하는 쪽에서는 매출로 자동 집계됩니다. 판매자에게서 세금을 걷기 위해 구매자에게 혜택을 주는 것이죠. 현금영수증은 전산으로 처리되는 것으로 실제로 영수증을 받지는 않습니다. 그렇다면 잘 발급을 받았는지 어떻게 확인할 수 있을까요? 국세청 홈택스에서 현금영수증 발급 받은 내역과 ...

우리은행 / 자동이체 조회하는 방법, 해지하는 방법

우리은행 / 자동이체 조회하는 방법, 해지하는 방법

요금이나 적금 등을 납부할 때 자동이체를 많이 이용합니다. 납부일을 놓힐 위험도 없고 편하고... 하지만 경우에 따라서 자동 이체를 해지하거나 계좌를 변경해야 하는 일이 발생할 수 있는데, 은행 영업점에 방문하거나 전화하지 않아도 처리할 수 있습니다. 모든 은행이 가능한지는 모르겠으나, 우리은행은 가능합니다. 다음은 우리은행 모바일 앱인 우리 WON 뱅킹에서 자동이체를 조회하고 해지하고 등록하는 ...

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

디아블로 2 / 16자리 시디키 26자리로 변환하는 방법

방을 정리하다가 디아블로 2 시디들을 발견했습니다. 추억의 게임이네요. 1999년에 구입한... 찾은 김에 PC에 설치를 해보려고 했는데, PC에 시디롬이 없습니다. 요즘은 시디롬이 있는 PC나 노트북을 찾기 힘들죠. 다른 방법이 있나 찾아보니 블리자드 홈페이지에서 설치 파일을 다운로드할 수 있다고 합니다. 그런데, 그걸로 설치하려면 26자리 시디키가 필요합니다. 갖고 있는 건 16자리 시디키인데... 역시나 방법이 있습니다. ...

보안 / Zero Trust

보안 / Zero Trust

제로 트러스트(Zero Trust)는 네트워크 보안 모델로, 아무도 신뢰하지 않고 항상 검증한다는 원칙에 기반합니다. 이는 기존의 경계 기반 보안 모델과는 달리, 네트워크 내부에 있더라도 모든 사용자와 디바이스의 신뢰를 가정하지 않으며, 사용자가 누구인지, 그들이 사용하려는 기기가 안전한지, 그리고 해당 자원에 접근할 필요가 있는지 등을 지속적으로 검증합니다. 제로 트러스트의 핵심 원칙 기본 가정: 신뢰하지 않는다: 제로 ...

토스페이먼츠 / 결제내역 확인하는 방법

토스페이먼츠 / 결제내역 확인하는 방법

인터넷 쇼핑몰에서 결제를 할 때 토스페이먼츠로 하였다면, 신용카드 명세에 가맹점명이 토스페이먼츠 주식회사로 찍힌다. 그래서 실제 결제한 인터넷 쇼핑몰이 어딘지 알 수 없다. 이를 확인하고 싶다면 토스페이먼츠 홈페이지로 가야 하는데... 좀 많이 귀찮다. 토스페이먼츠 홈페이지로 접속하고 을 클릭하거나... https://www.tosspayments.com/ 아래 링크로 바로 접속한다. https://consumer.tosspayments.com/payment-history/card 이 부분이 많이 귀찮은데... 결제 관련 정보를 꽤 많이 입력해야 한다. 입력을 마쳤으면 ...

IP 스푸핑, MAC 스푸핑, ARP 스푸핑

IP 스푸핑(IP Spoofing) IP 스푸핑은 네트워크 공격 기법 중 하나로, 공격자가 자신의 IP 주소를 위조하여 다른 컴퓨터나 네트워크 장치를 속이는 행위를 말합니다. 이 기법은 주로 권한 없는 접근, 데이터 도청, 서비스 거부(DoS) 공격 등을 수행하기 위해 사용됩니다. 작동 원리 IP 스푸핑은 IP 패킷 헤더에 있는 발신자 IP 주소(SRC IP)를 위조하여 공격 대상이 이를 ...

DNS 레코드 조회하는 사이트

DNS 레코드 조회하는 사이트

DNS 레코드를 조회하는 방법은 여러 가지가 있습니다. 예를 들어 OS가 윈도우라면 nslookup 명령어로 조회할 수 있습니다. 명령어를 사용하는 게 불편하다면 DNS 레코드를 조회해주는 사이트를 이용하는 게 편합니다.

네트워크 / TTL(Time To Live)

네트워크 / TTL(Time To Live)

개요 TTL은 Time To Live의 약자로, IP 패킷 헤더의 한 필드이다. TTL 필드는 패킷이 네트워크를 통해 전달될 때 패킷이 머무를 수 있는 최대 홉(hop) 수를 지정한다. 이 필드는 패킷이 무한히 순환하지 않도록 방지하는 데 사용된다. TTL의 동작 방식은 다음과 같다. 패킷이 네트워크를 통해 전송될 때 송신자는 TTL 값을 설정한다. 이 값은 일반적으로 64, ...

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin / 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다.

phpMyAdmin을 업로드 하고 로그인 했을 때 다음과 같은 문구가 나오는 경우가 있습니다. 이제 설정 파일은 암호화 문자열(blowfish_secret)을 필요로 합니다. 해결하는 방법은 다음과 같습니다. phpMyAdmin 디렉토리에 있는 config.sample.inc.php를 config.inc.php로 이름을 바꾸어 저장합니다. 그리고 파일에 있는 다음 코드에 값을 채웁니다. $cfg = ''; 32개 보다 적은 문자를 넣으면 길이가 짧다는 메시지가 나오므로, 32개 이상의 문자를 입력합니다.