FTP와 SFTP 소개 및 비교

FTP(파일 전송 프로토콜)와 SFTP(SSH 파일 전송 프로토콜)는 네트워크를 통해 파일을 전송하는 두 가지 방법입니다. 이 두 프로토콜은 파일 전송을 위해 사용되지만, 보안, 인증 및 전송 방식에 있어서 차이점이 있습니다.

FTP (File Transfer Protocol)

FTP는 네트워크를 통해 파일을 전송하기 위해 사용되는 표준 프로토콜입니다. 클라이언트-서버 모델을 기반으로 하며, 주로 인터넷을 통해 파일을 업로드하거나 다운로드하는 데 사용됩니다.

주요 특징은 다음과 같습니다.

비암호화 전송

  • 기본적으로 FTP는 데이터를 암호화하지 않고 전송합니다. 이로 인해 전송 중에 데이터가 도청될 가능성이 있습니다.

포트 사용

  • FTP는 제어 연결을 위해 포트 21을 사용하고, 데이터 전송을 위해 별도의 포트를 사용합니다. 기본적으로 포트 20이 데이터 전송에 사용되지만, 이는 PASV(수동) 모드에서는 다를 수 있습니다.

명령어 기반

  • FTP는 다양한 명령어를 사용하여 서버와 상호 작용합니다.

익명 접근

  • 일부 FTP 서버는 익명 사용자 접근을 허용하여, 사용자 인증 없이 파일을 다운로드할 수 있게 합니다.

모드

  • 액티브 모드 : 서버가 데이터 연결을 클라이언트에 직접 개설합니다.
  • 패시브 모드 : 클라이언트가 데이터 연결을 서버에 개설합니다.

SFTP (SSH File Transfer Protocol)

SFTP는 SSH(보안 셸) 프로토콜을 통해 파일 전송을 수행하는 프로토콜로, FTP와는 다르게 데이터와 명령어를 암호화하여 전송합니다. 이는 SSH의 확장으로 간주될 수 있습니다.

주요 특징은 다음과 같습니다.

암호화 전송

  • 모든 데이터 전송이 SSH 프로토콜을 통해 암호화되어 보안성이 높습니다. 이는 전송 중 데이터 도청 및 변조를 방지합니다.

단일 포트 사용

  • SFTP는 SSH와 동일한 포트(기본적으로 포트 22)를 사용하여 제어 및 데이터 전송을 모두 수행합니다.

SSH 인증

  • SFTP는 SSH 프로토콜을 사용하여 사용자 인증을 수행합니다. 이는 비밀번호 기반 인증, 공개 키 인증 등 다양한 인증 방법을 포함합니다.

명령어 기반

  • SFTP는 자체 명령어 셋을 사용하여 파일 전송 작업을 수행합니다. 이는 FTP와 다르지만, 전송 작업은 비슷하게 수행됩니다.

보안 기능

  • SFTP는 SSH의 보안 기능을 모두 상속받아 데이터 무결성 및 기밀성을 보장합니다.

주요 차이점

보안

  • FTP : 데이터가 암호화되지 않은 상태로 전송되므로 보안에 취약합니다.
  • SFTP : SSH를 통해 암호화된 채널로 데이터를 전송하므로 높은 보안성을 제공합니다.

포트 사용

  • FTP : 제어 연결에 포트 21을 사용하며, 데이터 전송을 위해 추가 포트를 사용합니다.
  • SFTP : 제어 및 데이터 전송 모두를 위해 포트 22를 사용합니다.

사용 용도

  • FTP : 보안이 크게 요구되지 않는 환경에서 주로 사용됩니다.
  • SFTP : 보안이 중요한 환경에서 주로 사용됩니다.

인증 방법

  • FTP : 기본적으로 사용자 이름과 비밀번호를 사용한 간단한 인증 방식을 사용합니다.
  • SFTP : SSH 프로토콜의 다양한 인증 방법을 사용합니다(예: 공개 키 인증).

마치며

FTP와 SFTP는 각각 파일 전송을 위한 유용한 도구이지만, 보안 요구사항에 따라 선택이 달라질 수 있습니다. 보안이 중요한 환경에서는 SFTP가 더 적합하며, FTP는 보안이 덜 중요한 환경에서 사용될 수 있습니다. 이 두 프로토콜의 장단점을 이해하고, 사용 환경에 맞게 적절한 프로토콜을 선택하는 것이 중요합니다.

참고

같은 카테고리의 다른 글

네트워크 / NAT(Network Address Translation)

