나는 매우 흥미로운 기사를 발견했습니다. 리눅스나리아 서버가 공격을 받고 있는지 감지하는 방법 DDoS 공격 (분산 서비스 거부), 또는 같은 것, 서비스 거부 공격.
이러한 유형의 공격은 매우 흔하며 서버가 다소 느리고 (레이어 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 시스템의 경우
출처 : 리눅스나리아