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

참고

같은 카테고리의 다른 글

미디어위키 / 메모

MediaWiki ShortURL Builder https://shorturls.redwerks.org/ Extension AutoSitemap https://www.mediawiki.org/wiki/Extension:AutoSitemap 사이트맵 만들어주는 확장기능 사이트맵 주소는 /sitemap.xml 확장기능 설치 후 글을 새로 작성하거나 기존 글을 수정해야 사이트맵이 생성된다. SimpleMathJax https://www.mediawiki.org/wiki/Extension:SimpleMathJax LaTeX 문법으로 수식 입력하게 해주는 확장기능 CSS 편집 모든 스킨에 적용되는 CSS 미디어위키:Common.css Vector 스킨에 적용되는 CSS 미디어위키:Vector.css MobileFrontend, Minerva Neue 설치하고 설정하기 미디어위키 공식 홈페이지를 PC로 접속하면 Vector 스킨으로, 모바일로 접속하면 Minerva Neue 스킨으로 보여준다. 그렇게 구현하기 위해서는 MobileFrontend 확장 ...

보안 / IDS - Intrusion Detection System

Intrusion Detection System(IDS)는 네트워크나 시스템에서 발생하는 활동을 모니터링하고, 악의적인 활동이나 정책 위반을 탐지하여 관리자에게 경고를 보내는 보안 장치입니다. IDS는 침입 방지 시스템(IPS)과는 달리, 탐지된 위협을 차단하지 않고 알림을 통해 관리자에게 통보하는 역할을 합니다. 주요 특징 실시간 모니터링 네트워크 트래픽이나 시스템 로그를 실시간으로 모니터링하여 이상 활동을 탐지합니다. 위협 탐지 악의적인 활동, 정책 위반, 비정상적인 트래픽 패턴 ...

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

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

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

현대자동차 / 스마트키 / 배터리 교체하는 방법

현대자동차 / 스마트키 / 배터리 교체하는 방법

차 시동을 끄는데 메시지가 하나 떴어요. 자동차 스마트키 배터리 전압이 낮다는.. 그래서 그 키는 두고 다른 키를 사용했는데, 그것도 전압이 낮다고 나왔어요. 어쩔 수 없이 배터리를 교체했습니다. 차량 설명서에는 설명이 너무 간단하게 나왔어요. 일자 드라이버로 분해하고, 건전지 교체하고, 다시 조립하라고... 뭐, 틀린 말은 아닌데, 사진 같은 것도 없어서 좀 오래 걸렸네요. 제일 ...

FIDO(Fast IDentity Online)

FIDO(Fast IDentity Online)는 비밀번호 없이 안전하고 편리한 인증 방법을 제공하는 기술 표준입니다. FIDO 얼라이언스에 의해 개발된 이 기술은 온라인 인증의 보안성을 높이기 위해 만들어졌으며, 여러 인증 방식을 제공하고 있습니다. 주요 목표는 비밀번호의 사용을 줄이거나 없애고, 피싱 공격 및 자격 증명 도용을 방지하는 것입니다. FIDO의 주요 개념과 기술 FIDO 프로토콜: FIDO는 다양한 인증 ...

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

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

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

DLP / 기능, 장점, 단점

DLP(Data Loss Prevention)는 기업의 중요한 데이터가 유출되거나 손실되는 것을 방지하기 위한 보안 기술 및 전략을 의미합니다. DLP 시스템은 데이터의 사용, 이동, 저장을 모니터링하고 보호하여 비정상적이거나 무단인 활동을 감지하고 차단합니다. DLP는 기업의 중요한 데이터를 보호하기 위한 필수적인 보안 솔루션으로, 조직의 보안 전략에 맞춰 적절하게 도입되고 운영되어야 합니다. DLP의 주요 기능 데이터 식별 데이터를 유형별로 ...

INET과 UDS

INET과 UDS는 소켓(socket) 프로그래밍에서 사용되는 용어로, 네트워크 통신 방식의 차이를 의미합니다. 1. INET (Internet socket) INET 소켓은 TCP/IP 프로토콜을 통해 네트워크상의 통신을 지원하는 소켓입니다. 원격 컴퓨터와의 통신에 사용됩니다. IP 주소와 포트 번호를 사용합니다. 일반적인 인터넷 및 네트워크 응용 프로그램(예: HTTP 웹 서버, FTP 서버 등)에서 사용됩니다. 예시: 192.168.0.100:8080 2. UDS (Unix Domain Socket) UDS는 UNIX 운영체제에서 로컬 프로세스 간 ...

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

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

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

국세청 홈택스 / 지급명세서 조회하는 방법

국세청 홈택스 / 지급명세서 조회하는 방법

종합소득세 신고를 해야하는 5월이 되었습니다. 종합소득세 신고를 위해 제일 먼저 해야할 것은 총 수입을 계산하는 것이죠. 원천징수를 한 소득이라면 국세청 홈택스에서 쉽게 확인할 수 있습니다. 근로소득만 있다면 에서 받은 금액과 원천징수한 금액을 확인할 수 있습니다. 근로소득 외에 다른 소득도 있다면 로 가세요. 을 클릭하면... 원천징수를 당한 모든 소득에 ...