1. 라이브러리
  2. 포트
  3. 주요 포트 참조표

업데이트됨 1개월 전

포트 22는 인터넷 너머의 컴퓨터와 은밀하게 대화하고 싶을 때 두드리는 문입니다.

SSH(Secure Shell)의 기본 포트로서, 이 포트는 원격 관리로 들어가는 관문입니다. 시스템 관리자, 개발자, DevOps 팀이 서버를 안전하게 관리하고, 파일을 전송하며, 적대적인 네트워크를 통해 터널링하는 방법이죠. 손으로 직접 만질 수 없는 서버에 명령어를 입력해 본 적이 있다면, 그건 SSH 덕분입니다.

SSH가 해결한 문제

SSH 이전의 원격 접속은, 내막을 알고 있다면, 섬뜩한 일이었습니다.

Telnet으로 원격 시스템에 로그인할 수 있었습니다. FTP로 파일을 전송할 수 있었습니다. 둘 다 혁명적이었습니다—그리고 둘 다 모든 것을 평문으로 전송했습니다. 모든 키 입력. 모든 비밀번호. 모든 파일. 나와 서버 사이의 네트워크 경로에 있는 누구든 모든 것을 볼 수 있었습니다.

1995년 초, 누군가 핀란드 헬싱키 공과대학교의 네트워크 백본에 패스워드 스니퍼를 심었습니다. 악성코드도 아니었습니다—진짜 하드웨어가 조용히 네트워크를 가로지르는 수천 개의 사용자 이름과 비밀번호를 기록하고 있었습니다. 그 인증 정보 중 일부는 해당 대학의 연구원인 Tatu Ylönen이 운영하는 회사 직원들의 것이었습니다.

Ylönen의 대응이 바로 SSH였습니다: 클라이언트와 서버 간의 전체 대화를 암호화하는 프로토콜. 3개월간의 암호학과 네트워크 프로그래밍 끝에 SSH 1.0이 완성되었습니다. 네트워크는 더 이상 당신의 비밀을 엿볼 수 없게 됩니다. 비밀번호, 명령어, 파일 내용—모두 도청을 무의미하게 만드는 암호화로 감싸집니다.

왜 포트 22인가?

1995년 7월, SSH 1.0을 발표하기 하루 전날, Ylönen은 IANA에 포트 번호를 요청하는 이메일을 보냈습니다. 그는 특별히 포트 22를 요청했는데, 이 포트는 미할당 상태였고 SSH가 대체하도록 설계된 두 프로토콜인 Telnet(포트 23)과 FTP(포트 21) 사이에 위치해 있었기 때문입니다. 다음 날, Joyce Reynolds가 답장을 보냈습니다: "ssh에 포트 번호 22를 할당했습니다."1

그것이 당시 인터넷이 작동하던 방식이었습니다. 적절한 사람에게 이메일 한 통을 보내면 포트 번호를 받을 수 있었죠. 1995년 말까지 SSH는 50개국에서 20,000명의 사용자를 확보했습니다. 2000년에는 200만 명이 되었습니다.

포트 22에서 일어나는 일

ssh user@server.com을 입력하면, 클라이언트가 해당 서버의 포트 22에 접속을 시도합니다. SSH 데몬(서버 측 소프트웨어)이 수신 대기 중입니다. 양측은 암호화 방식을 협상하고, 서로의 신원을 확인하며, 보안 채널을 구축합니다. 그 순간부터 당신과 서버 사이의 모든 것은 암호화됩니다.

그 채널을 통해 무엇을 할 수 있을까요?

원격 명령 실행: 서버 키보드 앞에 앉아 있는 것처럼 로그인하여 명령어를 입력합니다. 이것이 대부분의 서버를 관리하는 방식입니다—데이터 센터의 헤드리스 서버들은 모니터나 키보드도 없이, 전 세계에서 오는 SSH 명령에 응답합니다.

파일 전송: SCP와 SFTP는 SSH의 암호화를 사용하여 파일을 안전하게 이동합니다. 안전하지 않은 FTP 프로토콜은 수십 년 전에 사라졌어야 했는데, SSH가 그 대안을 제시했습니다.

