▶ 보안 제품 리뷰/:: Antivir

Avira Antivir Premium Security Suite 9 리뷰 (5-2) - 방화벽 : 세부 규칙 (Adapter Rules)

물여우 2009. 6. 15. 20:37
반응형
안티버의 방화벽의 두 번째 포스팅으로 방화벽의 기본 감시 활동 사항을 규정하는
세부 규칙에 대하여 살펴보도록 하겠습니다.

이 항목은 공유 폴더/프린터 설정을 위해 관련 규칙을 추가하는 경우 등을 제외하면 일반
사용자들의 사용하는 경우가 많지는 않습니다.

저는 보안 전문가가 아니며 해당 프로그램에 대하여 전문적이고 기술적인 지식을 지니고
이 글을 작성하는 것이 아니므로 이 글에 오류가 있을 수 있음을 밝힙니다.


▶ Avira Antivir Premium Security Suite 9 리뷰 모음

- 
개요 및 설치 과정 , 메인 화면 UI
- 실시간 감시 : 파일 실시간 감시(Guard), 웹감시(WebGuard), 메일감시(MailGuard)
- 수동 검사
- 방화벽 : 기본 UI


8-2. 세부 규칙 설정 - Adapter Rules

방화벽 환경 설정의 첫번째 항목인 Adapter rules은 방화벽의 세부 규칙을 설정하는 곳입니다. 앞서 메인
화면 UI에서 설명한 감시 강도 설정에 따라 세부 설정이 변하게 되며 사용자가 원하는 설정의 추가/변경
이 가능합니다.

                                    방화벽 환경 설정 - Adapter rles 항목 화면

Adapter rules 항목은 3 부분으로 나누어 설명할 수 있습니다. 

① 방화벽 세부 규칙 정보 : 방화벽의 세부 규칙이 우선 순위에 따라 위에서부터 아래로 오름차순으로 
    정리되어 있습니다.

    세부 규칙은 크게 세가지로 나뉘는데 ICMP와 TCP/UDP port scan의 기본 규칙 항목과 Inbound 연결
    설정과 Outbound 연결 설정이 그것입니다.

    (참고 : ICMP, TCP, UDP 등에 대한 설명은 여기를 참고하여 주시기 바랍니다.)

② 규칙 조정 버튼 : 세부 규칙들의 추가/제거(Add rule/Remove rule)와 규칙의 규칙 우선 순위 조정 버튼
    (Rule up/Rule down)과 규칙들의 이름 변경 버튼(Rename rule) 등이 있습니다.


③ 세부 규칙 조정 : 이 부분에서 ①에 나열되어 있는 세부 규칙들 각각의 규칙 정보를 보여줌과 동시에
    수정하게됩니다. 화면에서 밑줄과 함께 파란색으로 표시된 부분이 수정 가능한 규칙이며 각각을 클
    릭하여 조정하게 됩니다.

    안티버 방화벽의 가장 큰 특징이며 가장 큰 불편함을 주기도 하는 곳입니다. 사용자에게 방화벽과
    관련된 많은 정보를 요구하고 UI가 텍스트 기반으로 이루어지기 때문에 일반 사용자가 사용하기가
    상당히 어렵지 않을까 생각합니다.



세부 규칙 설정에서는 방화벽을 통과하는 패킷들의 흐
름에 대한 기본 규칙을 규정합니다. 각각의 어플
리케이션들의 규칙은 application rules에서 규정합니다.

이제부터는 세부 규칙의 항목별로 하나씩 설명하되 앞선 포스팅에서 밝힌 것처럼 방화벽 감시 강도
설정에 따라 달라지는 부분도 설명하도록 하겠습니다. 안티버의 UI를 가지고 규칙을 설명할 때에는
High 감시 설정을 가지고 설명하겠습니다.


참고 : Low~High 설정의 차이점은 표로 나타낼 것인데, 안티버의 설명을 그대로 옮겼습니다.
        설명 중 진하게 표시된 부분은 안티버에서 설정 변경이 가능한 것으로 생각하시면 됩니다.
        또한, 같은 설정의 여러 규칙은 위에 있을 수록 상위 규칙입니다. 따라서 서로 반대된 성질의 
        규칙이 존재할 시 상위 규칙이 적용됩니다.



