포트
IP를 통해 접속한 컴퓨터에서 어떤 곳으로 연결할지 구분시키는 역할
IP만 가지고 접속하면 컴퓨터가 접속했다는 것은 인지하지만 어떤 응답을 주어야 하는지 모른다고 한다.
포트와 함께 접속하면, 클라이언트가 80번을 요청했으므로 HTTP반환?!
그래서 포트란,
IP를 통해서 컴퓨터에 접속할 때, 어떤 것을 원하는지 요청하기 위해 사용하는 논리적인 약속이라고 한다.
포트는 0번부터 65535번까지 사용할 수 있다
0 - 1023번은 well-known port이고,
1024 - 49151번은 registered port이고,
49151 - 65535번은 dynamic port라고 한다.
well-known port는 80번 http, 22번 ssh처럼 자주 사용되는 포트
registered port는 특정 용도로 사용하기 위해 쓰이는 포트, mysql의 3306, 80을 대체하기 위한 8080포트
dynamic port는 특별히 지정되지 않은 포트들. 자유롭게 사용해도 된다고 한다.
포트가 서버를 통하는 문의 역할을 하기 때문에 악성 코드나 바이러스도 포트를 통해 유포된다고 한다. 때문에 IP를 통해 접속한 클라이언트에게 모든 포트를 개방하는 것은 위험하다. 이를 막기 위한 규칙이 인바운드 규칙과 아웃바운드 규칙이다.
인바운드 규칙
클라이언트가 자신의 서버 데이터에 들어올 수 있는 규칙을 의미한다. 서버에 접속하고, 해당 데이터들을 읽을 수 있으며 권한 여부에 따라 생성, 수정, 삭제도 허용하는 규칙이다. 클라이언트가 서버 데이터에 접속하는 권한이기 때문에, 기본적으로 인바운드 규칙은 모든 포트를 닫는 것을 전재로 한다고 한다. 인바운드 규칙에서 설정하지 않은 포트들은 사용할 수 없는 포트이며, 해당 포트를 사용하더라도 접속 자체를 막는다고한다.
예를 들어, 인바운드 규칙으로 80번과 443번 포트를 등록했는데 22번으로 접속하려하면 22번 서버가 있든 없든 접속할 수 없다.
아웃바운드 규칙
서버에서 나갈 수 있는 데이터에 대한 규칙을 의미한다. 인바운드 규칙에서 허용된 포트로 들어왔다고 한들, 아웃바운드 규칙에서 데이터 반출이 허용되지 않은 포트라면 클라이언트는 다운로드를 할 수 없게 된다. 보통 아웃바운드 규칙은 기본 옵션으로 모든 포트에 허용되어 있는 편이라고 한다.
Reference
'TIL' 카테고리의 다른 글
도커와 쿠버네티스 (0) | 2022.08.24 |
---|---|
VPC란? (0) | 2022.08.24 |
온프레미스(On-premise)란?? (0) | 2022.08.24 |
NGINX 사용 이유 (0) | 2022.08.24 |
웹서버, WAS(Web Application Server) (0) | 2022.08.24 |