로그인
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 네트웤대의 모든 호스트들에 대해서 차단하고 있음을 보여 줍니다.

번호 제목 글쓴이 날짜 조회 수 추천 수
72 [FAQ72] 윈도에서 토렌트로 넘버원리눅스를 다운로드하고자 하는데, 다운로드가 안됩니다. file zharyong 2019.12.03 5 0
71 [FAQ71] KDE 플라즈마가 시작될 때 아무런 오류 메시지 없이 멈춥니다. 다시 시작해도 똑같습니다. zharyong 2019.11.18 9 0
70 [FAQ70] 인터넷뱅킹을 위해 PC보안및 바이러스 차단 패키지인 astx_f64.rpm 패키지를 설치하고자 하였는데, nss-tools 의존성 문제가 있습니다. zharyong 2019.11.05 23 0
69 [FAQ69] 인터넷뱅킹을 위해서 공인인증서 RPM 패키지들을 강제적 설치후 시스템 이상 발생 zharyong 2019.10.23 27 0
68 [FAQ68] No1.Linux 2019 버전을 저장소로부터 모든 패키지를 업데이트하였습니다. 그런데 업데이트한 후에 넘버원 리눅스 제어센터인 drakconf를 실행하면 오류가 발생됩니다. zharyong 2019.09.15 63 0
67 [FAQ67] 교회에서 프리젠테이션을 위해 OpenLP를 사용하고자 합니다. 넘버원 리눅스 저장소로부터 이 패키지를 설치한 후 openlp를 실행하면 오류가 발생합니다. 어떻게 하면 Openlp를 실행할 수 있을까요? file zharyong 2019.09.10 93 0
66 [FAQ66] No1.Linux 2019에서 최신 버전으로 kdenlive를 19.04.1에서 19.08.1 버전으로 업데이트하였습니다. 이전 버전에서는 문제없이 실행되던 kdenlive이 최신 버전에서는 실행되지 않습니다. 어떤 문제인가요? file zharyong 2019.09.09 91 0
65 [FAQ65] 신한은행 인터넷 뱅킹은 브라우저 인증만 가능하다고 들었습니다. 브라우저 인증하는 방법에 대해서 알려 주세요. file zharyong 2019.09.05 194 0
64 [FAQ64] 데스크탑에 블루투스 동글을 설치하여 오디오 앰프와 연결되어 있는 원격 데스크탑의 블루투스와 연결한 후 오데이셔스를 실행하여 음원을 재생하였는데 오디오 앰프에서 사운드가 나오질 않습니다. 어떤 것을 점검해야 할까요? file zharyong 2019.09.04 82 0
63 [FAQ63] 기업은행 인터넷 뱅킹이 넘버원 리눅스 2018 버전에서는 잘 되었는데, 2019 버전부터는 안되고 있습니다. 기업은행 인터넷뱅킹은 어려운가요? file zharyong 2019.08.29 67 0
62 [FAQ62] Wine으로 한컴오피스를 설치하고 한글을 실행했는데, 한글 폰트가 희미하게 나와 사용하기 불편합니다. 한글 메뉴 폰트들이 윈도우처럼 정상적으로 나오게끔 하는 방법이 있을까요? file zharyong 2019.08.29 137 0
61 [FAQ61] 삼성 잉크젯 복합기 SL-J1660를 사용하고 있습니다. 넘버원 리눅스 제어판을 통해서 설치할려고 했지만, 호환되는 드라이버가 없는 것 같습니다. 어떻게 설치해야 할까요? file zharyong 2019.08.20 107 0
60 [FAQ60] No1.Linux 2019 버전에서 바탕화면 시스템 정보가 보이지 않습니다. 시스템 정보가 나타나도록 하려면 어떻게 해야 할까요? [1] file No1Linuxer 2019.08.18 93 2
59 [FAQ59] 주로 인터넷을 사용하기 때문에 모니터 스탠드를 구입하여 세로로 사용하고자 합니다. 화면을 세로로 사용하는 방법에 대해서 알려 주세요. file No1Linuxer 2019.08.17 56 0
58 [FAQ58] 스크립트를 생성한 후 스크립트를 실행하면 오류가 발생합니다. 오류 메시지는 허가거부입니다. zharyong 2019.08.14 37 0
» [FAQ57] 넘버원 리눅스로 웹서버를 운영하고 있습니다. 웹 서버가 느려져서 네트워크 접속 상태를 체크해 보니 Syn_recv 패킷이 많습니다. 어떻게 처리하면 될까요? [1] zharyong 2019.08.12 73 0
56 [FAQ56] 시냅틱에서 크롬을 설치하고자 했는데, 이유없이 시냅틱이 종료되요. file No1Linuxer 2019.08.11 92 0
55 [FAQ55] 넘버원 리눅스를 데스크탑으로 사용하면서 간단한 서버를 운영하고자 하는데, 이 때 보안 유지를 위해 방화벽을 설치하고자 합니다. 방화벽을 설정하는 방법에 대해서 알려 주세요 zharyong 2019.08.08 35 0
54 [FAQ54] 오디오 레코더 프로그램으로 녹음한 후 컴퓨터를 재시작하게 되면 이 프로그램이 계속 뜨게 되요. 프로그램을 종료했음에도 불구하고 계속 뜨는데, 안 뜨게 하는 방법이 있을까요? file No1Linuxer 2019.08.05 39 0
53 [FAQ53] 플라즈마 데스크탑에서 마우스 휠을 돌리면 데스크탑 화면이 이상해져요!!! file No1Linuxer 2019.08.03 41 0