본문 바로가기
🚀 IT/✏️TIL

🧱 방화벽(Firewall) 기본 개념 및 실무 정리

by higyeong 2025. 4. 29.

✨ 방화벽(Firewall) 기본 개념 및 실무 정리 + 서버 QA 실무 관점

방화벽이란?

  • 방화벽(Firewall) 은 네트워크 보안을 위해 설치하는 장치 또는 소프트웨어.
  • 외부(인터넷)와 내부(사설망) 사이를 통제하여, 허용된 트래픽만 통과시키고, 나머지는 차단한다.
  • 주로 포트, IP 주소, 프로토콜 기준으로 접근을 제어한다.

방화벽의 역할

역할 설명
접근 제어 승인된 사용자나 서비스만 네트워크에 접근 허용
트래픽 모니터링 들어오고 나가는 트래픽 기록 및 분석
공격 차단 DoS, DDoS, 포트 스캐닝 등 외부 공격 차단
내부 네트워크 보호 내부 시스템을 악성코드/해킹 시도로부터 보호

방화벽 종류

구분 설명
하드웨어 방화벽 별도 장비(장비형)로 네트워크 입구에 설치 (ex. Cisco ASA, Fortinet 등)
소프트웨어 방화벽 서버나 PC에 설치하는 프로그램 형태 (ex. iptables, ufw, Windows Firewall)

방화벽 주요 동작 방식

  1. 기본 정책
    • 허용 리스트(Whitelist) 방식 : 명시한 것만 통과시키고 나머지는 차단.
    • 차단 리스트(Blacklist) 방식 : 명시한 것만 차단하고 나머지는 허용.
  2. 규칙(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 실무에서도 필수로 신경 써야 할 항목이다.
  • 테스트 준비 단계에서 방화벽 정책 점검을 꼭 하고, 장애 발생 시에는 네트워크/방화벽 로그를 빠르게 확인하는 습관을 들이자.