[Apache-ProFTPd] Order, Allow, Deny 비교
페이지 정보
작성자 MintState 댓글 0건 조회 18,391회 작성일 08-11-20 12:47본문
[Apache-ProFTPd] Order, Allow, Deny 비교
- 작성자 : 김칠봉 <san2(at)linuxchannel.net>
- 작성일 : 2003-11-22
- 내 용 : 아파치와 ProFTPd 의 Order, Allow, Deny 비교
- 수 준 : 초보용
- 키워드 : Apache, ProFTPd, Order Allow, Deny
*주)
이 문서에 대한 최신 내용은 아래 URL에서 확인할 수 있습니다.
http://www.linuxchannel.net/docs/order-apache-vs-proftpd.txt
------------------------------------------------------
1. Apache Order allow,deny
2. ProFTPd Order allow,deny
3. 비교
4. 정리
------------------------------------------------------
1. Apache Order allow,deny
Order directive
- Syntax : Order ordering
- Default : Order Deny,Allow <---- Deny 에 없는 것은 모두 Allow 됨
- Context : directory, .htaccess
- Override: Limit
- Status : Base
- Module : mod_access
Allow directive
- Syntax : Allow from all|host|env=variablename [host|env=variablename] ...
- Context : directory, .htaccess
- Override: Limit
- Status : Base
- Module : mod_access
- List : 구분 공백(' ')
A (partial) domain-name
Example: Allow from apache.org
A full IP address
Example: Allow from 10.1.2.3
A partial IP address
Example: Allow from 10.1
A network/netmask pair
Example: Allow from 10.1.0.0/255.255.0.0
A network/nnn CIDR specification
Example: Allow from 10.1.0.0/16
Allow from 10.1.2.3 env=foo <-- 틀린 경우(X)
Allow from env=foo 10.1.2.3 <-- 맞는 경우(O), env 가 앞에 옴
기본정책이 Deny 에 없는 것은 모두 Allow 되고, Deny,Allow 사이는 빈공백없이
콤마(,)로 분리.
- Order Deny,Allow
Allow 를 평가하기 전에 먼저 Deny 를 평가하고, 그 다음 Allow 에 override 함. 그리고 여기에 매치되지 않는 나머지 호스트 모두 Allow 됨. 따라서 이 Order 의 기본정책은 첫번째 Deny 지시자에서 결정함
즉 순서는,
1. Deny 매치 우선 결정(기본 정책 결정)
2. 그 다음 Allow 매치를 override 함
3. 나머지 포함되지 않은 호스트는 모두 Allow 됨
- Order Allow,Deny
Deny 를 평가하기 전에 먼저 Allow 를 평가하고, 그 다음 Deny 에 override 함. 그리고 여기에 매치되지 않은 나머지 호스트는 모두 Deny 됨. 이 Order 의 기본정책은 첫번째 Allow 지사자에서 결정함.
(*** 이점이 ProFTPd 와 서로 다름 ***)
ex1) 기본정책은 Allow 이고, 예외로 bad.com hacker.com 은 금지
ex2) 기본정책은 Deny 이고, 예외로 myhost.com 만 접근을 허용함
ex3) 중요
이것은 foo.apache.org 를 제외한 *.apache.org 만 허용하고 나머지 모든 호스트는 접근을 금지함(foo.apache.org 는 당연히 금지)
이유는 Order 순서에 의해서 Deny 를 평가하기 전에 Allow 를 평가하고, 그 다음에 Deny 매치에 override 하기 때문이며, 나머지 매치되지 않는 모든 호스트는 Deny 됨.
ex4) 주의
Allow 를 평가하기 전에 Deny 를 먼저 평가하기 때문에 평가 순서는 다음과 같음.
2. ProFTPd Order allow,deny
Order directive
- Syntax: Order [ Order allow,deny|deny,allow]
- Default : Order allow,deny
- Context : <Limit>
- Module : mod_core
- Compatibility : 0.99.0pl6 and later
Allow directive
- Syntax : Allow [ ["from"] "all"|"none"|host|network[,host|network[,...]]]
- Default : Allow from all
- Context : <Limit>
- Module : mod_core
- Compatibility : 0.99.0pl6 and later
- List : 구분 컴마(,)
A (partial) domain-name
Example: Allow from .proftpd.org <--- 아파치와 다르게 앞에 점 추가
A full IP address
Example: Allow from 10.1.2.3 <--- 아파치와 같음
A partial IP address
Example: Allow from 10.1. <--- 아파치와 다르게 뒤에 점 추가
A network/netmask pair <--- 없음
A network/nnn CIDR specification
Example: Allow from 10.1.0.0/16 <--- 아파치와 같음
ProFTPd 의 Order, Allow, Deny 지시자는 Apache와 비슷한 구문을 갖지만 그 결과는 아주 상이함.
- Order deny,allow <-- 우선권 deny 둠
allow 를 평가하기 전에 deny 를 먼저 평가하고 결정해 버림(overrid 하지 않음) 그리고 allow 를 평가하고(같은 것이 있으면 deny 가 우선), 나머지 매치되지 않은 모든 호스트는 deny 됨(아파치와 서로 반대임)
- Order allow,deny <-- 우선권을 allow 둠
deny 를 평가하기 전에 allow 를 먼저 평가하고 결정해 버림(overrid 하지 않음) 그리고 deny 를 평가하고(같은 것이 있으면 allow 가 우선), 나머지 매치되지 않은 모든 호스트는 allow 됨(아파치와 서로 반대임)
즉 같은 호스트가 allow 와 deny 에 둘다 있을 경우 그 우선권은 Order 지시자에서 설정한 앞부분의 keyword 에 따름.
deny 가 우선이므로 192.168.0.1 은 deny 됨.(Override 되지 않음) 또한 다음과 같이 Order 순서를 그대로 두고, 위치만 바꾸어도 동일함.
*중요)
ProFTPd 는 Apache 와 같이 Order 의 순서대로 Override 되지 않고, Order 순서에 의해서 먼저 접근을 결정해 버림.
ex1) 특정 호스트만 허용함
192.168.0.100 192.168.1.0/24 만 허용하고 나머지는 모두 접속을 금지함. 즉 특정 호스트만 허용(Allow) 하기 때문에 Order allow,deny 순으로 설정하여 우선권을 allow 가 갖도록함.
ex2) 특정 호스트만 금지함
ex1) 과 서로 반대임
ex3) 부분과 전체
ProFTPd 는 Override 되지 않기 때문에 제일 마지막에 Deny from all 설정이 온다고 하더라고 먼저 설정한 호스트(ex 128.44.26.1)는 Allow 되고, 상위 설정에서 포함되지 않은 나머지 호스트는 제일 마지막에 모두 Deny 됨
ex3) 우선권
192.168.0.152 호스트는 앞부분 'Allow from 192.168.0.*'에 포함되지만 Order 순서가 deny 가 우선이므로 결국 이 호스트는 deny 됨. 즉 같은 호스트가 allow 와 deny 에 둘다 있을 경우 그 우선권은 Order 지시자에서 설정한 앞부분의 keyword 에 따름.
위의 설정도 같은 동일한 설정임.
3. 비교
1) 설정방향
- Apache : Order 순서에 의해서 순차적으로 override 됨. 매치되지 않은 나머지 호스트는 Order 의 뒤쪽 keyword 에 따름
- ProFTPd : Order 순서에 의해서 순차적으로 먼저 결정함. 매치되지 않은 나머지 호스트는 Order 의 앞쪽 keyword 에 따름
2) override 비교
- Apache : override 됨(뒤에 온 놈이 장땡)
- ProFTPd : override 되지 않음(먼저 온 놈(?)이 장땡)
3) 기본 접근정책 비교
- Apache : 전체 --> 부분으로 override
- ProFTPd : 부분 먼저 설정 --> 나머지 결정
4) 리스트 나열 비교
- Apache : 빈공백(' ')으로 구분, 여러줄 일 경우 `'와 중복 지시자 모두 가능
- ProFTPd : 컴마(,)로 구분하고 여러줄일 경우는 중복 지시자만 가능
5) Partial IP 주소 비교
- Apache : 192.168.0 192.168.1 <-- 뒤에 점이 없음
- ProFTPd : 192.168.0.,192.168.1. <-- 뒤에 점이 있음
6) Partial domain-name 비교
- Apache : foo.com bar.com <-- 앞에 점이 없음
- ProFTPd : .foo.com,.bar.com <-- 앞에 점이 있음
4. 정리
1) 설정 방향
- Apache
Order 순서에 의해서 전체를 먼저 설정하고 나머지 부분을 Override 함
- ProFTPd
Order 순서에 의해서 부분을 먼저 결정하고 나머지 전체를 설정한
* 서로 반대임
2) 특정 호스트만 허용할 경우 : 기본 정책이 deny 임
- Apache
- ProFTPd
3) 특정 호스트만 막을 경우 : 기본 정책이 allow 임
- Apache
- ProFTPd
- 작성자 : 김칠봉 <san2(at)linuxchannel.net>
- 작성일 : 2003-11-22
- 내 용 : 아파치와 ProFTPd 의 Order, Allow, Deny 비교
- 수 준 : 초보용
- 키워드 : Apache, ProFTPd, Order Allow, Deny
*주)
이 문서에 대한 최신 내용은 아래 URL에서 확인할 수 있습니다.
http://www.linuxchannel.net/docs/order-apache-vs-proftpd.txt
------------------------------------------------------
1. Apache Order allow,deny
2. ProFTPd Order allow,deny
3. 비교
4. 정리
------------------------------------------------------
1. Apache Order allow,deny
Order directive
- Syntax : Order ordering
- Default : Order Deny,Allow <---- Deny 에 없는 것은 모두 Allow 됨
- Context : directory, .htaccess
- Override: Limit
- Status : Base
- Module : mod_access
Allow directive
- Syntax : Allow from all|host|env=variablename [host|env=variablename] ...
- Context : directory, .htaccess
- Override: Limit
- Status : Base
- Module : mod_access
- List : 구분 공백(' ')
A (partial) domain-name
Example: Allow from apache.org
A full IP address
Example: Allow from 10.1.2.3
A partial IP address
Example: Allow from 10.1
A network/netmask pair
Example: Allow from 10.1.0.0/255.255.0.0
A network/nnn CIDR specification
Example: Allow from 10.1.0.0/16
Allow from 10.1.2.3 env=foo <-- 틀린 경우(X)
Allow from env=foo 10.1.2.3 <-- 맞는 경우(O), env 가 앞에 옴
기본정책이 Deny 에 없는 것은 모두 Allow 되고, Deny,Allow 사이는 빈공백없이
콤마(,)로 분리.
- Order Deny,Allow
Allow 를 평가하기 전에 먼저 Deny 를 평가하고, 그 다음 Allow 에 override 함. 그리고 여기에 매치되지 않는 나머지 호스트 모두 Allow 됨. 따라서 이 Order 의 기본정책은 첫번째 Deny 지시자에서 결정함
즉 순서는,
1. Deny 매치 우선 결정(기본 정책 결정)
2. 그 다음 Allow 매치를 override 함
3. 나머지 포함되지 않은 호스트는 모두 Allow 됨
- Order Allow,Deny
Deny 를 평가하기 전에 먼저 Allow 를 평가하고, 그 다음 Deny 에 override 함. 그리고 여기에 매치되지 않은 나머지 호스트는 모두 Deny 됨. 이 Order 의 기본정책은 첫번째 Allow 지사자에서 결정함.
(*** 이점이 ProFTPd 와 서로 다름 ***)
ex1) 기본정책은 Allow 이고, 예외로 bad.com hacker.com 은 금지
ex2) 기본정책은 Deny 이고, 예외로 myhost.com 만 접근을 허용함
ex3) 중요
이것은 foo.apache.org 를 제외한 *.apache.org 만 허용하고 나머지 모든 호스트는 접근을 금지함(foo.apache.org 는 당연히 금지)
이유는 Order 순서에 의해서 Deny 를 평가하기 전에 Allow 를 평가하고, 그 다음에 Deny 매치에 override 하기 때문이며, 나머지 매치되지 않는 모든 호스트는 Deny 됨.
ex4) 주의
Allow 를 평가하기 전에 Deny 를 먼저 평가하기 때문에 평가 순서는 다음과 같음.
2. ProFTPd Order allow,deny
Order directive
- Syntax: Order [ Order allow,deny|deny,allow]
- Default : Order allow,deny
- Context : <Limit>
- Module : mod_core
- Compatibility : 0.99.0pl6 and later
Allow directive
- Syntax : Allow [ ["from"] "all"|"none"|host|network[,host|network[,...]]]
- Default : Allow from all
- Context : <Limit>
- Module : mod_core
- Compatibility : 0.99.0pl6 and later
- List : 구분 컴마(,)
A (partial) domain-name
Example: Allow from .proftpd.org <--- 아파치와 다르게 앞에 점 추가
A full IP address
Example: Allow from 10.1.2.3 <--- 아파치와 같음
A partial IP address
Example: Allow from 10.1. <--- 아파치와 다르게 뒤에 점 추가
A network/netmask pair <--- 없음
A network/nnn CIDR specification
Example: Allow from 10.1.0.0/16 <--- 아파치와 같음
ProFTPd 의 Order, Allow, Deny 지시자는 Apache와 비슷한 구문을 갖지만 그 결과는 아주 상이함.
- Order deny,allow <-- 우선권 deny 둠
allow 를 평가하기 전에 deny 를 먼저 평가하고 결정해 버림(overrid 하지 않음) 그리고 allow 를 평가하고(같은 것이 있으면 deny 가 우선), 나머지 매치되지 않은 모든 호스트는 deny 됨(아파치와 서로 반대임)
- Order allow,deny <-- 우선권을 allow 둠
deny 를 평가하기 전에 allow 를 먼저 평가하고 결정해 버림(overrid 하지 않음) 그리고 deny 를 평가하고(같은 것이 있으면 allow 가 우선), 나머지 매치되지 않은 모든 호스트는 allow 됨(아파치와 서로 반대임)
즉 같은 호스트가 allow 와 deny 에 둘다 있을 경우 그 우선권은 Order 지시자에서 설정한 앞부분의 keyword 에 따름.
deny 가 우선이므로 192.168.0.1 은 deny 됨.(Override 되지 않음) 또한 다음과 같이 Order 순서를 그대로 두고, 위치만 바꾸어도 동일함.
*중요)
ProFTPd 는 Apache 와 같이 Order 의 순서대로 Override 되지 않고, Order 순서에 의해서 먼저 접근을 결정해 버림.
ex1) 특정 호스트만 허용함
192.168.0.100 192.168.1.0/24 만 허용하고 나머지는 모두 접속을 금지함. 즉 특정 호스트만 허용(Allow) 하기 때문에 Order allow,deny 순으로 설정하여 우선권을 allow 가 갖도록함.
ex2) 특정 호스트만 금지함
ex1) 과 서로 반대임
ex3) 부분과 전체
ProFTPd 는 Override 되지 않기 때문에 제일 마지막에 Deny from all 설정이 온다고 하더라고 먼저 설정한 호스트(ex 128.44.26.1)는 Allow 되고, 상위 설정에서 포함되지 않은 나머지 호스트는 제일 마지막에 모두 Deny 됨
ex3) 우선권
192.168.0.152 호스트는 앞부분 'Allow from 192.168.0.*'에 포함되지만 Order 순서가 deny 가 우선이므로 결국 이 호스트는 deny 됨. 즉 같은 호스트가 allow 와 deny 에 둘다 있을 경우 그 우선권은 Order 지시자에서 설정한 앞부분의 keyword 에 따름.
위의 설정도 같은 동일한 설정임.
3. 비교
1) 설정방향
- Apache : Order 순서에 의해서 순차적으로 override 됨. 매치되지 않은 나머지 호스트는 Order 의 뒤쪽 keyword 에 따름
- ProFTPd : Order 순서에 의해서 순차적으로 먼저 결정함. 매치되지 않은 나머지 호스트는 Order 의 앞쪽 keyword 에 따름
2) override 비교
- Apache : override 됨(뒤에 온 놈이 장땡)
- ProFTPd : override 되지 않음(먼저 온 놈(?)이 장땡)
3) 기본 접근정책 비교
- Apache : 전체 --> 부분으로 override
- ProFTPd : 부분 먼저 설정 --> 나머지 결정
4) 리스트 나열 비교
- Apache : 빈공백(' ')으로 구분, 여러줄 일 경우 `'와 중복 지시자 모두 가능
- ProFTPd : 컴마(,)로 구분하고 여러줄일 경우는 중복 지시자만 가능
5) Partial IP 주소 비교
- Apache : 192.168.0 192.168.1 <-- 뒤에 점이 없음
- ProFTPd : 192.168.0.,192.168.1. <-- 뒤에 점이 있음
6) Partial domain-name 비교
- Apache : foo.com bar.com <-- 앞에 점이 없음
- ProFTPd : .foo.com,.bar.com <-- 앞에 점이 있음
4. 정리
1) 설정 방향
- Apache
Order 순서에 의해서 전체를 먼저 설정하고 나머지 부분을 Override 함
- ProFTPd
Order 순서에 의해서 부분을 먼저 결정하고 나머지 전체를 설정한
* 서로 반대임
2) 특정 호스트만 허용할 경우 : 기본 정책이 deny 임
- Apache
- ProFTPd
3) 특정 호스트만 막을 경우 : 기본 정책이 allow 임
- Apache
- ProFTPd
|
댓글목록
등록된 댓글이 없습니다.