보안의 기본 - 방화벽
방화벽이란?
방화벽이란 '외부의 공격으로부터 방어하는 것'을 목적으로 컴퓨터에 설치하는 소프트웨어나
인터넷에 설치하는 하드웨어의 총칭입니다.
자세한 것은 이 장에서 나중에 설명하겠지만 소프트웨어/하드웨어를 포함하여 다양한 형태의 방화벽이 존재합니다.
예를 들어 패킷 필터형 방화벽이나 애플리케이션 케이트웨이형 방화벽 등이 있습니다. (아래 그림 참조.)
다음 항목에서 설명할 웹 애플리케이션 방화벽 등도 그 예입니다.
요즘은 인터넷을 경유하여 공격을 해오는 것이 당연한 상황이기 때문에
시스템의 보안을 확보하는 데 있어서 방화벽은 필수적입니다.
참고로 방화벽이란 본래는 외부의 화재로부터 몸을 보호하기 위한 것을 말합니다.
이 화재를 인터넷에서 외부의 적으로 비유하여, 그 적으로부터 보호하는 시스템을 방화벽이라 부르고 있습니다.
(유래에는 여러 설이 있습니다).
방화벽으로 통신 가능 여부를 제어
방화벽은 네트워크간 통신의 가능 여부를 제어합니다.
이때 대상이 되는 통신의 종류는 기본적인 제품의 경우 '내부 네트워크'와 '외부 네트워크', 이 두 가지 종류입니다.
사전에 이 두 종류의 네트워크를 정의한 후, 네트워크간 통신의 가능 여부를 제어합니다.
보다 고기능의 제품의 경우는 위 두 종류에 더해 'DMZ' (Demilitarized Zone: p.13)라 부르는 네트워크를 추가한
세 종류의 네트워크 간에서 통신의 가능 여부를 제어합니다.
방화벽은 보통 TPC/IP 헤더에 포함되는 IP 주소나 TCP/UDP 포트 번호, 통신 상태 등을 이용하여
통신의 가능 여부를 제어하지만 고기능 제품에서는 헤더 외의 통신 데이터를 단서로 통신을 제어할 수도 있습니다.
방화벽은 현재의 인터넷 이용을 생각하면 필수 불가결한 기능이지만 제대로 도입하기 위해서는
적절한 네트워크 설정이 필요하며 계속 가동시키기 위해서는 운용을 고려할 필요가 있습니다.