GCP 가상 머신에서 포트 22를 강제로 닫습니다.

GCP 가상 머신에서 포트 22를 강제로 닫습니다.

보안상의 이유로 GCP에서 가상 머신의 포트 22(ssh)를 닫고 싶습니다. 현재 명령을 실행하면 telnet xx.xx.xxx.xxx 22서버가 응답합니다.

Trying xx.xx.xxx.xxx...
Connected to xx.xx.xxx.xxx.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5

가상 머신에 접속하기 위한 방화벽 규칙을 올바르게 구성하려고 했습니다. "default-allow-ssh" 규칙의 대상에서 "apply to all"을 제거하고 가상 머신과의 접속을 거부하는 "close-ssh"라는 규칙을 생성했습니다. machine 0.0.0.0/4부터 시작하는 시스템의 모든 연결 포트 22입니다.

SSH 규칙

명령을 통해 구성을 확인하고 sudo iptables -L포트 22를 노출하는 규칙이 있는지 확인했습니다.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
DOCKER-USER  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-1  all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (3 references)
target     prot opt source               destination         

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target     prot opt source               destination         
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
DOCKER-ISOLATION-STAGE-2  all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-ISOLATION-STAGE-2 (3 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            
DROP       all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            

Chain DOCKER-USER (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere       

명령을 실행하면 nmap -p 22 xx.xx.xxx.xxx다음과 같은 출력이 나타납니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-05-10 09:56 -03
Nmap scan report for xx.xx.xxx.xxx.bc.googleusercontent.com (xx.xx.xxx.xxx)
Host is up (0.32s latency).

PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.67 seconds

답변1

방화벽 규칙은 목록의 위에서 아래로 처리됩니다. GCP VM에서 첫 번째 규칙은 SSH를 허용합니다. 필터링 중에 패킷이 규칙(또는 ACL)과 일치하면 패킷이 처리되고 목록에 있는 다른 규칙을 더 이상 통과하지 않습니다. "close-ssh" 규칙은 "default-allow-ssh" 위에 배치되어야 합니다.

관련 정보