포트 포워딩 port forwarding

agnusdei·2023년 7월 27일
0

포트 포워딩은 컴퓨터 네트워크에서 사용되는 기술로서, 네트워크 상에서 데이터를 주고받을 때 특정 포트로 들어오는 데이터를 다른 포트로 전달하는 과정을 말합니다. 이는 주로 라우터나 방화벽을 통해 수행되며, 특정 네트워크 서비스나 애플리케이션이 동작하는 데 필요한 특정 포트를 외부와 통신할 수 있도록 해줍니다.

일반적으로 포트 포워딩은 두 가지 주요 방법으로 나뉩니다:

  1. 로컬 포트 포워딩 (Local Port Forwarding):
    로컬 포트 포워딩은 클라이언트가 원격 서버에 접속할 때 사용됩니다. 클라이언트에서 로컬 포트를 열어 특정 원격 서버의 포트와 연결하면, 해당 포트로 들어오는 데이터가 로컬 포트를 통해 전달됩니다. 이는 보안 상의 이유로 내부 네트워크에 접근해야 할 때 자주 사용됩니다.

예를 들어, 웹 서버에 접근하기 위해 로컬 포트 포워딩을 사용하면:

ssh -L 8080:localhost:80 user@example.com

위 명령어는 원격 서버인 example.com의 80번 포트(웹 서버)로 접근하는 것처럼 보이지만, 실제로는 로컬 머신의 8080번 포트를 통해 데이터가 전달됩니다.

  1. 원격 포트 포워딩 (Remote Port Forwarding):
    원격 포트 포워딩은 서버에서 원격 클라이언트로 데이터를 포워딩하는 방식입니다. 원격 서버에서 특정 포트를 열어 다른 원격 클라이언트의 포트와 연결하면, 해당 포트로 들어오는 데이터가 원격 서버를 통해 전달됩니다. 이는 외부에서 내부 네트워크에 접근해야 할 때 자주 사용됩니다.

예를 들어, 원격 서버의 3306번 포트에 대한 접근을 허용하고, 이를 로컬 머신의 3306번 포트로 포워딩하려면:

ssh -R 3306:localhost:3306 user@example.com

이렇게 하면 원격 서버의 3306번 포트를 통해 로컬 머신의 MySQL 서버에 접근할 수 있게 됩니다.

포트 포워딩은 보안상 주의해야 할 점이 있습니다. 잘못된 구성으로 인해 네트워크 취약점이 발생할 수 있으며, 권한이 없는 사용자가 내부 서비스에 접근할 수 있게 될 수도 있습니다. 따라서 포트 포워딩은 필요한 경우에만 사용하고, 보안 설정에 주의하여 사용해야 합니다.

profile
DevSecOps ⚙️ + Pentest 🚩

0개의 댓글