node
-
[Nodejs] express-rate-limit으로 DoS 예방하기Knowledge 2019. 11. 20. 11:15
Nodejs의 express 모듈은 간편한 방식으로 Web API를 구성할 수 있게 해준다. 나름 안정성도 꽤 뛰어나 기본적으로 많이 쓰이는 모듈일 것이다. 그런데, Nodejs에 익숙하지 않아 일반적인 튜토리얼을 참고해 서버를 만들어 구동했더니, 예상치 않은 문제가 나타났다. 운영중인 서버에 단순 DoS (Denial of Service) 공격이 발생했는데, 서버 인스턴스의 모든 리소스가 순식간에 Max를 치고 서버가 무응답 상태로 전환되었다. 인스턴스가 살아는 있으나 간단한 SSH 접속 조차 불가능한 상태라 어쩔 수 없이 인스턴스 재부팅을 했다. 로그를 살펴보니 인커밍 패킷이 엄청 들어오고, CPU 점유가 맥스를 치고, 아웃고잉 패킷이 엄청 늘어났다. 대단한 서버도 아닌데, 왜 공격한지는 모르겠지만...
-
[우분투] nvm을 이용하여 node js + npm 설치하기Knowledge 2019. 9. 30. 13:59
자주 쓰지 않다보니 우분투에 Node.js를 설치하는 과정을 자주 잊어버려 이번에 남겨보려 한다. Node.js를 설치하는 방법은 여러 가지가 있다. 대표적으로 패키지 매니저를 이용한 방법, 소스코드에서 빌드하는 방법, Node.js에서 제공하는 curl 스크립트를 이용하는 방법, 또 NVM을 활용한 방법 등이 있을 것이다. 각 방법은 나름대로 장단점이 있는데 내 경우에는 NVM을 이용하는 방법이 가장 나아 보였다. Node.js는 버전에 따라 한참 발전하고 있는 스크립트이기에 서로 다른 버전의 Node.js를 선택적으로 사용할 수 있는 환경을 제공하는 NVM이 가장 적합했다. 1. 준비 대부분 우분투 환경에 미리 세팅이 되어 있겠지만, 소스코드 빌드가 필요하므로 빌드 환경부터 설치를 해야 한다. sud..