ICMP (Internet Control Message Protocol)
- 인터넷 제어 메시지 프로토콜
- IP 패킷을 처리할 때 발생되는 문제를 알리거나, 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
- IP와 하나의 쌍을 이루며 동작하고 IP의 비신뢰적인 특성을 메꾸기 위하여 사용
★꼭 알아둬야 할 오류 메세지
- Destination Unreachable : 라우터가 특정 노드의 패킷을 목적지에 보내지 못할 경우, 송신 노드에게 이 에러 메시지를 보냅니다. 메시지 안에는 에러코드가 포함되어 목적지까지 전송되지 못한 이유를 알려줍니다.
- Redirection : 라우터가 송신측 노드에 적합하지 않은 경로로 설정되어 있을 경우 해당 노드에 대한 최적화된 경로를 재설정하라는 뜻입니다.
- Time Exceeded : 패킷이 네트워크 사이에서 무한정 돌아가지 않게 하기 위해 각 라우터가 패킷을 처리할 때마다 TTL을 감소시키다가 '0'이 되면 송신측 라우터에 Time Exceeded 에러 메시지를 되돌려 보냄으로써 패킷이 폐기된 사실을 알립니다.
HTTP (Hyper Text Transfer Protoco)
- 서버/클라이언트 모델을 따라 하이퍼텍스트를 교환하기 위한 프로토콜
- 암호화가 되지 않은 평문 데이터를 전송하기 때문에 민감한 데이터를 주고 받으면 제3자가 정보 조회 가능
- 80번 포트를 사용
HTTPS (Hyper Text Transfer Protocol SSL)
- HTTP에 데이터 암호화가 추가된 프로토콜
- 대칭키 암호화와 비대칭키 암호화를 모두 사용하여 빠른 연산 속도와 안정성을 갖춤
- 443번 포트를 사용
▷ 대칭키 암호화
- A와 B가 둘다 똑같은 키를 이용하여 송신할 때 암호화, 수신할 때 복호화 하는 방식
- 중간에 제 3자에게 노출되어도 암호문 형식이라 정보를 알아볼 수 없음
- 공개키 암호화 방식에 비해 빠르다는 장점
- 동일한 키를 양쪽이 공유해야 한다는 문제가 있음, 결국 한번은 한쪽에서 다른쪽으로 이 키를 전송해야 하는데, 키를 교환하는 도중 키가 노출되거나 탈취된다면 보안상의 문제가 발생 (대칭키 암호화 방식의 한계)
▷ 비대칭키 암호화 (공개키 암호화)
- A와 B가 서로 다른 키를 이용하여 암호화, 복호화를 하는 방식
- 대칭키의 키교환 문제를 해결하기 위해 등장
- 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있음
- 공개키는 모든 사람이 접근 가능한 키, 개인키는 각 사용자만이 가지고 있는 키
- 대칭키 방식에서는 하나의 키로 암호화와 복호화를 했다면, 공개키 방식에서는 공개키로 암호화 했다면 개인키로만 복호화 할 수 있습니다. 반대로, 개인키로 암호화 했다면 공개키로만 복호화 할 수 있습니다.
- 중간에 제 3자가 B의 공개키를 얻는다고 해도 암호화된 데이터는 B의 개인키로만 복호화가 가능함
- 단점은 대칭형 암호화 방식에 비해 속도가 느림
그렇기에 HTTPS는 처음에는 공개키 암호화 방식으로 대칭키를 공유하고 대칭키 암호화 방식으로 데이터 통신을 하기 때문에 빠른 연산 속도와 안정성을 갖추고 있습니다.
FTP (File Transfer Protocol)
- 파일 전송 관련 프로토콜
- 21번 포트를 통해서 전송을 제어
- 20번 포트를 통해서 실제 데이터 전송
- 능동 모드와 수동 모드 두가지를 지원 (데이터 채널로 20번포트를 사용하는지에 따라 구분 가능 )
- 능동 모드 (Active Mode) : 데이터 전송 채널을 20번 포트를 사용합니다. 서버가 클라이언트에 접속을 시도하기에 클라이언트 환경에 따라 데이터를 받지 못하는 에러가 발생할 수 있습니다.
- 수동 모드 (Passive Mode) : 데이터 전송 채널을 20번 포트 대신에 1024번 이상의 랜덤한 비 특권 포트를 사용합니다. 클라이언트가 서버에 접속하는 방식이므로 클라이언트 환경에 구애 받지 않고 파일 송수신이 가능합니다. 하지만 수동모드에 사용되는 Port에 대한 관리 필요와 클라이언트에서 서버로 접속하는 구조로 보안위험이 상승합니다.
- 능동 모드 (Active Mode) : 데이터 전송 채널을 20번 포트를 사용합니다. 서버가 클라이언트에 접속을 시도하기에 클라이언트 환경에 따라 데이터를 받지 못하는 에러가 발생할 수 있습니다.
FTP는 동작 방식이 매우 단순하고 직관적이며 평문형 데이터를 전송하기 때문에 보안에 취약점이 있습니다. 이것을 보완하고자 FTPS와 SFTP가 등장하게 되었습니다.
FTPS (FTP over SSL)
- TLS/SSL(공개키 암호화 방식) 을 이용한 FTP 의 확장판
- 21번, 20번 포트 사용 (설정에 따라 변경 가능)
SFTP (SSH File Transfer Protocol)
- SSH로 파일 전송하는 프로토콜
- SFTP 는 FTP를 사용하지 않음 (SSH 기반의 새로운 파일전송 프로토콜)
- 22번포트만 사용 (보안에 유리함)
★ 메일 송신 : 송신자가 메일 서버로 보내는 것, 메일 서버가 인터넷을 통해 메일 서버로 보내는 것
★ 메일 수신: 수신자가 메일 서버로부터 메일을 가져오는 것
SMTP (Simple Mail Transfer Protocol)
- 이메일 데이터 송신할 때 사용하는 프로토콜
- 25번 포트를 사용
POP3 (Post Office Protocol)
- 이메일을 수신할 때 사용하는 프로토콜의 한 종류
- 현재 통용되고 있는 POST Office 프로토콜의 버전이 세 번째이기 때문에 프로토콜명에 숫자 3을 붙여 pop3라고 부름
- 서버의 사서함으로부터 수신자 pc로 메일을 직접 다운로드 하는 형식
- 다운로드와 동시에 사서함에 있는 이메일 삭제되는 것이 기본적 특징
- 이메일을 수신한 경우 메일을 다운로드 받은 pc에만 해당 메일 남아있게 되어 추가적인 설정을 하지 않는 이상 다른 pc나 모바일 등의 기기로 동일한 이메일을 확인할 수 없음
- 110번 포트를 사용
IMAP (Internet Messaging Access Protocol)
- POP3와 마찬가지로 이메일을 수신할 때 사용하는 또 다른 프로토콜의 종류
- 사용자는 컴퓨터나 모바일 장치에서 여러 전자 메일 클라이언트를 통해 로그인하여 동일한 메시지를 읽을 수 있음
- 단점으로 메일을 확인할 때마다 클라이언트가 서버와 통신해야만 하므로 메일 서버의 통신 트래픽을 높이는 점, 오프라인 상태에서는 메일을 확인 할 수 없다는 점과 Client가 메일을 삭제하는 경우에만 서버에서도 메일이 삭제되기 때문에 만약 메일 서버가 해킹당하면 서버에 있는 메일 정보들이 고스란히 노출될 수 있는 위험성이 있음
- 143번 포트를 사용
TELNET
- 원격 접속 서비스로서 특정 사용자가 네트워크를 통해 다른 컴퓨터에 연결하여 그 컴퓨터에서 제공하는 서비스를 받을 수 있도록 하는 프로토콜
- 유연성과 자율성 (운영체제가 달라도 가능)
- 윈도우7까지는 많이 사용되었던 프로토콜 (지금은 비활성화)
- 평문으로 데이터 통신하기 때문에 보안에 취약점이 있어 SSH로 대체되고 있음
- 23번 포트를 사용
SSH (Secure Shell)
- 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜
- 텔넷에서 평문으로 통신되었던 부분들을 암호문으로 통신
- 현재 원격 접속 보안을 위한 필수적인 요소로 자리잡음
- 22번 포트를 사용
- 파일 전송 관련 프로토콜에서 나왔던 SFTP가 이 SSH를 기반으로 작동하기 때문에 같은 포트번호 22번을 사용
☆ Telnet과 SSH의 기능은 서로 비슷합니다.
Telnet은 통신 시 데이터가 평문으로 되어 있어 해킹을 당한다면 정보가 그대로 노출 될 가능성이 크지만,
SSH는 암호화 통신을 하기 때문에 안전한 통신 기능이 제공된다는 점이 가장 큰 차이라고 볼 수 있습니다.
SSL / TLS (Secure Sockets Layer / Transport Layer Security)
- ‘보안 계층’이라는 독립적인 프로토콜 계층을 만들어, 그림처럼 응용계층과 전송 계층 사이에 속하
- 인증, 무결성, 암호화의 보안 통신을 위해 암호학 기술을 이용
- HTTP, FTP, SMTP 등의 TCP기반 프로토콜들이 데이터를 주고 받을 때 암호학 기술을 통해 보안성을 강화
- SSL과 TLS는 같은 말입니다. 네스케이프에 의해서 SSL이 처음으로 발명되었고, 이것이 점차 폭넓게 사용되다가 표준화 기구인 IETF의 관리로 변경되면서 TLS라는 이름으로 바뀌었습니다. TLS 1.0은 SSL 3.0을 계승합니다. 하지만 TLS라는 이름보다 SSL이라는 이름이 훨씬 많이 사용되고 있습니다.
'리팩토링' 카테고리의 다른 글
악성코드 (0) | 2023.02.15 |
---|---|
DDOS, Firewall, IDS, IPS (0) | 2023.02.10 |
계층 별 프로토콜 (0) | 2023.01.16 |
계층 별 장비 (2) | 2023.01.10 |
TCP의 연결방식과 종료방식 (0) | 2022.12.26 |