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는 보안이 덜 중요한 환경에서 사용될 수 있습니다. 이 두 프로토콜의 장단점을 이해하고, 사용 환경에 맞게 적절한 프로토콜을 선택하는 것이 중요합니다.

참고

같은 카테고리의 다른 글

FTP와 SFTP 소개 및 비교

FTP(파일 전송 프로토콜)와 SFTP(SSH 파일 전송 프로토콜)는 네트워크를 통해 파일을 전송하는 두 가지 방법입니다. 이 두 프로토콜은 파일 전송을 위해 사용되지만, 보안, 인증 및 전송 방식에 있어서 차이점이 있습니다. FTP (File Transfer Protocol) FTP는 네트워크를 통해 파일을 전송하기 위해 사용되는 표준 프로토콜입니다. 클라이언트-서버 모델을 기반으로 하며, 주로 인터넷을 통해 파일을 업로드하거나 다운로드하는 ...

하이패스 사용 내역 확인하고 출력하는 방법

하이패스 사용 내역 확인하고 출력하는 방법

현대카드의 하이패스를 사용하고 있는데 카드 명세서에는 금액만 찍힌다. 그래서 언제 어디에서 사용한 것인지 알 수가 없다. 정확히 언제 어디서 사용한 것인지 알아야 한다면, 그리고 건별 영수증이 필요하다면 고속도로 통행료 홈페이지로 가자. 원하는 정보를 얻을 수 있다. 회원 가입을 하고... 카드 등록을 한다. 에서... 조건을 지정하여 내역을 조회할 수 있다. 영수증이 필요하면 선택을 한 후 ...

네트워크 / 잘 알려진 포트, 등록된 포트, 동적 포트

포트 번호는 0~65535까지 사용 가능합니다. 이를 용도에 따라 잘 알려진 포트, 등록된 포트, 동적 포트 세 가지로 분류합니다. 관리는 IANA(Internet Assigned Numbers Authority)에서 합니다.

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

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

브랜드 로고 공식 배포 주소

브랜드 로고 공식 배포 주소

로고를 다운로드 받을 수 있는 공식 주소를 정리한다. 로고 사용에 대한 가이드라인이 있으므로, 공식 주소에서 다운로드하는 것이 좋다. 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/  

TCP vs UDP

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 주요 통신 프로토콜로, 각각 다른 방식으로 데이터를 전송한다. TCP (Transmission Control Protocol) 특징 연결 지향(Connection-oriented) TCP는 통신을 시작하기 전에 연결을 설정한다. 이 연결은 3-way handshake 과정을 통해 이루어진다. 신뢰성(Reliability) 데이터 전송의 신뢰성을 보장한다. 데이터 패킷이 손실되거나 손상되면 재전송한다. 순서 보장(Ordering) 패킷이 순서대로 도착하도록 보장한다. 수신자는 전송된 데이터가 원래의 순서대로 도착하는 것을 확인할 ...

FTP, SFTP, SCP, WebDAV

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

스팀 / 게임 숨기기, 숨긴 게임 보기

스팀 / 게임 숨기기, 숨긴 게임 보기

언제할지도 모르면서 세일할 때 하나씩 사다보니 스팀에서 산 게임이 많아지고 있습니다. 그 중에는 엔딩까지 봐서 다시는 안 할 게임도 있고, 사긴 했지만 정말 언제 할지 모를 게임도 있고, 원래 것과 리마스터가 같이 있는 것도 있습니다. 그러다보니 라이브러리에 하지도 않을 게임이 잔뜩 보이는데요... 다행히도 목록에서 그 게임들을 숨길 수 있습니다. 방법은... 게임을 선택하고 ...

MariaDB / 데이터베이스 이름에 하이픈(-) 또는 점(.) 포함하는 방법

MariaDB / 데이터베이스 이름에 하이픈(-) 또는 점(.) 포함하는 방법

MariaDB에 하이픈(-)이나 점(.)을 포함한 이름으로 데이터베이스를 만들면 에러가 납니다. 예를 들어 create database test-test; 라고 하면 다음과 같은 에러 메시지를 출력하면서 데이터베이스를 생성하지 못합니다. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-test' at ...

보안 / IPS - Intrusion Prevention System

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