정책 규칙 구문 이해

 

적용 대상: Office 365 Enterprise, Live@edu, Forefront Online Protection for Exchange

마지막으로 수정된 항목: 2012-05-02

Forefront Online Protection for Exchange(FOPE)에서 정책 규칙을 만들 때는 두 가지 규칙 구문 옵션을 사용할 수 있습니다. 첫 번째로는 문자열-와일드카드 구문과 혼합된 CSV(쉼표로 구분된 값)를 사용할 수 있습니다. 이 값은 관리 센터 정책 규칙 편집기에서 FOPE의 기본으로 나열됩니다. 두 번째로는 정규식 구문으로 지정된 문자의 하위 집합을 사용할 수 있습니다. 이는 더 복잡한 규칙에 사용되며 FOPE 관리 센터 정책 규칙 편집기에서 RegEx로 나열됩니다.

RegEx 구문에 익숙하지 않은 경우에는 콘텐츠 필터링에 사용할 간단한 식을 만들 수 있고 해당 식이 정의된 컨텍스트에 기반하여 일치 식을 평가함으로써 올바른 일치 식 형식을 작성하는 데 도움이 되는 기본 옵션을 선택할 수 있습니다. 예를 들어 IP 주소 필드에는 올바른 IP 주소만 입력할 수 있습니다. 만들고자 하는 규칙이 숫자 패턴 및 단어 패턴의 일치와 같이 조금 더 복잡한 경우에는 RegEx 옵션을 선택하여 RegEx 구문 문자의 하위 집합을 사용할 수 있습니다. 이 옵션을 사용하면 컨텍스트 기반의 유효성 검사를 사용할 수 없고 구문 특정 유효성 검사만 적용됩니다.

기본 구문

정책 규칙 편집기에서 기본을 선택하면 일치 식을 쉼표로 구분하는 CSV 구문을 사용하여 식을 나열할 수 있습니다. 또한 간단한 문자열-와일드카드 메타 문자를 사용하여 일치 식의 기능을 향상할 수 있습니다. 필터를 통해 업로드된 사전 파일에는 동일한 구문이 적용됩니다.

기본 구문의 정의

메타 문자 설명 예제

,

쉼표는 대체 또는 구분 기호라고도 하는 선택 메타 문자이며 쉼표 앞이나 뒤에 나열된 식과 일치합니다.

abc, def, xyzabc 또는 def 또는 xyz와 일치합니다.

*

별표는 와일드카드 메타 문자이며 0개 이상의 문자를 나타냅니다.

참고

이 문자는 RegEx 구문의 (.*)에 해당합니다.

ab*aba 또는 abaa 또는 abaaa 또는 ab12345667 등과 일치합니다.

?

물음표는 임의의 단일 문자를 나타냅니다.

참고

이 문자는 RegEx 구문의 (.)에 해당합니다.

ab?aba 또는 abb 또는 abc 또는 ab1 또는 ab2 등과 일치합니다.

\

백슬래시는 이스케이프 연산자입니다. 리터럴 (,) (*) (?) 또는 (\)와 일치시키고 기본 구문에서 이들 문자의 특수한 의미를 무시하려면 기본 구문 연산자 앞에 이스케이프 연산자를 추가해야 합니다.

참고

이 문자는 RegEx 구문의 ()에 해당합니다.

\*a\\bc\?*a\bc?와 일치합니다.

/0 ~ /32

슬래시 표시는 CIDR(Classless Inter-Domain Routing) 표기법을 나타냅니다. IP 주소의 마지막 8진수 뒤에 슬래시 표시(/)와 0에서 32 사이의 숫자를 추가하여 표현할 수 있습니다.

참고

CIDR 표기법은 IP 주소 식에만 적용되며 다른 컨텍스트에는 사용할 수 없습니다.

99.99.98.0/2399.99.98.0부터 99.99.99.255까지의 IP 범위와 일치합니다.

참고

