
배경: 우분투에서 Apache 2를 실행하고 있습니다. 사용량이 적고 대부분 모바일 앱에서 웹 서비스 URL로 접속하고 있습니다. SSL 인증서를 설치하기 전까지는 잘 작동했습니다. 이제 http와 https가 모두 있습니다. https를 사용하여 서버에 액세스하면 상당히 빠른 응답을 받습니다(그러나 이전만큼 빠르지는 않을 것입니다). http를 사용하면 너무 느립니다.
내가 시도한 것: 에서이것우편:
- 나는
curl localhost
호스트에서 왔으며 시간이 좀 걸립니다. 이는 라우팅 문제가 없음을 의미합니다. - 서버는 Amazon EC2 인스턴스에서 실행되며 나만 관리합니다.
또한:
- Apache가 실행되면 이전에는 허용되지 않았던 최대 프로세스 수를 생성하는 것을 확인했습니다. MaxClients를 20으로 낮추었고 응답이 더 빨라진 것 같지만 여전히 1분 이상이 걸리고 항상 MaxClients Apache 프로세스가 있습니다.
dmesg
많은 것을 반환[ 1953.655703] TCP: Possible SYN flooding on port 80. Sending cookies.
- netstat을 실행하면
SYN_RECV
. 아마도 DDoS 공격일까요? - EC2의 모니터링 다이어그램에서 2일 전부터 높은 "최대 네트워크 입력(바이트)" 패턴을 볼 수 있습니다. 그런데 서버는 아직 테스트 중이므로 실제 트래픽은 매우 낮고 일관성이 없습니다.
- 같이 가려고 했는데이것을 사용하여 들어오는 연결을 제한하는 솔루션은
iptables
아직 운이 없지만 노력 중입니다.
질문: 무엇이 문제일까요? 이것은 DDoS 공격입니까?
업데이트: 나는 이 문제를 논의했다.여기. 그것은 실제로 DDoS 공격이었습니다. 일부 솔루션도 논의됩니다.
답변1
다음에는 무슨 일이 일어나고 있는지 더 잘 알기 위해 apachetop
또는 같은 것을 사용하고 싶을 수도 있습니다 . tail -f /var/log/httpd/access_log
아마도 특정 IP 범위나 동일한 URL, 일부 로그인 양식에 대한 무차별 대입 시도 등 인식 가능한 패턴으로 많은 요청이 들어오는 것을 보았을 것입니다. 해당 IP를 입력하여 이를 자동화하고 싶을 수도 있습니다. 특정 시간 동안 URL 요청이 충분히 높아지면 iptables 차단 규칙에 적용됩니다.