로그인
Sign in
FAQ내용 [FAQ57] 넘버원 리눅스로 웹서버를 운영하고 있습니다. 웹 서버가 느려져서 네트워크 접속 상태를 체크해 보니 Syn_recv 패킷이 많습니다. 어떻게 처리하면 될까요?

Syn_Recv DDOS Attack 
참고URL  
참고URL  
메뉴분류 보안 

netstat -nat | grep syn_recv 명령을 실행하였을 때 여러 개의 동일한 아이피로부터 syn_revc 패킷이 있다면  Syn_recv 패킷을 이용한 DDos 공격일 가능성이 높습니다. 이런 패킷이 많아질수록 서버가 느려지고, 결국엔 서버가 다운될 수 있으므로, 다음과 같이 조치를 하는 것이 좋습니다.


sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.conf.all.rp_filter=1


상기 두 명령을 루트 권한으로 실행해 주면 패킷수가 상당히 줄어 들 것입니다. 그런 후에 DDOS 공격하는 아이피를 방화벽에서 차단하는 조치를 하는 것이 좋습니다.


넘버원 리눅스에서 지원하는 shorewall 방화벽을 통해 특정 아이피 또는 특정 네트워크대를 차단하는 방법을 알려 드립니다.


먼저 /etc/shorewall/interfaces 설정에서 옵션으로 blacklist를 다음과 같은 형식으로 추가합니다.

net                    eth0               detect        blacklist

그런 다음에 /etc/shorewall/blacklist 빈 파일을 생성합니다(touch /etc/shorewall/blacklist)


마지막으로 네트워크 접속 상태를 체크하여 공격자의 아이피를 추출하여 blacklist 파일이 기록되게 끔 하는 스크립트를 생성합니다.

#!/bin/bash

syn_check=$(netstat -nat | grep SYN_RECV | wc -l)

if [ $syn_check -gt '5' ]; then
netstat -nat | grep SYN_RECV | awk '{print $5}' | sed 's/:.*$//g' | sort -u > /etc/shorewall/syn_blacklist
else
cat /dev/null > /etc/shorewall/syn_blacklist
fi

syn_blacklist=$(cat /etc/shorewall/syn_blacklist)

for i in $syn_blacklist; do
black_ck=`cat /etc/shorewall/blacklist | grep $i`

   if [ ! $black_ck ]; then
        echo $i >> /etc/shorewall/blacklist
        echo `date` $i BlackList로 등록 >> /etc/shorewall/blacklist.log
        /etc/init.d/shorewall restart
   fi
done

상기 내용으로 만든 스크립트에 실행 권한을 준 후 실행해 주면 blacklist 파일에 공격자의 아이피가 등록됩니다. 공격자의 아이피가 실제로 공격자 아이피가 아닌 오류가 있을 수도 있습니다. 등록된 아이피가 이전에도 남용된 아이피인지를 정확하게 판단하기 위해서는 다음과 같은 사이트에서 아이피를 확인해 보면 됩니다.


https://www.abuseipdb.com/


[주의] 상기 스크립트는 완벽하지 않은 것이기 때문에 다소 주의해서 사용해야 합니다. 스크립트 내용을 보면 syn_recv 패킷을 보낸 대상 아이피에 대해서 차단하고 있는데, 공격자가 아닌 일반 사용자의 아이피도 포함될 수 있기 때문에 공격자의 남용 아이피와 비공격자의 아이피를 확인해 봐야 합니다. 이에 맞게 스크립트를 수정해서 사용하면 DDOS syn 공격을 최소화할 수 있을 것입니다.


[TIP] 방화벽에서 blacklist 정책이 적용되고 있는지는 shorewall list blacklst 명령으로 확인해 볼 수 있습니다.

# shorewall list blacklst
Shorewall 4.4.11 Chain blacklst at localhost - 2019. 08. 14. (수) 01:34:10 KST

Counters reset 2019. 08. 14. (수) 01:20:08 KST

Chain blacklst (4 references)
 pkts bytes target     prot opt in     out     source               destination        
    0     0 DROP       all  --  *      *       103.196.240.0/24     0.0.0.0/0          
    0     0 DROP       all  --  *      *       103.196.241.0/24     0.0.0.0/0  


상기 예제의 경우 103.196.240.0 네트웍 대와 103.196.241.0 네트웤대의 모든 호스트들에 대해서 차단하고 있음을 보여 줍니다.