정책 규칙 필드 또는 사전에 삽입된 총 문자 수는 9,000을 초과할 수 없습니다. 사전 파일 크기 제한은 2MB입니다.

RegEx 구문

정책 규칙 편집기에서 RegEx를 선택하면 텍스트, 숫자 또는 특수 문자의 패턴과 일치하는 더 복잡한 식을 지정할 수 있습니다. 예를 들어 RegEx 문자의 하위 집합을 사용하여 viagra, vi@gra, vlagra와 같은 여러 가지 변형된 형태의 단어를 찾을 수 있습니다. 이를 통해 필요한 규칙의 수를 최소화하고 신용 카드 번호, 주민 등록 번호, 전자 메일 주소 및 이와 유사한 중요한 단어나 숫자 문자열의 검색과 같은 강력한 일치 식을 만들 수 있습니다.

RegEx 구문의 정의

정책 규칙 편집기의 RegEx 옵션은 다음 표에 나와 있는 POSIX 기본 및 확장 정규식 구문의 하위 집합입니다.

문자 유형 문자 설명 예제

메타

^

캐럿 메타 문자는 문자열 내의 시작 위치와 일치합니다.

참고

달러 기호 문자와 함께 사용되는 경우 캐럿은 정확한 일치 옵션과 같은 기능을 합니다.

^abcabc1234와 일치하지만 1234abc와는 일치하지 않습니다.

메타

$

달러 기호 메타 문자는 문자열의 끝 위치 또는 문자열 끝 줄 바꿈 직전 위치와 일치합니다.

참고

캐럿 문자와 함께 사용되는 경우 달러 기호는 정확한 일치 옵션과 같은 기능을 합니다.

abc$1234abc와 일치하지만 abc1234와는 일치하지 않습니다.

메타

*

별은 0개 이상의 선행 요소와 일치합니다.

중요

이 문자는 주의해서 사용해야 합니다. 이 문자를 사용하는 일치 식은 의도한 것보다 많은 항목과 일치할 수 있습니다.

ab*xabx 또는 abbx 또는 abbbx 또는 abbbbx 등과 일치합니다.

메타

+

더하기 메타 문자는 한 개 이상의 선행 요소와 일치합니다.

이 문자는 주의해서 사용해야 합니다. 이 문자를 사용하는 일치 식은 의도한 것보다 많은 항목과 일치할 수 있습니다.

ab+xabbx 또는 abbbx 또는 abbbbx 또는 abbbbbx 등과 일치합니다.

메타

.

마침표 메타 문자는 줄 바꿈을 제외한 모든 단일 문자와 일치합니다.

ab.xab1x 또는 ab2x 또는 ab3x 또는 ab4x 등과 일치합니다.

메타

?

물음표 표시는 0개 또는 1개의 선행 요소와 일치합니다.

ab?a 또는 ab와 일치합니다.

메타

|

파이프는 처음(왼쪽) 문자열에서 시작하여 일치 항목이 발견되면 중지하는, 연산자 앞이나 뒤의 식과 일치하는 선택 또는 대체 문자입니다.

abc|def|xyzabc 또는 def 또는 xyz 또는 abc12345와 일치하지만 a123c 또는 axm과는 일치하지 않습니다.

메타

\

백슬래시를 사용하면 규칙 컨텍스트에서 RegEx 메타 문자가 리터럴 문자로 처리됩니다.

x\*1\.5\+9\\x=yx*1.5+9\x=y와 일치합니다.

클래스

\w

소문자 w와 함께 사용하는 백슬래시는 "_"가 있는 영숫자를 포함한 모든 단어 문자와 일치합니다.

\w123a123 또는 bbb123 또는 c_c123xxx와 일치하지만 @123과는 일치하지 않습니다.

클래스

\d

소문자 d와 함께 사용하는 백슬래시는 모든 십진수와 일치합니다.

\dabc123abc 또는 12345abcxxx 또는 1abc1과 일치하지만 abc123 또는 @abc123과는 일치하지 않습니다.

클래스

\s

