보관함

c# 양력 음력 변환

ddos 종류

구분 공격 특징 증상
네트워크 레벨 변조된 UDP Flooding 공격 변조 또는 실제IP를 이용하여 다량의 UDP 패킷을 전송하여 공격 대역폭 고갈
ICMP/IGMP Flooding 공격 ICMP spoofed unreachable Flood(smack/bloop/puke attack) 1000~1500byte 정도의 큰 패킷을 공격 대상 서버(네트워크)로 전송 대역폭 고갈
Sumrf 공격 ICMP broadcast”echo-reply”flood 대역폭 고갈
Fraggle 공격 대량의 UDP/ICMP echo traffic을 발생시켜 서버부하 UDP spoofed broadcast echo 서버 부하
서비스 레벨 DNS 변조 UDP 53, DNS reflector attacks DNS 서비스 장애
SIP 메시지 공격 UDP 500 인터넷 전화 장애
RTP/RTCP Flood During call VOIP 서비스 장애 VOIP 서비스 장애
SMTP flood 대량의 메일을 발송 메일 서비스 장애
TCP 레벨 TCP Connection Flooding 실제 IP를 이용하여 다량의 TCP syn패킷을 전송하는 공격 서버 부하
SYN/ACK/SYN-ACK/FIN Flooding 공격 서버로 지속적인 SYN패킷 전송하여 서버의 커넥션 상태를 Half-connection 상태로 만듬 서버의 메모리 누수
(시스템의 필요하지 않은 메모리는 점유하고 돌려주지 않는 상태)
TCP Open Flooding 공격 오직 TCP 3-way handshake를 이용하여 목표 시스템의 TCP Connection 한계치도달 Apache 커넥션수 600개 이상 발생
TCP Out-of-State Packet Flooding 변조 또는 실제 IP를 이용 다량의 패킷 (ACK,SYN+ACK,FIN)를 전송하는 공격 서버 부하
HTTP 레벨 HTTP Get Flooding 향상된 DDOS 공격으로 공격목표로 지정된 사이트에 다수의 좀비 호스트를 이용해 TCP Connection을 연결후 동시 다발적 GET Request를 보냄
서버에 이미지 파일을 1G로 GET을 보내면 서버 부하없으나 DB커넥션 DB과부하 발생
웹 서비스 장애
Page Refresh Flooding 새로고침 공격으로 TCP connection open과 Get request의 무한반복으로 서버 시스템의 자원 고갈 일반적으로 10개/초당 도구 사용시 1000개/초당 공격가능 웹 서비스 장애
Cc 공격 Cache control 명령을 좀비 PC가 수행 HTTP user-agent 헤더에 cache-control값을 추가 전송 웹서버의 Response 헤더를 추가하는 비정상적인 접속시도 트래픽 50MB 이하로 웹서버 및 DB서버 다운 좀비 PC 100개 일반 유저 30,000~50,000의 접속수 웹 서비스 장애
http error 404 존재하지 않는 웹페이지에 대한 반복적인 요청 공격 웹 서비스 장애

웹 사이트 성능 최적화 법칙

출처] http://developer.yahoo.com/performance/rules.html

Yahoo! 성능개선팀의 우수 사례(best practice)가 모여 웹 사이트 성능 최적화 14개 법칙

  1. Minimize HTTP Requests(HTTP요청을 최소화하라)
  2. Use a Content Delivery Network(CDN을 이용하라)
  3. Add an Expires or a Cache-Control Header(응답헤더에 Expires 혹은 Cache-Control을 추가하라)
  4. Gzip Components(gzip으로 압축하라)
  5. Put Stylesheets at the Top(스타일시트는 문서의 위쪽에 넣어라)
  6. Put Scripts at the Bottom(스크립트는 문서의 아래쪽에 넣어라)
  7. Avoid CSS Expressions(CSS Expression을 피하라)
  8. Make JavaScript and CSS External(자바스크립트와 CSS는 외부 파일로 만들어라)
  9. Reduce DNS Lookups(DNS 검색을 줄여라)
  10. Minify JavaScript and CSS(자바스크립트와 CSS의 크기를 작게 하라)
  11. Avoid Redirects(리다이렉션을 피하라)
  12. Remove Duplicate Scripts(중복 스크립트를 제거하라)
  13. Configure ETags(ETags를 설정하라)
  14. Make Ajax Cacheable(AJAX도 캐싱할 수 있도록 만들어라)
  15. Flush the Buffer Early(버퍼를 빨리 비워라)
  16. Use GET for AJAX Requests(AJAX 요청 시 GET을 사용하라)
  17. Post-load Components (사후 구성 컴포넌트)
  18. Preload Components(사전 구성 컴포넌트)
  19. Reduce the Number of DOM Elements(DOM 요소의 개수를 줄여라)
  20. Split Components Across Domains(컴포넌트를 도메인별로 분리하라)
  21. Minimize the Number of iframes(IFrame의 개수를 최소화하라)
  22. No 404s(404 오류가 발생하지 않게 하라)
  23. Reduce Cookie Size(쿠키의 크기를 줄여라)
  24. Use Cookie-free Domains for Components(컴포넌트는 쿠키가 없는 도메인을 사용하라)
  25. Minimize DOM Access (DOM 접근을 최소화하라)
  26. Develop Smart Event Handlers (이벤트 핸들러를 잘 개발하라)
  27. Choose <link> over @import(@import보다는 <link> 태그를 써라)
  28. Avoid Filters(CSS 필터를 피하라)
  29. Optimize Images(이미지를 최적화하라)
  30. Optimize CSS Sprites(CSS 스프라이트를 최적화하라)
  31. Don’t Scale Images in HTML(HTML로 지정한 크기보다 큰 이미지를 사용하지 마라)
  32. Make favicon.ico Small and Cacheable(favicon.ico 파일은 작게 만들고 캐싱되도록 만들어라)
  33. Keep Components under 25K(컴포넌트 크기를 25KB 이하로 유지하라)
  34. Pack Components into a Multipart Document(컴포넌트를 멀티파트 문서로 묶어라)
  35. Avoid Empty Image src(이미지의 src 속성 값을 빈 채로 만들지 마라)