iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP

- 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다.
   이는 정상적인 요청이 아닌 공격으로 간주한다.


iptables -m connlimit -h

# iptables -A FORWARD -m recent --name badguy --rcheck --seconds 300 -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -m recent
--name badguy --set -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
위의 3 줄을 실행하면 가능한데,단순히3번째 룰인
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
만 실행하게 되면,한 IP에서의 동시접속이 30회만 접속을 허용할 뿐 그 이상 접속을 하지
못하지만, 위의 두 룰을 함께 사용하게 되면 동시접속이 30회 이상 초과하는 IP를 dynamic
하게 300초(5분)동안 자동 차단하게 된다. 동시접속수(30) 제한이나 차단시간(5분)은 각자
의 환경에 따라 적절히 설정하면 된다.
이때 과다접속으로 차단된 IP에 대한 정보는 다음과 같이 실시간으로 확인할 수 있다.
# cat /proc/net/ipt_recent/badguy



출처: http://gampol.tistory.com/entry/ddos공격-예방-iptables룰 [유효하지 않네]

블로그 이미지

칩사마코더

,

http://myexternalip.com/raw

'기타' 카테고리의 다른 글

객체 실수 부분...  (0) 2016.12.02
웹프로그래밍 하기 위해 공부해야될것들...  (0) 2016.09.06
블로그 이미지

칩사마코더

,

메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

EC2 인스턴스를 만들어 보면 특징이 하나 있는데, swap 파티션이 없다.

추측하기로 이는 필요한 메모리에 맞는 상위 인스턴스를 사용하라는 AWS 의 영업전략으로 보인다.

하지만 대부분의 경우 제공 받은 메모리로 충분하지만 간혹 사용자가 늘어서 메모리가 부족하여 서버가 죽는 경우라면

이를 위해 상위 인스턴스를 사용하는 것보다는 swap 을 추가하는 것이 비용면에서 효율적이다.

 

또한 EBS 전용 인스턴스가 아닌 m3.large 급 정도만 되면 재부팅시마다 초기화되는 추가 Instance Storage를 제공해준다. (속도도 EBS보다 빠름)

따라서 EBS말고 Instance Storage에 swap을 만들어주면 효율적이다. Instance Storage가 제공되지 않는 인스턴스에서는 EBS에 만들어야 한다.

물론 t1.micro 같은 Free Tier 인스턴스는 제공 메모리 613MB 웬만한 서비스를 하나 돌려볼려면 swap을 추가하는 것은 필수라고 할 수 있다.


가장 많이 사용할 것으로 보이는 t2.micro Amazon Linux (메모리 996MB) 기준으로 작업

 

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=512     # 512MB 스왑용 파일 생성
   
$ sudo chown root:root /swapfile    # root 소유
   
$ sudo chmod 600 /swapfile          # 권한설정
   
$ sudo mkswap /swapfile
   
$ sudo swapon /swapfile
  
$ sudo swapon -a
  
   
 
$ sudo vi /etc/fstab        # 리부팅시 인식할 수 있도록 fstab에 등록 (실수할 경우 부팅이 안될 수 있으니 스냅샷 + 조심!)
   
가장 아래줄에 내용추가
   
/swapfile   swap   swap   defaults  0  0
   
 
$ sudo swapon -s    # sanity test  Swap 에 설정한 용량이 사용되었는지 확인
   
$ free -m           # sanity test  Swap 에 설정한 용량이 사용되었는지 확인


'리눅스' 카테고리의 다른 글

리눅스 디스크 추가 후 마운트 하기  (2) 2017.04.29
ddos공격 예방 iptables룰  (0) 2017.04.07
aws 서버 한국시간으로 맞추기  (0) 2017.03.31
폴더 및 파일 권한 변경  (0) 2016.12.13
iptalbes란?  (0) 2016.11.02
블로그 이미지

칩사마코더

,