소문자 s와 함께 사용하는 백슬래시는 모든 공백 문자와 일치합니다.

abc\sdefabc def와 일치합니다.

중요

RegEx 구문에 익숙하지 않은 경우 기본 옵션을 사용하거나 거부, 암호화, 리디렉션과 같은 정책 규칙 동작에 RegEx 구문을 사용하기 전에 테스트 정책 규칙 동작을 사용하여 테스트 규칙을 사용해 보는 것이 좋습니다. 관리 센터 정책 규칙은 RegEx 문자의 하위 집합만 지원합니다.
정책 규칙 필드에 삽입된 총 RegEx 문자 수는 9,000을 초과할 수 없습니다.

RegEx를 사용한 일치 식 만들기에 대한 추가 예제

다음은 메시지의 다른 부분과 일치하는 RegEx 식의 예입니다.

  • 파일 확장명 찾기에 사용하는 마침표는 식 뒤의 모든 단일 문자와 일치합니다. 예를 들어 **r.**은 r 문자와 r 문자 다음에 있는 단일 문자로 시작하는 파일 이름과 일치합니다. 예를 들어 일치 식 **r.**은 r1 또는 다른 두 문자 조합 등의 확장명과 일치합니다.

  • RegEx 메타 문자를 리터럴로 일치시키려면 이스케이프 연산자를 함께 사용해야 합니다. RegEx가 아닌 메타 문자는 리터럴로 일치되며 이스케이프 연산자를 추가할 필요가 없습니다. 도메인 이름의 마침표와 일치시키려면 **\.**를 나열하여 이 마침표에 이스케이프 문자를 추가해야 합니다. 일치 식 contoso\.com은 contoso.com과 일치합니다.

  • 도메인 옵션의 경우 도메인 일치는 전자 메일 헤더에서 보낸 사람 도메인 또는 받는 사람 도메인의 유무에 따라 동작합니다. 예를 들어 contoso.com에 대해 동작을 수행하는 규칙은 하위 도메인 123.contoso.com에 대한 메시지에도 영향을 미칩니다. 하위 도메인 없이 도메인 이름과만 일치시키려면 ^contoso.com과 같이 캐럿 메타 문자를 사용하여 규칙을 구성합니다. 이렇게 구성한 규칙은 contoso.com에서 주고 받은 전자 메일과만 일치하고 123.contoso.com에서 주고 받은 전자 메일과는 일치하지 않습니다.

  • 전자 메일의 제목, 본문 또는 첨부 파일 이름에서 문자열 "ness"로 끝나는 단어를 검색하려면 별표와 마침표를 조합하여 일치 작업을 수행합니다. 예를 들어 검색 조건 .*ness는 "wilderness" 또는 "happiness"와 같은 결과를 반환합니다.

  • 마침표 .와 별표 *를 차례로 써 0개 이상의 문자를 나타낼 수 있습니다. 예를 들어 일치 식 **contoso\..***는 "contoso.com"과 일치할 뿐만 아니라 "contoso.microsoft.com" 또는 "contoso.mydomain.ca" 등과도 일치합니다. 도메인의 TLD(최상위 도메인)와만 일치시키려면 더 정교한 일치 식이 필요합니다. **contoso\.\w\w\w$**는 "contoso.com" 또는 "contoso.org" 또는 "contoso.tv1"과 일치하지만 마침표 뒤에 3개보다 많거나 적은 수의 영숫자가 있는 모든 도메인과는 일치하지 않습니다.

정규식 정보

정규식(약어: RegEx)은 여러 시스템 및 프로그래밍 언어에 사용되는 표준 공식 언어입니다. 정규식은 적절한 방법으로 사용할 경우 그 기능이 강력할 수 있습니다. 다음과 같은 여러 웹 사이트에서 구문 정의, 예제 및 자습서를 포함한 다양한 정보를 참조할 수 있습니다.

-
MSDN 정규식 소개

-
Regular Expressions.Info 웹 사이트

-
정규식 라이브러리 웹 사이트