🚀 IT/✏️TIL
🧱 방화벽(Firewall) 기본 개념 및 실무 정리
by higyeong
2025. 4. 29.
✨ 방화벽(Firewall) 기본 개념 및 실무 정리 + 서버 QA 실무 관점
방화벽이란?
- 방화벽(Firewall) 은 네트워크 보안을 위해 설치하는 장치 또는 소프트웨어.
- 외부(인터넷)와 내부(사설망) 사이를 통제하여, 허용된 트래픽만 통과시키고, 나머지는 차단한다.
- 주로 포트, IP 주소, 프로토콜 기준으로 접근을 제어한다.
방화벽의 역할
역할 |
설명 |
접근 제어 |
승인된 사용자나 서비스만 네트워크에 접근 허용 |
트래픽 모니터링 |
들어오고 나가는 트래픽 기록 및 분석 |
공격 차단 |
DoS, DDoS, 포트 스캐닝 등 외부 공격 차단 |
내부 네트워크 보호 |
내부 시스템을 악성코드/해킹 시도로부터 보호 |
방화벽 종류
구분 |
설명 |
하드웨어 방화벽 |
별도 장비(장비형)로 네트워크 입구에 설치 (ex. Cisco ASA, Fortinet 등) |
소프트웨어 방화벽 |
서버나 PC에 설치하는 프로그램 형태 (ex. iptables, ufw, Windows Firewall) |
방화벽 주요 동작 방식
- 기본 정책
- 허용 리스트(Whitelist) 방식 : 명시한 것만 통과시키고 나머지는 차단.
- 차단 리스트(Blacklist) 방식 : 명시한 것만 차단하고 나머지는 허용.
- 규칙(Rule)
- 조건 기반 규칙 작성 (ex. IP, PORT, PROTOCOL 조합)
- 예시:
- 80 포트(HTTP) 허용
- 22 포트(SSH) 특정 IP만 허용
- 나머지 포트 차단
리눅스 서버에서 방화벽 설정 예시
(iptables 기준)
# 포트 22(SSH) 허용
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 포트 80(HTTP) 허용
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 나머지 모든 연결 거부
iptables -A INPUT -j DROP
# 설정 저장
service iptables save
(요즘은 iptables 대신 firewall, ufw 같은 걸 많이 쓴다)
서버 QA 입장에서 본 실무적 관점 🧠
항목 |
실무 팁 |
QA 테스트 서버는 운영 서버와 별도 규칙 필요 |
실서버와 QA 서버는 테스트 목적이 다르므로, 필요한 포트 오픈 범위가 달라야 함. 운영 규칙 복사 금지. |
기능 QA 시 방화벽 오픈 요청을 사전에 체크 |
새 서비스나 기능 테스트 전에 필요한 포트/프로토콜 미리 확인. 테스트 당일 차단돼서 지연되는 일 방지. |
장애 발생 시 방화벽 로그 체크 |
통신 장애(503 오류 등) 발생 시, 서버-서버, 서버-DB 간 방화벽 로그부터 확인하는 게 빠르다. |
IP 변경 이슈에 민감 |
테스트 환경이든 운영 환경이든 서버 IP가 바뀌면 방화벽 규칙도 업데이트 필요. 안 하면 서비스 단절. |
트래픽 테스트 전 임시 오픈 필요 여부 확인 |
대량 트래픽 모의 테스트할 때, 한시적으로 방화벽 오픈할지 논의 필요. (테스트 후 다시 닫아야 함.) |
📝 Tip:
서버 QA는 단순히 기능만 보는 게 아니라, "네트워크 연결/포트 정책" 도 같이 확인해야 한다.
특히 서버 간 통신이 필요한 API 테스트에서는 방화벽 오픈 여부가 선결 조건이다.
테스트 실패 원인이 방화벽 차단 때문일 수도 있으니 로그와 설정을 항상 같이 본다.
방화벽이 없으면 발생하는 문제
항목 |
문제점 |
무차별 공격 노출 |
SSH brute-force 공격, 무작위 로그인 시도 |
서비스 장애 |
외부 트래픽 과다 유입으로 서버 과부하 |
데이터 유출 |
서버 내부 정보가 외부로 전송될 수 있음 |
해킹 피해 |
악성 코드 설치, 시스템 장악 위험 |
요약 ✍️
- 방화벽은 네트워크 보안의 첫 번째 방어선이다.
- 서버 QA 실무에서도 필수로 신경 써야 할 항목이다.
- 테스트 준비 단계에서 방화벽 정책 점검을 꼭 하고, 장애 발생 시에는 네트워크/방화벽 로그를 빠르게 확인하는 습관을 들이자.