tomcat 도 메 인 바 인 딩 악성 도 메 인 바 인 딩 방지

2860 단어 tomcat
원본 주소:http://www.zlong.org/tomcat-binding-domain-bound-to-prevent-malicious-domain/
오늘 회사 의 한 서버 가 많은 악성 도 메 인 이름 에 연결 되 었 으 니, 전신 은 우리 가 서둘러 처리 해 야 한다. 그렇지 않 으 면 IP 를 차단 해 야 한다.
서버 는 tomcat 를 사용 합 니 다. 구 글 에서 많은 방법 을 찾 았 습 니 다. 모두 자신의 도 메 인 이름 을 연결 하 는 것 이 라 고 말 했 습 니 다. 다른 도 메 인 이름 을 연결 하지 못 하 게 하 는 방법 은 말 하지 않 았 습 니 다.
처음에 나 는 tomcat / conf / server. xml 를 수정 하고 engine 요 소 를 찾 아 기 존의 localhost 를 모방 하여 host 요 소 를 추가 했다. 예 를 들 어 www. fff. com 을 금지 하고 싶 으 면 이렇게 쓸 수 있다.

<Host name="www.fff.com"  appBase="notexists"
	unpackWARs="true" autoDeploy="true"
	xmlValidation="false" xmlNamespaceAware="false"></Host>

이 중 app Base 는 존재 하지 않 는 디 렉 터 리 이기 때문에 www. fff. com 에서 요청 할 때 실제 애플 리 케 이 션 에 접근 하지 않 습 니 다.그러나 이 는 www. fff. com 만 금지 할 수 있 고 fff. com 을 금지 하지 않 기 때문에 name 이 fff. com 인 host 를 추가 해 야 합 니 다. 그러면 너무 번 거 롭 고 일부 악성 도 메 인 이름 은 예측 할 수 없습니다. 얼마나 많은 도 메 인 이름 이 당신 의 IP 에 연결 되 는 지 모 르 기 때문에 이런 방식 은 통 하지 않 습 니 다.
위의 방식 은 기본 적 으로 허용 하고 금 지 된 것 을 열거 하 며 생각 을 바 꾸 고 기본 적 으로 금지 하 며 허용 하 는 것 을 열거 하 는 것 입 니 다. 그러면 OK 가 되 지 않 습 니까?그래서 두 번 째 방법 이 있 습 니 다.

<!-- default host is forbiden -->
<Engine name="Catalina" defaultHost="forbiden">
	<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
		resourceName="UserDatabase"/>
		  
	<!-- allow hosts -->
	<Host name="localhost"  appBase="webapps"
			unpackWARs="true" autoDeploy="true"
			xmlValidation="false" xmlNamespaceAware="false"></Host>
	<Host name="www.zh56.mobi"  appBase="webapps"
			unpackWARs="true" autoDeploy="true"
			xmlValidation="false" xmlNamespaceAware="false"></Host>	 	
	<Host name="222.73.227.231"  appBase="webapps"
			unpackWARs="true" autoDeploy="true"
			xmlValidation="false" xmlNamespaceAware="false"></Host>	 
			
	<!-- forbiden host, the appBase is a not exists directory. 
	If the requested domain is not in the above list of hosts where are allowed, then use this host.-->
	<Host name="forbiden"  appBase="notexists"
			unpackWARs="true" autoDeploy="true"
			xmlValidation="false" xmlNamespaceAware="false"></Host>	
</Engine>

Engine 의 defaultHost 를 forbiden 으로 설정 합 니 다. 아래 에 name 이 forbiden 인 host 가 있 습 니 다. app Base 는 존재 하지 않 는 디 렉 터 리 입 니 다.허 용 된 host 를 추가 합 니 다.따라서 알 수 없 는 도 메 인 이름 이 라면 forbiden 의 host 를 사용 하여 실제 응용 디 렉 터 리 에 접근 할 수 없습니다.

좋은 웹페이지 즐겨찾기