터널링: SSH는 한 포트에서 다른 포트로 트래픽을 전달해 네트워크를 통한 암호화된 통로를 만들 수 있습니다. 로컬 연결만 허용하는 데이터베이스에 접근해야 하나요? SSH를 통해 터널링하면 됩니다. 중간 서버를 거쳐 트래픽을 라우팅해야 하나요? SSH로 가능합니다. 명령어 하나로 만드는 VPN입니다.

포트 22는 끊임없는 공격을 받고 있습니다

불편한 진실 하나: 포트 22를 인터넷에 노출하면, 공격을 받게 됩니다. 받을 수도 있다가 아닙니다. 반드시 받습니다.

자동화된 봇들이 열린 SSH 포트를 찾아 인터넷 전체를 스캔합니다. 포트를 발견하면 비밀번호를 추측하기 시작합니다. 일반적인 사용자 이름, 흔한 비밀번호, 사전 공격—매시간 수천 번의 시도가, 쉬지 않고, 끝없이 이어집니다. 공개 서버에서 SSH 로그를 확인해 보면 증거를 볼 수 있습니다: 전 세계 IP 주소에서 쏟아지는 로그인 실패 기록들.

그래서 포트 22의 보안이 다른 어느 곳보다 더 중요합니다.

실제로 효과가 있는 보안

키 기반 인증: SSH는 비밀번호 대신 암호화 키 쌍을 사용하여 인증할 수 있습니다. 개인 키는 내 컴퓨터에, 공개 키는 서버에 보관합니다. 연결 시, 개인 키를 전송하지 않고도 그것을 소유하고 있다는 것을 증명합니다. 추측할 비밀번호가 없습니다. 무차별 대입 공격이 불가능합니다. 이것이 취할 수 있는 가장 중요한 보안 조치입니다.

비밀번호 인증 완전 비활성화: 키 기반 인증이 작동하면, 비밀번호 인증을 끄세요. 이제 자동화된 봇들은 존재하지도 않는 문을 두드리는 셈입니다.

루트 로그인 비활성화: 누구도 루트로 직접 SSH에 접속하게 하지 마세요. 일반 사용자로 로그인한 다음 sudo로 권한을 높이세요. 더 나은 감사 추적, 더 좁은 공격 표면을 확보할 수 있습니다.

SSH 업데이트 유지: OpenSSH는 훌륭한 보안 기록을 가지고 있지만, 가끔씩 취약점이 발견됩니다. 인터넷에 노출된 다른 소프트웨어처럼 SSH도 꾸준히 업데이트하세요.

포트 변경 논쟁

자주 권장되는 방법: SSH를 포트 22에서 2222나 22222 같이 잘 알려지지 않은 포트로 옮기세요. 자동화된 공격이 포트 22를 표적으로 하므로, 다른 포트에 숨으면 소음이 줄어든다는 논리입니다.

이것은 "은폐를 통한 보안"이고, 의견이 분분합니다.

비판론자들이 이것이 진정한 보안이 아니라는 점에서는 옳습니다. 포트 스캐닝은 어디에 숨겨도 SSH를 찾아냅니다. 작정한 공격자는 속지 않습니다.

하지만 지지자들도 일리가 있습니다: 대부분의 공격은 작정한 것이 아닙니다. 찾을 수 있는 모든 IP 주소의 포트 22를 두드리는 자동화된 스크립트입니다. 포트를 옮기면 실제로 공격량이 99%나 줄어듭니다. 로그가 조용해집니다. 서버가 무의미한 연결을 거부하는 데 CPU를 덜 낭비합니다.

집 열쇠를 다른 돌 아래 숨기는 것과 같습니다. 당신을 특별히 노리는 도둑은 막지 못합니다. 하지만 뻔한 곳만 확인하는 게으른 기회주의자는 막을 수 있습니다.

포트 변경을 진정한 보안의 대안으로 여기지 마세요. 하지만 여러 보안 계층 중 하나로? 분명히 가치가 있습니다.

