프론트엔드

FTP와 SFTP에 대해, RSA에 대해

journey-dev 2024. 10. 4. 00:13

ftp 자동배포를 시도하면서 알게된 것들에 대한 내용을 포스팅해보겠다.

 

누군가 FTP가 뭐에요?라고 묻는다면, 나는 "파일 전송 프로토콜"이요 라고 밖에 말하지 못하겠다. 

이렇게 허접하게 말고, 좀 더 제대로 알고 싶다!

 


# FTP와  SFTP

FTP(File Transfer Protocol)

서버와 클라이언트 간에 파일을 전송하기 위한 네트워크 프로토콜

 

특징1. 전송방식

: 파일을 암호화하지 않은 상태로 전송함.
: 전송 데이터가 암호화되지 않고 평문으로 전송해되기 때문에 전송된 파일, 사용자이름, 비밀번호가 노출될 위험 있음. -> 보안 취약

 

특징2. 보안이 취약함 

: 보안적으로 취약함. 그래서 실무에서는 대체로 사용하지 않는다.

 

SFTP(SSH File Transfer Protocol)

ftp 연결에 보안을 강화한 것


특징1. 전송방식
: 데이터가 암화화하여 전송되므로 파일뿐 아니라 인증 정보도 안전히 보호됨.

 

특징2. 보안 강화

 

특징 FTP SFTP
보안 암호화X 암호화O (SSH 기반)
기본 포트 21 22
전송 방식 평문 전송 암호화하여 전송
인증 방식 사용자 이름, 비밀번호 사용자 이름, 비밀번호 or SSH 키
사용 보안이 필요없는 파일 전송시 보안이 중요한 파일 전송시

 

 

느낀점

사내에서 ftp 인증 방식으로 개발서버는 텍스트 비밀번호를, 스테이징 서버를 ssh키를 사용하고 있는데

왜 이렇게 따로 처리하는지 이해할 수 있게됐다.

 

개발서버는 사내에서만 접속 가능한 사내서버여서 이미 보안이 설정되있기 때문에 비밀번호로 하는것이고,

스테이징 서버는 aws를 사용하고 있어 보안을 강화하기 위해 ssh키를 사용한 것 이였다.

 

이런 배경지식을 갖고 보니 매일 하던 업무를 다른 방향에서 볼 수 있는 것 같다.


※ 참조 사이트

https://terms.naver.com/entry.naver?docId=3574148&cid=59088&categoryId=59096

https://inpa.tistory.com/entry/WEB-%F0%9F%97%84%EF%B8%8F-FTP-SFTP-%EB%9E%80


# rsa 암호화 및 디지털 서명

 

1. 암호화

rsa는 암호화 알고리즘 중 하나.

2개의 키(공개키 public key, 개인키 private key)를 이용한 비대칭 암호화다.

공개키로 데이터를 암호화하고, 개인키로 이를 복화하하는 방식으로 데이터를 보호한다.

오직 그 개인키를 가진 사람만 이를 해독할 수 있게되는 것이다.

 

2. 서명(디지털 서명)

개인키를 갖은 사람만이 공개키로 암호화된 것을 해독할 수 있으니, 해독을 했다면 신분이 인증되는 것이다.

 

특징

1. 보안이 뛰어남

2. 속도는 느림 : 대용량 데이터를 암호화하는 경우 속도가 느려짐

 

활용

1. SSH에서 사용자 인증시 사용

2. 전자 상거래, 공인인증서 등 신분 증명시

 

※ 참조 사이트
https://velog.io/@480/RSA-%EC%95%94%ED%98%B8%ED%99%94-3%EB%B6%84-%EB%A7%8C%EC%97%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0