아시는 분이 많으시겠지만, IP 접근제한에 대해서 물어보는 팀원이 있어서 정리했습니다. 최근에는 보안인식이 고취되어서 많은 사람들이 관심이 있네요. 많이 사용되는 Apache, Tomcat 환경에서 IP 기반 접근제어 방법은 다음과 같습니다.


Apache IP 접근제한

Apache 환경설정파일 httpd.conf 파일에 아래의 내용을 추가하고 재시작


<Directory "/disk_1/www/sample" >

AllowOverride all

Order allow,deny

Allow from 192.168.10.11

Deny from all

</Directory>


Order Deny,Allow 의 경우

Allow 를 평가하기 전에 먼저 Deny 를 평가하고, 그 다음 Allow 에 override 함. 그리고 여기에 매치되지 않는 나머지 호스트 모두 Allow 됨. 따라서 이 Order 의 기본정책은 첫번째 Deny 지시자에서 결정함


Order Allow,Deny 의 경우

Deny 를 평가하기 전에 먼저 Allow 를 평가하고, 그 다음 Deny 에 override 함. 그리고 여기에 매치되지 않은 나머지 호스트는 모두 Deny 됨. 이 Order 의 기본정책은 첫번째 Allow 지사자에서 결정함.


참고 : http://httpd.apache.org/docs/2.2/howto/access.html


Tomcat IP 접근제한

Tomcat 환경설정파일 server.xml 의 <Host> ... </Host> 안에 아래의 내용을 추가하고 재시작

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.10.4"/>

또는

<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="거부할 IP"/>


참고 : http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html


IPTABLES IP 접근제한

iptables -I INPUT -s 65.24.7.10 -j DROP

iptables -A INPUT -s 192.168.100.0/24 -j DROP

iptables -I INPUT -m iprange --src-range 65.24.7.10-6524.7.13 -j DROP


hosts.deny, hosts.allow IP 허용/차단

/etc/hosts.deny

#모든서비스 접근제한

ALL:ALL

# ssh 접근 제한

SSHD : 65.0.12.4


/etc/hosts.allow

#모든서비스 접근허용

ALL:ALL

# ssh 접근 허용

SSHD : 65.0.12.4, .mycompany.com




+ Recent posts