(1) ICMP Protocol : ICMP 프로토콜에 대한 방화벽 규칙을 설정합니다.

① 감시 강도별 설정

Setting: Low

- Incoming blocked typed: no type.
- Outgoing blocked types: no type.
- Assume flooding if delay between packets is less than 50 ms.
- Reject fragmented ICMP packets.

정상적인 ICMP 메세지를 모두 허용하며, 정상 패킷이라도 50ms 사이에 메세지 패킷이 지속적으로 유입시 이를 Flooding 공격으로 판단합니다. 또한, fragmented된 비정상 ICMP 패킷을 차단합니다.

참고 : Flooding 공격 차단은 따로 설정이 있습니다.

Setting: Medium

- Same rule as for the low level.

Low 설정과 동일합니다.

Setting: High

- Incoming blocked typed: several types
- Outgoing blocked types: several types
- Assume flooding if delay between packets is less than 50 ms.
- Reject fragmented ICMP packets.

대다수의 ICMP 메세지를 차단합니다. 그 외 설정은 Low에서의 설정과
동일합니다.


② 규칙 설명 및 변경 방법


ICMP는 여러가지 메세지 종류가 있습니다. Low/Medium 설정에서는 모든 메세지 타입을 허용하지만
High 설정에서는 대다수의 메세지 종류를 차단합니다. 따라서 일부 Ping을 비롯한 ICMP 메세지가 필요
한 경우 정상적인 사용이 불가능 합니다.

ⓐ several types를 클릭하면 아래와 같은 ICMP 메세지 선택창이 활성화 됩니다.
                                     High 설정의 ICMP 메세지 차단 리스트


ⓑ Reject를 클릭하면 Fragmented ICMP packet을 차단/허용을 조정할 수 있습니다.
    여기서 Fragemented ICMP packet은 비정상적인 ICMP 모습을 갖춘 패킷으로 네트워크 공격에 쓰이는
    방법 중 하나입니다. 일반 사용자에게 크게 중요한 설정은 아닙니며 기본 설정인 Reject(차단)을 설정
    으로 사용하는게 좋습니다.

기본적으로 ICMP와 관련되어 차단되는 외부 패킷의 정보는 로그기록에 저장되지 않습니다.


(2) TCP Port Scan : 외부의 TCP를 이용한 사용자 포트 스캔 차단 규칙을 설정합니다.

① 감시 강도별 설정

Setting: Low

Assume a TCP port scan if 50 or more ports were scanned in 5,000 ms.
When detected, log attacker's IP and don't add rule to block the attack.

5,000 ms(milliseconds) 구간 동안에 50개 이상의 포트의 open(열림)/close(닫힘)을 검사할 때 이를 악의적인 포트 검사로 판단하지만 공격 정보를 기록, 저장만 합니다.

Setting: Medium

Assume a TCP port scan if 50 or more ports were scanned in 5,000 ms.
When detected, log attacker's IP and add rule to block the attack.

Low 설정과 동일하게 공격을 판단하며, 방화벽 규칙을 생성하여 포트 검사
를 시도하는 IP 주소와에서의 연결을 차단합니다.

Setting: High

Same rule as for medium level.

Medium 설정과 동일합니다.


② 규칙 설명 및 변경 방법

TCP port scan 규칙은 기본 설정에서 특별히 사용자가 조정할 부분이 없습니다.

(3) UDP Port Scan : 외부의 UDP를 이용한 사용자 포트 스캔 차단 규칙을 설정합니다.

① 감시 강도별 설정

Setting: Low

Assume a UDP port scan if 50 or more ports were scanned in 5,000 ms.
When detected, log attacker's IP and don't add rule to block the attack.

Setting: Medium

Assume a UDP port scan if 50 or more ports were scanned in 5,000 ms.
When detected, log attacker's IP and add rule to block the attack.

Setting: High

Same rule as for medium level.

UDP 포트 스캔 규칙은 TCP 포트 스캔 규칙과 설정이 동일합니다. 따라서 TCP 포스 스캔 규칙을 참고하
시기 바랍니다.



(4) Incomig Rule : 사용자 시스템에 대한 외부에서 네트워크 연결 관리에 대한 규칙을 설정합니다.

이제부터 본격적으로 사용자의 네트워크 연결과 밀접한 방화벽 규칙이 나타납니다.

