AWS Tomcat Manager 보안 IP 제한, EC2 Abuse

2019-11-12

자고 일어나니 Amazon EC2 Abuse라는 제목으로 메일이 와있었다. Abuse라는 단어를 보고 불안해진 필자는 바로 열어서 확인했다. 원리는 모르겠지만 누군가가 패킷을 보냈고 그래서 급격하게 사용량이 늘어나서 내게 메일이 온 것이었다. 어떻게 해야 할지 고민하던 중 Stackoverflow에서 그나마 타당해 보이는 해결책을 사용해보기로 했다.

일단 처음에는 Security Group에서 Inbound에 등록된 0.0.0.0 IP를 없앴다. 근데 이렇게 하면 사용자들이 내가 서비스하는 웹에 들어오지를 못하니 결국 다시 복구를 시켰는데 복구를 시키자마자 다시 공격이 들어왔다.

혹시 해킹은 아닐까 싶어서 비밀번호를 바꿔보기도 했지만 새로운 공격을 할 뿐이었다. 스트레스를 받던 중에 이전에 Tomcat Manager의 URL을 기본으로 사용하거나 누구나 접속할 수 있게 해두면 그걸 악용하는 사례가 많다는 게 기억났다. 그래서 Tomcat Manager 디렉토리에 설정 .xml을 만들어서 처리를 하니 다행히 CPU 사용량도 줄었고 모두 정상적으로 돌아왔다. 그 방법을 아래 써놓으려고 한다. 매우 쉬운 방법이다.

<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="47.52.210.*"/>
</Context>

원래는 allow 코드도 들어가는데 개인적으로 잘되지 않아서 그냥 공격 들어온 IP만 적어줬다.