최신 Unix 운영체제들은 서버의 보안을 강화하기 위해 내부적으로 Firewall Module을 기본적으로 탑재하고 있다. Solaris, HP-UX와 같은 상용 Unix의 경우 오픈소스인 IP Filter를 자신들의 운영체제에 최적화하여 기본 운영체제 패키지 안에 포함시켜 설치되도록 하고 있다.
HP-UX에도 기본적으로 탑재되어 있는 IPF는 무척 강력한 패킷필터링 기능을 갖고 있으며 다양한 옵션에 의해 상용 네트워크 방화벽 못지않은 성능을 발휘한다.
IPF를 사용하기 위해서는 다음 두 개의 서비스모듈이 커널에 로드되어야 한다.
– ipf
– pfil
이 두개의 커널모듈이 커널에 적재(load)되어 있는지 여부는 kcmodule 명령으로 확인할 수 있다. (HPUX 11.23 이상)
이 두개의 커널모듈은 서버의 리부팅 없이 동적으로 커널에 적재(Load)되고 삭제(Unload)될 수 있는 DLKM (Dynamic Loadable Kernel Module) 형태로 만들어져 있으며 kcmodule 명령 혹은 sam 유틸리티에 의해 상태의 확인 및 부팅 시 자동로드 여부를 설정할 수 있다.
만약 앞의 kcmodule | grep -i pf 명령에 의해 두개의 모듈 즉 ipf와 pfil이 모두 “Loaded” 상태임에도 ipf의 패킷필터링 정책이 적용되지 않아 차단해야하는 포트에 원격에서 접속이 이루어진다면 ipf 모듈 두 개가 커널에 로드되어 있지만 “패킷 필터링”을 수행하지 않고 패킷을 그냥 흘려보내고(bypass) 있는 것이다. 즉 차단 정책이 적용되어 있어도 차단하지 않는 것이다.
이런 현상, 즉 ipf가 구동중이지만 정책이 적용되지 않는 현상을 확인하기 위해서는 ipfstat 명령을 실행시켜봐서 패킷을 감지하고 있는지 보거나 ipfilter -q 명령을 통해 enable 여부를 확인하여야 한다.
만약 위의 두 명령수행 결과 패킷필터링을 수행하지 않고 있다면 다음의 명령을 통해서 Enable 시켜주면 된다.
이때 주의할 점은 네트워크 설정에 오류가 있을 경우 서버의 네트워크가 다운될 수 있다는 것과 패킷필터링을 수행하기 위해 이더넷을 플럼빙할 때 새로운 세션의 연결이 잠시 차단되고 기존의 세션도 잠시 멈출 수 있다는 것이다.
패킷필터링을 중지할 때는 옵션만 바꾸어 주면 된다. 옵션은 -d 다.!!
SecureOS인 RedCastle은 이 IPF의 활용도를 극대화할 수 있도록 해준다. RedCastle에서는 GUI에서 IPF 정책을 관리(적용/수정/삭제)할 수 있도록 해주고 IPF 로그도 GUI에서 모니터링하고 검색, 조회할 수 있는 기능을 제공한다.