참고 : 외부에서 사용자 시스템으로 연결을 시도하는 Incoming 규칙이기에 Local외부의 시스템을
         의미하고 있으며, Remote사용자 시스템을 의미합니다. 
         일반적으로 일반 사용자들이 IP를 언급하면 IP 주소를 의미합니다만, 설명시에 IP라고 단독으
         로 명칭한 것은 모든 프로토콜을 의미하는 것을 말합니다.
         IP 주소가 0.0.0.0.으로 표시되는 것은 모든 IP 주소를 의미합니다.
         또한 connection initiation은 TCP 프로토콜을 이용한 연결 허용 시에 최초 시도되는 연결에
         대해 연결 이전에 유입된 패킷들 허용한다는 의미라고 합니다. 일반적으로 이 경우 방화벽에
         서 시스템 간에 세션이 생성된 것이 아니기에 패킷을 차단한다고 합니다만, 정확한 정보가 부
         족합니다. 따라서 'existing connections 보다 조금 더 완화된 정책이다' 정도로 생각하시면
         될 듯 합니다.


 ① 감시 강도별 설정 : 인바운드 연결에 대한 규칙은 각 프로토콜 별로 규칙이 다 생성되어 있기 때문
    에 상당히 복잡합니다. 따라서 설명도 상당히 복잡하게 되었습니다.
 
▶ Predefined rules for the TCP traffic monitor : TCP 연결에 대한 제어

Setting: Low

No incoming traffic is blocked by Avira Firewall.

외부에서의 연결 시도를 차단하지 않습니다.
- 방화벽 설정에 따른 로그 기록만 저장합니다.

Setting: Medium

- Allow established TCP connections on 135

Allow TCP packets from address 0.0.0.0 with mask 0.0.0.0 if local ports in {135} and remote ports in {0-65535}.
Apply forpackets of existing connections.

Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

TCP를 이용하여 135번 포트를 통해 연결되는 외부 연결은 허용합니다. 
① 외부 135번 포트와 사용자의 모든 포트를 이용하는 모든 외부 IP 주소와
    연결을 허용합니다.
② 허용하고자 하는 패킷을 양 시스템간 네트워크가 연결의 허용된 상태에
    따라  구분지어 오고감을 허락합니다. 현재 설정은 시스템의 연결이 허
    용된 상태(Session 설정)에서 오고가는 패킷을 허락합니다.
③ 규칙의 조건에 합치되는 패킷 정보 미기록
④ 고급 설정에서 특정 코드가 담겨있는 패킷을 차단합니다. 패킷의 헤더
    와 본문 등을 Offset 설정에 따라 분석하게 됩니다. 이 부분은 개인적으
    로 모르는 부분이 많아 설명은 여기까지 하도록 하겠습니다. 
    이부분은 아래에 스샷으로 남기겠습니다.  

-Deny TCP packets on 135

Deny
TCP packets from address 0.0.0.0 with mask 0.0.0.0 if local ports in {135} and remote ports in {0-65535}.
Apply for all packets.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes
<empty> with mask <empty> at offset 0.

위의 135번 포트를 이용한 연결 허용의 반대되는 규칙입니다.
① 첫번째 규칙과 다른 부분은 2번째 항목으로 나머지는 동일합니다.
    현재 시스템간 연결이 허용된 상태(세션 설정)를 제외한 다른 경우에
    유입되는 패킷을 차단하게 됩니다. 이 규칙이 추가된 이유는 하단의
    규칙 때문입니다. 하단의 규칙은 TCP의 정상적인 패킷의 구조를 가진
    패킷의 유입을 허용하는 규칙이기에 135번 포트를 통해서 유입되는 
    일부 패킷을 차단하기 위해서 사용됩니다.



- Monitor TCP healthy traffic

Allow
TCP packets from address 0.0.0.0 with mask 0.0.0.0 if local ports in {0-65535} and remote ports in {0-65535}.
Apply for connection initiation and existing connection packets.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

IP 주소와 포트 상관없이 connection initiation and existing connection
packets 상태에서 유출입되는 패킷을 허용합니다.


- Deny all TCP packets

Deny TCP packets from address 0.0.0.0 with mask 0.0.0.0 if local ports are in range {0-65535} and the remote port is in range {0-65535}.
Apply for all packets.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