번호 제목 글쓴이 날짜 조회 수 추천 수
60 [FAQ60] No1.Linux 2019 버전에서 바탕화면 시스템 정보가 보이지 않습니다. 시스템 정보가 나타나도록 하려면 어떻게 해야 할까요? [1] No1Linuxer 2019.08.18 3 1
59 [FAQ59] 주로 인터넷을 사용하기 때문에 모니터 스탠드를 구입하여 세로로 사용하고자 합니다. 화면을 세로로 사용하는 방법에 대해서 알려 주세요. updatefile No1Linuxer 2019.08.17 3 0
58 [FAQ58] 스크립트를 생성한 후 스크립트를 실행하면 오류가 발생합니다. 오류 메시지는 허가거부입니다. zharyong 2019.08.14 2 0
» [FAQ57] 넘버원 리눅스로 웹서버를 운영하고 있습니다. 웹 서버가 느려져서 네트워크 접속 상태를 체크해 보니 Syn_recv 패킷이 많습니다. 어떻게 처리하면 될까요? [1] zharyong 2019.08.12 8 0
56 [FAQ56] 시냅틱에서 크롬을 설치하고자 했는데, 이유없이 시냅틱이 종료되요. file No1Linuxer 2019.08.11 1 0
55 [FAQ55] 넘버원 리눅스를 데스크탑으로 사용하면서 간단한 서버를 운영하고자 하는데, 이 때 보안 유지를 위해 방화벽을 설치하고자 합니다. 방화벽을 설정하는 방법에 대해서 알려 주세요 zharyong 2019.08.08 7 0
54 [FAQ54] 오디오 레코더 프로그램으로 녹음한 후 컴퓨터를 재시작하게 되면 이 프로그램이 계속 뜨게 되요. 프로그램을 종료했음에도 불구하고 계속 뜨는데, 안 뜨게 하는 방법이 있을까요? file No1Linuxer 2019.08.05 3 0
53 [FAQ53] 플라즈마 데스크탑에서 마우스 휠을 돌리면 데스크탑 화면이 이상해져요!!! file No1Linuxer 2019.08.03 3 0
52 [FAQ52] 파이어폭스에서 마우스 휠로 자동으로 스크롤되게 끔 하는 방법을 알고 싶습니다. file No1Linuxer 2019.08.02 2 0
51 [FAQ51] draklive-install로 하드 디스크로 설치하는 과정에서 오류가 발생됩니다. 오류 발생 과정은 부트 설치 단계입니다. No1Linuxer 2019.08.01 2 0
50 [FAQ50] 넘버원 리눅스에서 아두이노를 사용할 수 있나요? No1Linuxer 2019.07.31 3 0
49 [FAQ49] 웹툰을 꿈꾸는 아티스트 지망생입니다. 리눅스를 이용하여 웹툰 제작을 하고자 하는데, 어떤 버전의 넘버원 리눅스를 사용해야 하는지, 또한 넘버원 리눅스는 어떤 태블릿을 지원하며, 어떤 프로그램을 이용하는지 알고 싶습니다. file No1Linuxer 2019.07.31 6 0
48 [FAQ48] 노트북의 HDMI 단자를 TV HDMI로 연결하였을 때 듀얼 모니터 구성이 가능한지요? file zharyong 2019.07.31 2 0
47 [FAQ47] 공개용 글꼴을 추가로 설치하고 싶습니다. 글꼴을 추가하는 방법에 대해서 알려 주세요. file No1Linuxer 2019.07.30 7 0
46 [FAQ46] 파이어폭스에서 글꼴 크기를 크게 하거나 작게 하려면 어떻게 하나요? No1Linuxer 2019.07.30 8 0
45 [FAQ45] 동영상 파일은 무엇으로 편집할 수 있나요? file No1Linuxer 2019.07.29 8 0
44 [FAQ44] 동영상 캡쳐는 어떻게 하나요? file No1Linuxer 2019.07.29 5 0
43 [FAQ43] 화면 캡쳐는 어떻게 하나요? file No1Linuxer 2019.07.29 7 0
42 [FAQ42] 마우스가 고장나서 마우스를 사용할 수 없는데, 사용할 수 있는 방법이 있을까요? file zharyong 2019.07.26 2 0
41 [FAQ41] 한컴 한글뷰어를 지원하나요? file zharyong 2019.07.26 8 0