NAT는 네트워크 주소 변환을 의미하며, 네트워크 트래픽의 IP 주소를 변환하는 기술입니다. 주로 사설 네트워크(Private Network)와 공인 네트워크(Public Network) 간의 통신을 가능하게 하기 위해 사용됩니다. NAT는 보안, 주소 공간 절약, 그리고 네트워크 확장을 위해 필수적인 기능으로 널리 활용됩니다. NAT의 주요 기능 IP 주소 절약: IPv4 주소의 고갈 문제를 해결하기 위해 사설 IP 주소(Private IP)와 공인 IP 주소(Public ...

한화손해보험 / 실비보험 / 보험금 앱으로 청구하여 받는 방법

한화손해보험 / 실비보험 / 보험금 앱으로 청구하여 받는 방법

한화손해보험에 실비보험을 들어둔 게 있습니다. 병원에 잘 가지 않아서 실비보험의 드는 게 의미가 있나 고민을 했었는데, 나이가 들고 병원을 다니게 되니 잘 가입했다는 생각이 듭니다. 물론 계속 건강해서 보험금을 아까워하는 게 더 좋은 거지만요. 실비보험은 실제로 지출한 병원비를 보장 받는 건데, 보험금을 받으려면 보험회사에 청구를 해야 합니다. 병원에서 보험사로 자동으로 청구를 ...

보안 / Zero Trust

보안 / Zero Trust

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

문명 6 / 세이브 파일 저장 위치

문명 6 / 세이브 파일 저장 위치

문명 6을 시작했다. 이렇게 쓰면 문명 1, 2, 3 ,4, 5를 해본 것처럼 보일 수 있지만, 문명이란 게임을 처음 하는 것이다. 중독성이 강하다는 데, 아직 초보라 그런지 재미가 그다지... 어쩌면 게임 방법 공부하는 게 싫어서 그런지도... 일단은 노트북에 설치했다. GEFORCE GTX 1050을 탑재한 노트북이라 플레이에는 별 문제가 없는데, 발열이 끝내준다. 그 ...

브랜드 로고 공식 배포 주소

브랜드 로고 공식 배포 주소

로고를 다운로드 받을 수 있는 공식 주소를 정리한다. 로고 사용에 대한 가이드라인이 있으므로, 공식 주소에서 다운로드하는 것이 좋다. Bootstrap https://getbootstrap.com/docs/5.0/about/brand/ Facebook https://www.facebook.com/brand/resources/facebookapp/logo Facebook Messenger https://www.facebook.com/brand/resources/messenger/messenger-brand HTML5 https://www.w3.org/html/logo/ Intagram https://www.facebook.com/brand/resources/instagram/instagram-brand jQuery https://brand.jquery.org/logos/ Kakao Story Channel https://ch.kakao.com/login LinkedIn https://brand.linkedin.com/downloads MariaDB https://mariadb.com/about-us/logos/ Naver https://logoproject.naver.com/logonaver Naver Band https://developers.band.us/develop/guide/share Naver Line https://line.me/en/logo PHP https://www.php.net/download-logos.php Pinterest https://business.pinterest.com/ko/brand-guidelines/ Python https://www.python.org/community/logos/ Samsung https://www.samsung.com/sec/about-us/brand-identity/logo/ Sass https://sass-lang.com/styleguide/brand Twitter https://about.twitter.com/en/who-we-are/brand-toolkit Visual Studio Code https://code.visualstudio.com/brand YouTube https://www.youtube.com/howyoutubeworks/resources/brand-resources/  

스팀 / 자녀 보호 설정하는 방법, 해제하는 방법

스팀 / 자녀 보호 설정하는 방법, 해제하는 방법

요즘 아이들은 게임으로 논다. 멀티플레이 게임도 많으니까 혼자 논다고 볼 수는 없다. 친구들과 함께 게임을 즐긴다. 그러려면 게임을 사줘야 하는데, 아무 거나 사줄 수도 없고, 아무거나 플레이하게 할 수도 없다. 그래서 게임 판매자는 청소년에 대한 제한을 두고 있다. 그건 스팀도 마찬가지다. 스팀에는 자녀 보호라는 이름의 기능으로 아이의 게임을 제한한다. 그렇다고 뭔가 ...

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 10세대 또는 11세대 노트북에 윈도우 설치할 때 드라이브가 없는 문제 해결하는 방법

인텔 11세대 CPU를 탑재한 노트북을 샀다. HP 빅터스 계열로, 가성비 좋은 게이밍 노트북이다. 프리 도스 제품을 샀기에 제일 먼저 한 것은 윈도우를 설치하는 것. 설치용 USB를 만들고, 바이오스에서 부팅 순서 변경하고, 설치를 시작했는데... 윈도우를 설치할 저장소(드라이브)가 없다고 나온다. 꽤 많은 컴퓨터를 만져보고 수없이 윈도우를 설치했는데, 이런 적은 처음이다. 그 중에는 다른 ...

DNS 레코드 조회하는 사이트

DNS 레코드 조회하는 사이트

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

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

KT 멤버쉽 또는 롯데면세점 혜택으로 롯데렌터카 저렴하게 예약하는 방법

제주도 여행을 위해 차를 렌트하게 되었다. 제주도에는 렌트카 업체가 다양하게 있는데, 워낙 안 좋은 기사를 많이 봐서 대형 업체에서 빌리기로 했다.  대형 업체 중 롯데렌터카로 정했는데, 롯데렌터카 공식 홈페이지에서 예약하는 것보다 제휴 업체를 통해 예약하는 게 더 저렴하더라. 대표적인 제휴업체는 KT와 롯데면세점. 두 군데 모두 예약 방식이나 할인 정도는 같았다. 예를 들어 ...

보안 / IPS - Intrusion Prevention System

Intrusion Prevention System(IPS)은 네트워크 보안 장치로, 네트워크 트래픽을 실시간으로 모니터링하여 악의적인 활동이나 정책 위반을 탐지하고 이를 차단하는 기능을 수행합니다. IDS(침입 탐지 시스템)와 유사하지만, IPS는 탐지뿐만 아니라 능동적으로 위협을 차단하는 기능을 갖추고 있습니다. 주요 기능 실시간 모니터링 네트워크 트래픽을 실시간으로 분석하여 위협을 탐지합니다. 위협 차단 악의적인 활동이 발견되면 자동으로 해당 트래픽을 차단하여 네트워크를 보호합니다. 정책 적용 네트워크 보안 ...