TCP 연결 규칙의 가장 하위로 상위 규칙에서 언급되지 조건을 가진 연결을 모두 차단합니다.

Setting: High

Monitor established TCP traffic

Allow TCP packets from address 0.0.0.0 with mask 0.0.0.0 if local ports in {0-65535} and remote ports in {0-65535}.
Apply forpackets of existing connections.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

연결이 허용된 상태(세션이 형성)에 대한 모든 TCP 연결을 허용합니다.

언뜻 보기에는 High보다 Medium의 규칙이 더 엄격해 보입니다만 High의 패킷 규칙이 packets of existing connections 된 연결의 패킷의 유출입만을 허용하기에 실제로는 더 엄격합니다.
Medium은 135번 포트에 대해서만 특별히 packets of existing connections 규칙을 적용하고 나머지 연결
connection initiation and existing connection packets로 되어 있어 더 유연합니다.



▶ Predefined rules for the UDP traffic monitor : UDP 연결에 대한 제어

Setting: Low

No incoming traffic is blocked by Avira Firewall.

외부에서의 유입 시도를 차단하지 않습니다.
- 방화벽 설정에 따른 로그 기록만 저장합니다.

Setting: Medium

Monitor UDP accepted traffic

Allow
UDP packets from address 0.0.0.0 with mask 0.0.0.0 if local port is in {0- 66535} and remote port is in {0-66535}.
Apply rule to open ports.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

UDP를 통한 외부 연결을 허용합니다. 
Medium 설정은 모든 외부의 IP 주소와 사용자 시스템간 포트 설정없이 UDP를 통한 연결을 허용합니다.

중간의 Open port만을 허용한다는 것은 Remote port에서 허락한 포트만을 허용한다는 의미입니다. 따라서 실질적으로 모든 포트에 대해 개방되어 있
다고 보시면 됩니다.


Deny all UDP packets

Deny UDP packets from address 0.0.0.0 with mask 0.0.0.0if the local port is in range {0-65535} and the remote port is in range {0-65535}.
Apply for all ports.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

열린 포트를 제외한 나머지 포트로 유입되는 UDP 패킷을 차단합니다.
그러나 상위 규칙에서 모든 포트에 대한 UDP 패킷의 유입을 허용하고 있기에 따로 사용자가 조정하지 않는 이상 큰 의미는 업습니다.

Setting: High

Monitor established UDP traffic

Allow UDP packets from address 0.0.0.0 with mask 0.0.0.0 if the local port is in range {0-65535} and the remote port is in range {53, 67, 68, 123}.
Apply rule to open ports.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

사용자 시스템의 53, 67, 68, 123번 포트에서만 UDP 패킷의 연결을 허용
합니다.


▶ Predefined rules for the ICMP traffic monitor : ICMP 프로토콜 제어

Setting: Low

외부에서의 유입 시도를 차단하지 않습니다.
- 방화벽 설정에 따른 로그 기록만 저장합니다.

Setting: Medium

Do not discard ICMP based on IP address.

Allow ICMP packets from address 0.0.0.0 with mask 0.0.0.0.
Don't log
when packet matches rule.
Advanced: Discard packets that have following bytes <empty> with mask <empty> at offset 0.

외부 IP주소와 상관없이 ICMP 패킷을 허용합니다. 

Setting: High

Same rule as for medium level.

Medium 설정과 동일합니다.


처음 규칙 설명 때 나온 첫 번째 ICMP 관련 규칙은 허용할 ICMP 메세지의 종류를 고른다면, 인바운드
연결 규칙의 ICMP 규칙은 허용된 메세지의 유출입 여부를 관리합니다.

예를 들어 여러 고기 중 소고기를 수입하고자 결정했을 때(ICMP 메세지 종류 선택), 호주산은 허용하고
미국산 소고기는 불허하는 것(IP 주소별 선택)과 비슷합니다.


▶ Predefined rules for IP packets : 여기서 IP는 프로토콜을 의미하며 앞서 설명한 TCP/UDP 등을 제외
   한 모든 프로토콜에 대한 일괄적인 관리 규칙입니다.

Setting: Low

외부에서의 유입 시도를 차단하지 않습니다.
- 방화벽 설정에 따른 로그 기록만 저장합니다.

Setting: Medium

외부에서의 유입 시도를 차단하지 않습니다.
- 방화벽 설정에 따른 로그 기록만 저장합니다.

