서버 운영
방화벽 규칙 변경할 때 서버 잠금 피하기
방화벽 설정을 바꿀 때는 먼저 현재 상태를 정확히 파악하고 작은 단위로 검증해야 다음 문제를 빠르게 처리할 수 있다.
서버 운영하다 보면 방화벽 규칙을 손봐야 할 일이 자주 생긴다. 막힌 포트를 열거나, 불필요한 접근을 차단하거나, 기존 설정을 정리할 때다. 여기서 자칫하면 서버 접근 자체가 끊겨서 대응이 어려워진다.
먼저 현재 상태 파악하기
방화벽을 건드리기 전에 지금 상태를 정확히 기록해두는 게 중요하다. 문제가 생겼을 때 "원래 어땠지?"를 빠르게 판단하려면 변경 전 상태가 명확해야 한다.
현재 포트 상태와 프로세스를 먼저 확인한다.
sudo ss -lntp
df -h
sudo journalctl -n 80
이 세 가지는 대부분의 서버 문제 추적의 출발점이다. 포트 상태로 어떤 서비스가 떠 있는지, 디스크 용량이 충분한지, 최근 로그에 경고는 없는지 확인한다.
규칙 변경은 한 가지씩
한 번에 여러 규칙을 바꾸면 어느 변경이 문제를 일으켰는지 파악하기 어렵다. 설령 모두 올바른 변경이더라도 동시에 적용하면 부작용을 놓치기 쉽다.
한 가지 변경을 한 후:
- 실제로 의도한 결과가 나왔는지 확인한다.
- 로그나 응답에서 바뀐 부분을 명확히 기록한다.
- 필요하면 외부에서 실제 접속을 테스트한다.
세 단계가 모두 정상일 때만 다음 변경으로 넘어간다.
권한과 설정 우선순위 확인
변경을 시작하기 전에 현재 권한 수준이 충분한지, 변경할 수 있는 영역이 무엇인지 확인한다. UFW, iptables, 네트워크 설정이 혼재하면 하나만 고쳐도 다른 곳에서 막힐 수 있다.
sudo ufw status
sudo iptables -L
어느 도구가 실제로 트래픽을 제어하는지 확인하고, 그쪽만 건드린다.
변경 후 되돌릴 방법 준비
문제가 생기면 빠르게 원래 상태로 돌아가야 한다. 미리 설정을 백업해두거나, 변경 명령 대신 되돌리기 명령을 미리 준비해두면 도움이 된다.
# 변경 전 백업
sudo cp /etc/ufw/rules.v4 /etc/ufw/rules.v4.bak.$(date +%Y%m%d)
이렇게 남겨두면 나중에 어떤 상태였는지 빠르게 확인할 수 있다.
작은 확인이 쌓이면 원인이 명확해진다
비슷한 문제가 반복되면, 매번 같은 확인 순서를 거치도록 자신만의 체크리스트를 만들어두자. 포트 상태, 프로세스 상태, 최근 변경 로그 이렇게 세 가지만 순서대로 확인해도 원인 찾기가 훨씬 빨라진다.