12방화벽 활성화 전 보안방화벽 활성화 전 보안
게이트웨이가 부팅 중이거나 정책이 아직 설치되지 않은 그 짧은 빈틈 에도 네트워크가 무방비로 노출되어서는 안 됩니다. 그래서 Check Point Security Gateway에는 정식 보안 정책이 동작하기 전에도 최소한의 보호를 제공하는 기준 보안(baseline security) 이 들어 있습니다. 이 장은 그 기준 보안이 무엇으로 이루어지는지, 어떻게 동작하고 어떻게 손보는지, 그리고 그것이 부팅을 막아 버릴 때 어떻게 빠져나오는지까지 원문에 담긴 모든 절차와 명령·표·주의사항을 빠짐없이 풀어 정리합니다.
기준 보안은 두 겹 으로 되어 있습니다.
| 기준 보안 이름 | 정책 이름 | 설명 |
|---|---|---|
| Boot Security | defaultfilter | 부팅 과정 동안의 보안. |
| Initial Policy | InitialPolicy | 정책을 처음 설치하기 전까지, 또는 게이트웨이가 정책 로드에 실패했을 때의 보안. |
이 장에서 다루는 명령들의 자세한 사용법은 명령줄·커널 참조에서 가리키는 R82 CLI Reference Guide에 있습니다. 핵심만 미리 정리하면 다음과 같습니다.
| 명령 | 설명 | |
|---|---|---|
$CPDIR/bin/cpstat -f policy fw | 현재 설치된 정책을 보여 줍니다. | |
| `$FWDIR/bin/control_bootsec {-r \ | -R}` | Boot Security를 끕니다(disable). |
| `$FWDIR/bin/control_bootsec [-g \ | -G]` | Boot Security를 켭니다(enable). |
| `$FWDIR/bin/comp_init_policy [-u \ | -U]` | 로컬 state 정책을 삭제합니다. |
| `$FWDIR/bin/comp_init_policy [-g \ | -G]` | 로컬 state Initial Policy를 만듭니다. |
$FWDIR/bin/fw unloadlocal | 현재 설치된 정책을 내립니다(unload). |
Boot Security와 Default Filter
Boot Security 는 부팅 동안 게이트웨이와 그 네트워크를 보호하기 위해 두 가지 일을 합니다.
- Linux OS 커널의 IP Forwarding을 끕니다.
- Default Filter Policy를 로드 합니다.
Default Filter Policy
Default Filter Policy(defaultfilter) 는 게이트웨이가 켜지는 순간부터, 사용자 정의 Security Policy가 설치될 때까지 게이트웨이를 보호합니다. 앞서 말했듯 Boot Security가 IP Forwarding을 끄고 이 Default Filter Policy를 로드하는 식으로 동작합니다.
게이트웨이에는 세 가지 Default Filter 템플릿 이 준비되어 있습니다.
| Default Filter 모드 | 정책 파일 | 설명 |
|---|---|---|
| Boot Filter | $FWDIR/lib/defaultfilter.boot | 게이트웨이 인터페이스에 할당된 IP 주소를 출발지로 가진 들어오는 패킷은 모두 드롭 하고, 게이트웨이에서 나가는 패킷은 모두 허용 합니다. |
| Drop Filter | $FWDIR/lib/defaultfilter.drop | 게이트웨이의 들어오는·나가는 패킷을 모두 드롭 합니다. |
| DAG Filter | $FWDIR/lib/defaultfilter.dag | 동적으로 IP를 할당받는 게이트웨이(DAG)용 입니다. 모든 DHCP 요청과 DHCP 응답을 허용 하면서, 나머지는 Boot Filter와 동일하게 동작합니다(인터페이스 IP를 출발지로 한 들어오는 패킷은 드롭, 나가는 패킷은 허용). |
Default Filter Policy 선택하기
원하는 Default Filter를 고르는 절차입니다. 큰 줄기는 기존 파일 백업 → 템플릿 복사 → 컴파일 → 부팅 경로에 복사 → 시리얼 콘솔 연결 후 재부팅 입니다.
| 단계 | 할 일 |
|---|---|
| 1 | 게이트웨이에 Security Policy를 구성하고 설치해 두었는지 확인합니다. |
| 2 | 게이트웨이 명령줄에 접속합니다. |
| 3 | Expert mode에 로그인합니다. |
| 4 | 현재 Default Filter Policy 파일을 백업합니다. |
| 5 | 새 Default Filter Policy 파일을 만듭니다(원하는 모드 하나 선택). |
| 6 | 새 Default Filter 파일을 컴파일합니다. |
| 7 | Default Filter Policy 파일의 경로를 확인합니다. |
| 8 | 컴파일된 파일을 그 경로로 복사합니다. |
| 9 | 게이트웨이에 시리얼 콘솔로 연결 되어 있는지 확인합니다. |
| 10 | 게이트웨이를 재부팅합니다. |
4단계 — 현재 파일 백업
cp -v $FWDIR/conf/defaultfilter.pf{,_BKP}5단계 — 새 Default Filter Policy 파일 만들기. 세 모드 중 하나를 골라 해당 템플릿을 $FWDIR/conf/defaultfilter.pf로 복사합니다.
# Boot Filter를 쓰려면
cp -v $FWDIR/lib/defaultfilter.boot $FWDIR/conf/defaultfilter.pf
# Drop Filter를 쓰려면
cp -v $FWDIR/lib/defaultfilter.drop $FWDIR/conf/defaultfilter.pf
# DAG Filter를 쓰려면
cp -v $FWDIR/lib/defaultfilter.dag $FWDIR/conf/defaultfilter.pf6단계 — 컴파일. fw defaultgen 을 실행하면 컴파일된 파일이 만들어집니다.
fw defaultgen- IPv4 트래픽용 컴파일 결과 파일:
$FWDIR/state/default.bin - IPv6 트래픽용 컴파일 결과 파일:
$FWDIR/state/default.bin6
7단계 — Default Filter Policy 파일의 경로 확인
$FWDIR/boot/fwboot bootconf get_def예시:
[Expert@MyGW:0]# $FWDIR/boot/fwboot bootconf get_def
/etc/fw.boot/default.bin
[Expert@MyGW:0]#8단계 — 컴파일된 파일을 그 경로로 복사
# IPv4 트래픽용
cp -v $FWDIR/state/default.bin /etc/fw.boot/default.bin
# IPv6 트래픽용
cp -v $FWDIR/state/default.bin6 /etc/fw.boot/default.bin6커스텀 Default Filter 만들기
Check Point INSPECT 언어를 아는 관리자는 템플릿을 바탕으로 자신만의 Default Filter 를 정의할 수 있습니다.
절차는 표준 선택 절차와 거의 같고, 중간에 INSPECT 코드를 직접 편집하는 단계 가 추가됩니다.
| 단계 | 할 일 |
|---|---|
| 1 | 게이트웨이에 Security Policy를 구성·설치해 두었는지 확인합니다. |
| 2 | 게이트웨이 명령줄에 접속합니다. |
| 3 | Expert mode에 로그인합니다. |
| 4 | 현재 Default Filter Policy 파일을 백업합니다. |
| 5 | 템플릿을 골라 새 Default Filter Policy 파일을 만듭니다. |
| 6 | 새 파일을 편집해 필요한 INSPECT 코드를 넣 습니다. |
| 7 | 새 Default Filter 파일을 컴파일합니다. |
| 8 | Default Filter Policy 파일의 경로를 확인합니다. |
| 9 | 컴파일된 파일을 그 경로로 복사합니다. |
| 10 | 게이트웨이에 시리얼 콘솔로 연결되어 있는지 확인합니다. |
| 11 | 게이트웨이를 재부팅합니다. |
4·5단계의 명령은 앞 절과 동일합니다(백업: cp -v $FWDIR/conf/defaultfilter.pf{,_BKP}, 템플릿 복사: defaultfilter.boot/.drop/.dag 중 하나를 $FWDIR/conf/defaultfilter.pf로).
7단계 컴파일(fw defaultgen → $FWDIR/state/default.bin, default.bin6), 8단계 경로 확인($FWDIR/boot/fwboot bootconf get_def), 9단계 복사(/etc/fw.boot/default.bin, default.bin6)는 모두 표준 절차와 같습니다.
유지보수에 Default Filter 활용하기
유지보수를 위해 게이트웨이를 잠시 멈춰야 할 때가 있습니다. 그렇다고 게이트웨이를 네트워크에서 떼어 내는 것이 항상 현실적이지는 않 습니다(예: 원격 사이트에 있는 게이트웨이). 이때는 보안을 유지한 채 멈추도록 다음 두 가지 cpstop 변형을 쓸 수 있습니다.
| 명령 | 동작 |
|---|---|
cpstop -fwflag -default | Check Point 프로세스를 내리고, Default Filter Policy(defaultfilter)를 로드 합니다. |
cpstop -fwflag -proc | Check Point 프로세스를 내리되, 현재 로드된 커널 정책을 유지 하고 Connections 테이블도 유지 합니다. 덕분에 cpstart 이후 패킷이 "out of state"라는 이유로 드롭되는 일을 막을 수 있습니다. |
Initial Policy
게이트웨이 관리자가 Security Policy를 처음으로 설치하기 전까지 의 보안은 Initial Policy 가 집행합니다.
Initial Policy는 Default Filter Policy에 미리 정의된 implied rule(암시적 규칙)을 더해 동작합니다. 이 implied rule들은 대부분의 통신은 금지하되, Security Policy 설치에 필요한 통신만 허용 합니다.
Initial Policy는 Check Point 제품 업그레이드 중 , 게이트웨이에서 SIC 인증서를 재설정할 때 , 또는 Check Point 제품 라이선스가 만료된 경우 에도 게이트웨이를 보호합니다.
부팅부터 Security Policy가 처음 로드될 때까지의 동작 순서는 다음과 같습니다.
| 단계 | 동작 |
|---|---|
| 1 | 게이트웨이가 부팅됩니다. |
| 2 | IP Forwarding을 끄고 Default Filter Policy를 로드합니다. |
| 3 | 인터페이스를 구성합니다. |
| 4 | 게이트웨이 서비스들이 시작됩니다. |
| 5 | 로컬 디렉터리에서 Initial Policy를 fetch합니다. |
| 6 | 관리자가 Management Server에서 사용자 정의 Security Policy를 설치합니다. |
게이트웨이는 관리자가 사용자 정의 정책을 설치할 때까지 Initial Policy를 집행 합니다. 그 뒤의 재부팅부터는 Default Filter Policy 다음에 사용자 정의 정책이 곧바로 로드 됩니다.
Standalone과 Distributed에서의 차이
구성 방식에 따라 Initial Policy가 허용하는 통신 범위가 다릅니다.
- Standalone — Security Management Server와 Security Gateway가 같은 컴퓨터에 있는 구성입니다. 이때 Initial Policy는 CPMI 관리 통신만 허용 해, SmartConsole 클라이언트가 Security Management Server에 붙을 수 있게 합니다.
- Distributed — Management Server와 Gateway가 서로 다른 컴퓨터에 있는 구성입니다. 이때 Initial Policy는 SIC(신뢰 수립)와 정책 설치를 위해
cpd·fwd데몬의 통신만 허용 하고, 게이트웨이를 통한 CPMI 연결은 허용하지 않 습니다. 따라서 SmartConsole이 Initial Policy 상태의 게이트웨이 너머에 있는 Management Server에 접속해야 한다면, 연결이 막힐 수 있습니다.
문제 해결 — 재부팅이 끝나지 않을 때
일부 구성에서는 Default Filter Policy가 부팅에 필요한 트래픽까지 막아 설치 후 재부팅이 끝나지 않 는 경우가 있습니다.
먼저 Default Filter를 살펴보세요 — 부팅 절차에 필요한 트래픽을 그 Default Filter가 허용하고 있나요? 그래도 부팅이 정상적으로 끝나지 않으면, 다음 절차로 Default Filter를 제거합니다.
| 단계 | 할 일 |
|---|---|
| 1 | 게이트웨이에 시리얼 콘솔 로 접속합니다. |
| 2 | 게이트웨이를 재부팅합니다. |
| 3 | 부팅 중 아무 키나 눌러 Boot Menu 에 진입합니다. |
| 4 | Start in maintenance mode 를 선택합니다. |
| 5 | Expert mode 암호를 입력합니다. |
| 6 | Default Filter가 다시 로드되지 않도록 설정 합니다. |
| 7 | boot.conf의 DEFAULT_FILTER_PATH 값을 확인합니다. |
| 8 | 게이트웨이를 재부팅합니다. |
6단계 — Default Filter가 다시 로드되지 않도록 설정
cd /opt/CPsuite-<VERSION>/fw1/
./fwboot bootconf set_def7단계 — boot.conf의 DEFAULT_FILTER_PATH 값 확인
cd /opt/CPsuite-<VERSION>/fw1/
grep DEFAULT_FILTER_PATH boot/boot.conf이 장에 나온 control_bootsec, comp_init_policy, fw unloadlocal, cpstat -f policy fw, fwboot 등의 명령에 대한 자세한 설명은 명령줄·커널 참조에서 가리키는 R82 CLI Reference Guide를 참고하세요.