0Pricing
Linux Server Deployment & SSH Mastery · 강의

포트 관리 및 보안

서비스에 필요한 특정 포트를 열고 닫으며 포트 전달을 구현하고 열린 포트와 관련된 일반적인 공격 경로를 이해합니다.

포트 관리 및 보안은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

네트워크 포트란 무엇인가요?

서버를 아파트 건물이라고 생각해 보겠습니다. 각 아파트에는 번호가 있고 방문객은 어느 아파트로 가야 하는지 알아야 합니다. 네트워킹에서 이러한 ‘아파트 번호’를 포트라고 합니다.

네트워크 포트는 통신 종단점입니다. 서버가 들어오는 네트워크 트래픽을 올바른 서비스나 애플리케이션으로 전달하도록 도와줍니다. 각 포트에는 0부터 65535까지의 고유한 번호가 할당됩니다.

일반적인 포트 번호

많은 서비스가 표준으로 잘 알려진 포트 번호를 사용합니다. 이러한 번호를 알면 서비스를 식별하고 방화벽을 구성하는 데 도움이 됩니다.

  • 포트 22: 원격 접근을 위한 SSH(Secure Shell)에 사용됩니다.
  • 포트 80: 일반적인 웹 트래픽을 위한 HTTP(Hypertext Transfer Protocol)에 사용됩니다.
  • 포트 443: 암호화된 웹 트래픽을 위한 HTTPS(HTTP Secure)에 사용됩니다.
  • 포트 53: DNS(Domain Name System) 이름 확인에 사용됩니다.

이는 몇 가지 예일 뿐이며 다양한 애플리케이션에 사용되는 포트는 수천 개가 있습니다.

수신 대기 중인 포트 확인하기

새 포트를 열기 전에 서버에서 이미 활성화된 포트를 확인하는 것이 좋습니다. ss 명령(소켓 통계)은 네트워크 소켓을 검사하는 최신 도구입니다.

-ltn 옵션은 수신 대기 중인 TCP 소켓을 숫자로 표시하며 호스트 이름은 확인하지 않습니다.

ss -ltn

UFW로 포트 관리하기

UFW(Uncomplicated Firewall)는 Ubuntu 및 기타 Debian 기반 시스템에서 널리 사용하는 방화벽 관리 도구입니다. iptables 규칙 구성을 간소화합니다.

트래픽을 허용하거나 거부하려면 포트 번호와 프로토콜(TCP 또는 UDP)을 지정합니다. 변경한 후에는 UFW를 다시 불러오거나 활성화해야 합니다.

sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw enable

firewalld로 포트 관리하기

CentOS, RHEL, Fedora 시스템에서는 firewalld가 기본 방화벽 관리 도구입니다. firewalld는 서로 다른 네트워크 인터페이스를 관리하기 위해 ‘영역’을 사용합니다.

일반적으로 인터넷에 연결된 서비스에는 public 영역을 사용하여 영역에 규칙을 추가한 다음, firewalld를 다시 불러와 변경 사항을 적용합니다.

sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=22/tcp --permanent
sudo firewall-cmd --reload

포트 포워딩 소개

포트 포워딩은 네트워크 트래픽을 한 포트에서 다른 포트로 전달하는 기술입니다. 같은 컴퓨터에서 수행할 수도 있고 한 컴퓨터에서 다른 컴퓨터로 수행할 수도 있습니다.

외부 장치가 사설 네트워크의 서비스에 접근하도록 하거나 중간 서버를 통해 트래픽을 안전하게 터널링할 때 자주 사용됩니다.

SSH를 사용한 로컬 포트 포워딩

일반적인 포트 포워딩 유형 중 하나는 SSH를 사용하는 로컬 포트 포워딩입니다. 이 방식은 로컬 컴퓨터에서 원격 서버까지, 그리고 원격 서버에서 다른 대상 호스트와 포트까지(대상은 원격 서버 자체일 수도 있습니다) 안전한 터널을 만듭니다.

데이터베이스나 내부 웹 애플리케이션처럼 인터넷에 직접 노출되지 않은 원격 사설 네트워크의 서비스에 접근할 때 유용합니다.

SSH 로컬 포워딩 예시

SSH 로컬 포트 포워딩을 사용하는 방법은 다음과 같습니다. 이 명령은 your_server_ip에 대한 SSH 연결을 통해 로컬 컴퓨터의 8080 포트에서 원격 서버 자체인 localhost의 80 포트로 트래픽을 전달합니다.

연결되면 로컬 컴퓨터에서 http://localhost:8080으로 이동하여 원격 웹 서버(포트 80)에 접근할 수 있습니다.

ssh -L 8080:localhost:80 user@your_server_ip

포트 보안 모범 사례

포트 관리는 서버 보안에 매우 중요합니다. 주요 실천 방법은 다음과 같습니다.

  • 최소 권한 원칙: 서비스가 작동하는 데 반드시 필요한 포트만 엽니다.
  • 정기 감사: 방화벽 규칙과 현재 수신 대기 중인 포트를 주기적으로 확인하여 승인되지 않은 포트가 열려 있지 않은지 확인합니다.
  • 강력한 비밀번호/키: SSH와 같은 서비스에는 항상 강력한 인증을 사용합니다.
  • 접속률 제한: 무차별 대입 공격을 방지하기 위해 SSH와 같은 중요한 포트에 대한 연결 시도를 제한하는 방법을 고려합니다.

빠른 확인: 포트 관리

서버 포트를 관리할 때 좋은 보안 실천 방법으로 간주되는 것은 무엇입니까?

복습: 포트와 보안

이 강의에서는 서버 서비스로 트래픽을 전달하는 데 필수적인 네트워크 포트를 살펴보았습니다. 일반적인 포트 번호와 ss로 수신 대기 중인 포트를 확인하는 방법을 배웠습니다.

이제 UFW와 firewalld를 사용하여 방화벽 규칙을 관리하는 방법과 SSH 로컬 포트 포워딩의 개념을 이해하셨을 것입니다. 또한 서버를 안전하게 유지하기 위한 포트 보안 모범 사례도 다뤘습니다.

자주 묻는 질문

“포트 관리 및 보안” 강의는 무료인가요?

네 — “포트 관리 및 보안” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“포트 관리 및 보안”에서 뭘 배우나요?

서비스에 필요한 특정 포트를 열고 닫으며 포트 전달을 구현하고 열린 포트와 관련된 일반적인 공격 경로를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“포트 관리 및 보안” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 기본 네트워크 구성
  2. 방화벽 이해하기(UFW/firewalld)
  3. 포트 관리 및 보안
  4. DNS 구성과 문제 해결
← Linux Server Deployment & SSH Mastery(으)로 돌아가기