Setting: High

Deny all IP packets

Deny IP packets from address 0.0.0.0 with mask 0.0.0.0.
Don't log
when packet matches rule.

모든 IP 패킷을 차단합니다. 최하위 규칙으로서 상위 규칙에서 적용되지
않은 조건을 가진 모든 패킷을 차단합니다. 


② 규칙 설명 및 변경 방법 : TCP 부분만을 살펴보겠습니다.


안티버 슈트를 사용하다보면 트레이에서 아래와 같은 팝업이 자주 뜨는 것을 확인할 수 있습니다.


그림이 작아서 내용이 잘 안보일 수 있습니다만 임의의 주소에서 전달된 TCP 패킷이 차단되었다는 의미
입니다. 왼쪽은 Medium 설정의 팝업이고 오른쪽이 High 설정에의 팝업입니다.

이 경우 사용자의 시스템이 공격을 받은 것이 아니라 네트워크 상에서 일반적으로 오고가는 패킷 중 허
용 규칙에 없는 조건을 가진 패킷이기에 차단한 것입니다. 매우 정상적인 상황이니 크게 신경 안쓰셔도
됩니다.

(5) Outgoing rule : 아웃바운드 연결에 대한 규칙을 설정합니다.

기본적으로 아웃바운드 연결에 대한 규칙은 존재하지 않습니다. 외부로 연결을 시도하는 내부의 프로세
스들을 Application rule에서 관리하기 때문에 일괄적인 규칙을 적용할 필요가 없기 때문입니다.

사용자가 규칙을 따로 설정할 수도 있으며 규칙 설정은 패킷의 유입 방향만 내부에서 외부의 연결로
변경될 뿐 인바운드 연결 규칙과 동일하게 설정할 수 있습니다.

(6) 기타 규칙 및 규칙 추가: 안티버에서 제공하는 특정 상황에 필요한 규칙과 규칙을 추가할 때
     사용되는 표준 규칙입니다.

아래 그림과 같이 안티버에서는 특정 상황에 필요한 규칙과 규칙 추가시에 사용하는 표준 규칙을 제공
합니다. 이는 사용자가 일일이 규칙을 추가하지 않아도 쉽게 규칙을 만들기 위해서 제공하는 것입니다.
그러나 공유 폴더/프린터 설정 등 일부 규칙을 제외한 다른 규칙들은 사용 빈도가 떨어집니다.


① Allow Peer to peer network : P2P 프로그램으로 인해 입출입되는 패킷의 이동을 자유롭게 하는 규칙
    입니다. 그러나 최근 p2p 프로그램은 TCP를 이용하고 사용하는 포트들이 임의로 지정되기 때문에
    해당 규칙을 사용할 일이 없으며, 대부분 어플리케이션 룰에서 p2p 프로그램의 네트워크 연결을 자
    유롭게 하면 큰 문제없이 p2p 프로그램을 사용할 수 있습니다. 
② Allow VMware connection : 가상화 프로그램인 VMware는 실제컴과 공유 폴더 설정 및 원격 제어 등이
    가능한데, 상호간에 내부 네트워크 연결을 자유롭게 풀어주는 규칙입니다. 자세한 규칙 정보는 없습
    니다.
③ Block/Allow IP : 특정 IP 주소와의 연결을 차단하거나 허용합니다. 어플리케이션 룰에 따라 아웃바운
    드 연결은 제한됩니다.
④ Block/Allow Subnet : 특정 구간의 주소를 가진 IP주소를 차단하거나 허용합니다.
    (서브넷 마스크 사용으로 네트워크 주소 구간 설정)
⑤ Allow Web Server : 자신의 시스템이 아니라 특정 서버의 연결을 허용하는 것입니다. 외부의 80번
    포트 연결을 무조건 허용합니다.
⑥ Allow VPN connection : 가상 사설망(Virtual Private Network)연결을 허용합니다.
⑦ Allow Remote Desktop connection : 외부의 원격 제어 기능의 연결을 허용합니다.
⑧ Allow VNC connection : Virtual Network Computing- VNC의 연결을 허용합니다.
⑨ Allow file and printer sharing : 파일 및 프린터를 외부에서 공유할 수 있도록 연결을 허용합니다.


- 이상입니다.

반응형