11강 / 20강

방화벽 — 열 문만 열어 두기

ufw 로 5분 만에 잠그기

방화벽 — 열 문만 열어 두기
인터넷에 올린 서버는 1분 안에 스캔당합니다. 문부터 잠급시다.

서버를 인터넷에 올리는 순간, 여러분의 IP는 자동 스캐너들의 표적이 됩니다. 농담이 아니라 몇 분 안에 SSH 무차별 대입 시도가 시작돼요. 19강에서 그 로그를 직접 보게 될 겁니다.

대응은 간단합니다. 손님이 쓸 문만 열고 나머지는 다 잠급니다.

포트열까?이유
22 SSH조건부 ○관리에 필요. 단 사무실 IP에서만
80 HTTP○손님이 들어오는 문
443 HTTPS○자물쇠 달린 문 (13강)
3306 MySQL×DB를 인터넷에 열면 사고. 127.0.0.1 만
8000 앱×nginx를 통해서만 (7강)
갓 설치한 우분투는 방화벽이 꺼져 있습니다.
🖥️ 내 가상 서버 브라우저 안에서 실행 (계산용)
이 다섯 줄이 새 서버의 첫 보안 조치입니다.
🖥️ 내 가상 서버 브라우저 안에서 실행 (계산용)
방화벽 실험실 — 규칙을 바꾸고 밖에서 접속해 보세요
불러오는 중…

지금 바깥에서는 어떻게 보일까요

방화벽의 효과는 바깥에서 봐야 압니다. 손님 노트북에서 두드려 봅시다.

위젯에서 3306을 열어 본 뒤 다시 실행해 보세요.
💻 손님 노트북 브라우저 안에서 실행 (계산용)

SSH는 사무실 IP에서만

4강에서 배운 /32 를 쓸 차례입니다. 전 세계에 22번을 여는 대신, 우리 사무실 공인 IP 하나만 허용하는 거예요.

sudo ufw delete allow 22/tcp
sudo ufw allow from 203.0.113.50 to any port 22 proto tcp

이 한 줄로 SSH 무차별 대입 로그가 0이 됩니다. 단, 사무실 IP가 유동이라면 바뀔 때마다 규칙을 고쳐야 하니 VPN이나 클라우드 콘솔 같은 비상 출입구를 반드시 확보해 두세요.

막혔을 때의 증상 — 타임아웃

6강에서 배운 구별법을 여기서 씁니다.

방화벽이 막음
curl: (28) 시간 초과
대답 자체가 없음 — 조용히 버려짐
포트는 열렸는데 서비스가 죽음
curl: (7) Connection refused
즉시 거절 — 방화벽은 통과했다는 증거

이 둘을 구별하면 방화벽을 볼지 서비스를 볼지가 바로 정해집니다.

🤔 확인 문제
원격 SSH 접속 중입니다. 다음 중 절대 먼저 하면 안 되는 것은?
🤔 확인 문제
바깥에서 curl 이 즉시 'Connection refused' 를 냅니다. 방화벽은?