내 centOS7 서버에 배포된 웹 애플리케이션에 대해 침투 테스트를 실행 중인 것 같습니다. 소스 IP 주소 11.21.32.44에서 포트 80 및 443으로 들어오는 요청을 차단하는 방법
OS 방화벽을 사용하여 차단하고, centOS7은 방화벽을 사용합니다.
다음에서 읽기페도라 문서규칙은 다음과 유사해야 합니다.
firewall-cmd --add-rich-rule="
rule family='ipv4'
source address='11.21.32.44'
port protocol='tcp' port='443' reject"
좋아, 이제 더 잘 생각해 보면 404 httpd 응답으로 N개의 요청 후에 특정 IP 주소를 자동으로 차단하는 방법을 찾고 싶습니다.
답변1
봇인 경우 대상 포트에 관계없이 모든 연결 시도를 안전하게 거부해야 합니다.
이를 위해서는 해당 IP 주소나 범위를 방화벽 차단 영역에 추가하는 것으로 충분합니다.
firewall-cmd --zone=block --add-source=203.0.113.208/29
whois $someip
ipcalc -d
잘 알려진 원치 않는 봇 데이터베이스를 사용하여 레코드 주소를 쿼리하여 범위를 결정할 수 있습니다 .
물론 개별 주소를 추가하는 것도 가능합니다.
--permanent
이러한 블록을 보존하려면 추가해야 할 수도 있습니다 .
Firewalld는 설정된 연결이 아닌 새로운 연결만 거부하므로 웹 서버에 설정된 연결이 여전히 로그에 채워질 수 있습니다.
이를 제거하려면 다음을 사용하여 죽일 수 있습니다 ss
.
ss -K dst 203.0.113.208
dst
(네, 봇의 소스 주소로 사용해야 합니다 )
여러 가지 위험이 관련되어 있으므로 이 프로세스를 자동화하는 것은 까다롭습니다.
- 공격 표면을 늘립니다.(이것은 이론적인 위험이 아닙니다. 과거를 검색하는 것이 좋습니다.결함 금지 CVE그리고 유사)
- 오탐지가 너무 많습니다. 즉, 자동화된 시스템이 과도하게 차단되어 합법적인 방문자/고객 또는 자신을 차단할 수 있습니다.
- ...