현대 세계의 SSH

클라우드 인프라는 SSH 위에서 돌아갑니다. AWS, Azure, Google Cloud에서 서버를 시작하면 어떻게 접속하나요? SSH 키입니다. Ansible 같은 구성 관리 도구는 SSH를 통해 서버에 연결합니다. 개발자들은 SSH를 통해 Git으로 코드를 푸시합니다. 컨테이너가 일부 전통적인 서버 관리를 대체하고 있을지 모르지만, SSH는 언제나 믿을 수 있는 마지막 수단으로 남아 있습니다—다른 모든 것이 실패했을 때 서버에 접근하는 방법입니다.

일부 조직은 직접적인 SSH 노출을 줄이면서 프로덕션 시스템에 브라우저 기반 콘솔과 API 기반 접속을 도입하고 있습니다. 특정 사용 사례에서는 이런 접근 방식도 충분한 장점이 있습니다. 하지만 예측 가능한 미래 동안, 포트 22의 SSH는 원격 서버 접속의 토대로 남을 것입니다.

왜 이것이 중요한가

포트 22는 중요한 무언가를 나타냅니다: 신뢰할 수 없는 네트워크를 통해 안전하게 작업할 수 있는 능력.

SSH 이전에는 원격 관리를 위해 나와 서버 사이의 모든 사람을 신뢰해야 했습니다. 그 신뢰는 잘못 놓인 것이었습니다—네트워크에는 엿듣는 자들이 가득합니다. SSH는 대화를 사적으로 만들어 그 신뢰의 필요성을 제거했습니다.

30년이 지난 지금도 이 프로토콜은 여전히 필수적입니다. 암호화는 더욱 강력해지고, 구현은 더욱 정교해졌지만, 핵심 약속은 변하지 않았습니다: 지구 반대편의 서버를 관리할 수 있고, 중간에서 엿듣는 누구도 한 마디도 이해하지 못합니다.

SSH와 포트 22에 관한 자주 묻는 질문

왜 포트 22는 항상 해커들의 표적이 되나요?

포트 22는 SSH의 기본 포트로, 달리 설정하지 않으면 전 세계 모든 SSH 서버가 여기서 수신 대기합니다. 자동화된 공격 도구들은 이를 알기 때문에 먼저 포트 22를 스캔합니다. 문들이 있는 곳이 바로 여기이므로, 침입자들도 여기를 두드립니다.

포트 22를 인터넷에 노출해도 안전한가요?

적절한 보안—키 기반 인증, 비밀번호 인증 비활성화, 최신 소프트웨어—을 갖추면 안전합니다. 수백만 개의 서버가 포트 22를 안전하게 노출하고 있습니다. 위험은 취약한 구성에서 옵니다: 추측하기 쉬운 비밀번호를 사용하는 비밀번호 인증, 오래된 SSH 소프트웨어, 루트 로그인 허용. 이것들을 차단하면 포트 22는 인터넷에 안전하게 노출될 수 있습니다.

SSH, SCP, SFTP의 차이점은 무엇인가요?

SSH는 암호화된 연결을 수립하는 프로토콜입니다. SCP(Secure Copy)와 SFTP(SSH File Transfer Protocol)는 SSH의 보안 채널 위에서 실행되는 파일 전송 방법입니다. SSH를 암호화된 터널이라고 생각하면, SCP와 SFTP는 그 터널을 통해 파일을 이동하는 서로 다른 방법입니다.

SSH를 다른 포트로 변경해야 하나요?

위협 모델에 따라 다릅니다. 포트를 변경하면 자동화된 공격 소음이 크게 줄어들지만 표적 공격은 막지 못합니다. 개인 서버를 운영하며 로그를 조용하게 유지하고 싶다면 변경해도 됩니다. 중요한 인프라를 운영한다면 키 기반 인증과 적절한 보안 강화에 집중하세요—포트 변경은 작은 보안 계층일 뿐, 해결책이 아닙니다.

출처

이 페이지가 도움이 되었나요?

😔
🤨
😃