리눅스 root 권한이 필요한 포트 0~1023

리눅스에서 root 권한이 없는 사용자로 1024번 미만의 포트에 바인딩을 시도하면 실패합니다. 예를 들어, 일반 계정으로 80이나 443 같은 포트로 서비스를 기동할 수 없습니다.

Well-Known Port (0~1023)

네트워크에서 0~1023 사이의 포트를 Well-Known(잘 알려진) 포트 또는 시스템 포트라고 부릅니다. 이 구간 포트의 특징은 주로 표준 시스템 서비스에 사용된다는 점입니다. 대표적으로 SSH는 22, HTTP는 80, HTTPS는 443, Telnet은 23으로 사용됩니다.

 

이런 포트를 일반 사용자가 바인딩하려면 권한 오류가 발생합니다. 특히 리눅스는 일반 계정 사용 빈도가 높기 때문에 이런 문제에 마주칠 확률이 더 높습니다.

 

Well-Known 포트 바인딩에 높은 권한을 요구하는 이유는 자연스럽습니다. 보안상 그게 좋기 때문입니다. 아무래도 SSH, FTP, HTTP 같은 포트들은 디폴트 포트 번호가 표준화되어 있고 사용 빈도가 높아 잘못된 프로그램이 바인딩 되면 치명적일 수 있기 때문입니다.

 

registered port (1024~49151)

관리자 권한 없이 서버 소켓으로 사용하는 포트 대역은 1024~49151 입니다. registered port(등록된 포트) 또는 사용자 포트라고 부릅니다. 그래서 일반적으로 솔루션 업체들이 서버를 구축할 때 제품 포트를 이 대역 사이에서 구축합니다.

 

dynamic port (49152~65535)

다이나믹 포트라고 불리는 대역도 있습니다. 49152~65535 사이인데요. 이 포트는 세션 마다 짧게 짧게 임시 생성되어 통신하는 용도로 주로 사용됩니다. 쉽게 말하면 요청할 때 출발지 포트라고 보시면 됩니다.

반응형

댓글

Designed by JB FACTORY