NetStat : DDoS 공격 감지 팁

나는 매우 흥미로운 기사를 발견했습니다. 리눅스나리아 서버가 공격을 받고 있는지 감지하는 방법 DDoS 공격 (분산 서비스 거부), 또는 같은 것, 서비스 거부 공격.

DDoS 공격을 방지하는 NetStat

이러한 유형의 공격은 매우 흔하며 서버가 다소 느리고 (레이어 8 문제 일 수도 있음) 사전 경고를 받아도 아프지 않은 이유 일 수 있습니다. 이렇게하려면 도구를 사용할 수 있습니다. NETSTAT, 네트워크 연결, 라우팅 테이블, 인터페이스 통계 및 기타 일련의 것들을 볼 수 있습니다.

NetStat 예

netstat -나

이 화면에는 서버의 모든 활성 인터넷 연결과 설정된 연결 만 포함됩니다.

netstat -an | grep : 80 | 종류

http 포트 인 포트 80에서 서버에 대한 활성 인터넷 연결 만 표시하고 결과를 정렬합니다. 단일 홍수를 감지하는 데 유용합니다 (홍수) IP 주소에서 많은 연결을 인식 할 수 있습니다.

netstat -n -p | grep SYN_REC | 화장실 -l

이 명령은 서버에서 발생하는 활성 SYNC_REC 수를 아는 데 유용합니다. 숫자는 상당히 낮아야하며 5 미만이 좋습니다. 서비스 거부 공격이나 메일 폭탄이 발생하면 그 수가 상당히 많을 수 있습니다. 그러나 값은 항상 시스템에 따라 다르므로 높은 값은 다른 서버에서 정상일 수 있습니다.

netstat -n -p | grep SYN_REC | 정렬 -u

관련된 모든 IP 주소의 목록을 작성하십시오.

netstat -n -p | grep SYN_REC | awk '{print $ 5}'| awk -F : '{print $ 1}'

SYN_REC 연결 상태를 전송하는 노드의 모든 고유 IP 주소를 나열하십시오.

netstat -ntu | awk '{print $ 5}'| 잘라 내기 -d : -f1 | 정렬 | uniq -c | 정렬 -n

netstat 명령을 사용하여 서버에 대한 각 IP 주소의 연결 수를 계산하고 계산합니다.

netstat -anp | grep 'tcp | udp'| awk '{print $ 5}'| 잘라 내기 -d : -f1 | 정렬 | uniq -c | 정렬 -n

TCP 또는 UDP 프로토콜을 사용하여 서버에 연결하는 IP 주소 수입니다.

netstat -ntu | grep ESTAB | awk '{print $ 5}'| 잘라 내기 -d : -f1 | 정렬 | uniq -c | 정렬 -nr

모든 연결 대신 ESTABLISHED로 표시된 연결을 확인하고 각 IP에 대한 연결을 표시합니다.

netstat -plan | grep : 80 | awk { 'print $ 5'} | cut -d : -f 1 | sort | uniq -c | sort -nk 1

서버의 포트 80에 연결하는 IP 주소 및 해당 연결 수를 표시하고 나열합니다. 포트 80은 주로 웹 요청을 위해 HTTP에서 사용됩니다.

DOS 공격을 완화하는 방법

서버가 공격하는 IP를 찾으면 다음 명령을 사용하여 서버에 대한 연결을 차단할 수 있습니다.

iptables -A INPUT 1 -s $ IPADRESS -j DROP / REJECT

$ IPADRESS를 netstat에서 찾은 IP 주소로 바꿔야합니다.

위의 명령을 실행 한 후 모든 httpd 연결을 KILL하여 시스템을 정리하고 나중에 다음 명령을 사용하여 다시 시작합니다.

killall -킬 httpd
service httpd start # Red Hat 시스템의 경우 / etc / init / d / apache2 restart # Debian 시스템의 경우

출처 : 리눅스나리아