Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

Linux에서 DDOS 공격을 차단하는 방법

Linux 사용자를 위한 이 가이드는 서비스 거부 공격에 사용되는 IP 주소를 탐지하고 차단하는 방법을 보여줍니다.

우리는 며칠 전에 Linux의 iptables에서 IP 주소를 차단하는 방법에 대한 기사를 실행했습니다. 다음은 서비스 거부(또는 DOS) 공격의 경우 공격자의 IP 주소를 감지하는 방법을 보여주는 무료 기사입니다.

이를 위해 우리는 psad라는 무료 소프트웨어를 사용할 것입니다. 사드 iptables와 동기화하여 작동하고 iptables 로그를 모니터링하고 일반적으로 누군가 Linux 서버에 침입하려는 징후인 포트 스캔 및 기타 의심스러운 트래픽을 확인합니다.

시작하려면 psad를 설치하십시오. Ubuntu 또는 Fedora와 같은 멋진 패키지 관리 시스템이 있는 Linux 버전을 실행 중인 경우 다음 명령 중 하나를 사용하여 시스템에서 psad를 얻을 수 있어야 합니다.

# sudo apt-get install psad
또는
# yum install psad

이것이 작동하지 않으면 psad 다운로드 페이지로 이동하여 적합한 형식을 다운로드하십시오.

Ubuntu Linux 서버를 사용하므로 이 자습서의 나머지 부분은 Ubuntu에 국한됩니다. 그러나 약간의 조정만 하면 다른 Linux 버전에서도 작동할 수 있습니다. syslog.conf를 엽니다. 좋아하는 텍스트 편집기로 파일:

# vim /etc/syslog.conf

파일 끝에 다음 줄을 추가합니다.

kern.info |/var/lib/psad/psadfifo

다음 명령을 사용하여 동일한 작업을 수행할 수 있습니다.

# echo -e 'kern.info\t|/var/lib/psad/psadfifo'>> /etc/syslog.conf

이제 sysklogd를 다시 시작합니다. 및 klog 데몬:

/etc/init.d/sysklogd 재시작
/etc/init.d/klogd 재시작

psad가 작동하는 방식은 iptables가 의심스러운 IP를 감지하고 차단하도록 지시하는 것입니다. 때때로 이로 인해 사용하는 IP가 차단될 수 있습니다. 이 문제를 해결하려면 안전한 IP 주소 목록이 포함된 파일을 만들어야 합니다. 다음과 같은 파일을 만드십시오:

# vim /home/calvin/safeiplist.cfg

허용 목록에 psad가 필요한 IP 주소를 입력하십시오.

127.0.0.0/24
192.168.0.0/24
122.164.34.240

다음과 같은 스크립트를 사용하여 필요한 규칙으로 iptables를 구성하지 마십시오. 참고 이 스크립트는 iptables 설정에서 모든 이전 설정을 제거합니다. Linux 서버에 다음 스크립트를 복사하여 붙여넣고 WORKDIR 변수를 바꿉니다. 및 SAFEIPLIST 설정에서 올바른 설정으로.

WORKDIR="/home/calvin/"
INTERVAL="5"
HITCOUNT="5"
SAFEIPLIST="safeiplist.cfg"

cd $WORKDIR

iptables -F
if [ -f $SAFEIPLIST ]; then
IPS=$(grep -Ev “^#” $SAFEIPLIST)
for i in $IPS
do
iptables -A INPUT -s $i -j ACCEPT
완료
완료

iptables -A INPUT -m state –state NEW -m 최근 –set
iptables -A INPUT -m state –state NEW -m 최근 –update –seconds $INTERVAL –hitcount $HITCOUNT -j LOG

스크립트가 하는 일은 5초 동안 연결을 5번 이상 시도하면 IP 주소를 기록하는 것입니다. 스크립트를 수정하는 동안 무엇을 하고 있는지 모르는 경우가 아니면 스크립트를 있는 그대로 사용하는 것이 좋습니다. 완료되면 실행 권한을 부여하고 실행하십시오.

# chmod +x /home/calvin/ipblock.sh

# /home/calvin/ipblock.sh

이제 psad로 돌아갑니다. psad 구성 파일을 열고 편집하십시오. 이것이 내가 제안하는 변경 사항입니다. 자유롭게 psad 문서를 살펴보고 다른 사항을 변경하십시오:

EMAIL_ADDRESSES you@yourdomain.com,

머신의 호스트 이름 설정:

HOSTNAME yourdomain.com;

이 서버에 네트워크 인터페이스가 하나만 있는 경우 HOME_NET을 설정합니다. 받는 사람:

HOME_NET NOT_USED;

psad에 대한 위험 수준을 조정하고 무시할 포트 집합을 정의해야 할 수도 있습니다. 예를 들어 psad에게 udp 포트 80 및 8080을 무시하도록 요청하려면 다음과 같이 변경합니다.

IGNORE_PORTS udp/80, udp/8080;

파일을 저장하고 닫습니다. 그런 다음 psad를 다시 시작하십시오.

# /etc/init.d/psad 재시작

이제 가도 됩니다. psad의 보고서를 모니터링하려면 다음 명령을 실행하십시오:

# psad -S

자동으로 클럭된 IP를 제거하려면 다음 명령을 실행하십시오.

# psad -F

psad는 매우 다양하고 강력한 도구입니다. 사용법을 알면 놀라운 일을 할 수 있지만 그렇지 않으면 컴퓨터를 엉망으로 만들 수 있습니다. 따라서 psad를 주의해서 사용하십시오.