예방
-
[Nodejs] express-rate-limit으로 DoS 예방하기Knowledge 2019. 11. 20. 11:15
Nodejs의 express 모듈은 간편한 방식으로 Web API를 구성할 수 있게 해준다. 나름 안정성도 꽤 뛰어나 기본적으로 많이 쓰이는 모듈일 것이다. 그런데, Nodejs에 익숙하지 않아 일반적인 튜토리얼을 참고해 서버를 만들어 구동했더니, 예상치 않은 문제가 나타났다. 운영중인 서버에 단순 DoS (Denial of Service) 공격이 발생했는데, 서버 인스턴스의 모든 리소스가 순식간에 Max를 치고 서버가 무응답 상태로 전환되었다. 인스턴스가 살아는 있으나 간단한 SSH 접속 조차 불가능한 상태라 어쩔 수 없이 인스턴스 재부팅을 했다. 로그를 살펴보니 인커밍 패킷이 엄청 들어오고, CPU 점유가 맥스를 치고, 아웃고잉 패킷이 엄청 늘어났다. 대단한 서버도 아닌데, 왜 공격한지는 모르겠지만...