
개발 서버를 위한 간단한 Apache 웹 서버 설정과 기본 IP 테이블(ufw)이 있습니다. 내 로그에 다음과 같은 줄이 표시됩니다.
[Fri May 16 10:10:36.258369 2014] [:error] [pid 15926] [client 69.147.158.130:8396] script '/var/www/html/wp-login.php' not found or unable to stat
나는 WordPress를 전혀 실행하지 않고 있으며 이것이 매우 사소한 해킹 시도라는 것을 알고 있습니다(Apache에 대한 훨씬 더 정교한 공격이 있습니다). 하지만 Snort와 같은 IDS/IPS를 설치하지 않고 이 IP 주소를 (일시적으로) 자동으로 차단하고 싶습니다.
저는 wp-admin 또는 wp-login에 연결을 시도하는 주소를 차단하는 간단한 방법을 찾고 있습니다. 이와 같은 작업을 처리하는 Apache 모듈이 있습니까?
답변1
IP 주소를 차단하는 솔루션을 분명히 요구하고 계시지만, 저는 그것이 좋은 솔루션이라고 생각하지 않습니다.
그 이유는 이러한 시도가 하나의 마스터 시스템에 의해 제어될 가능성이 가장 높은 다양한 IP 주소에서 발생하기 때문입니다. 이것이 오늘날 DDoS 및 해킹 시도가 발생하는 방식의 본질입니다.
대신 구현을 검토해야 합니다.모드 보안. 웹 서비스 수준 방화벽 역할을 하는 Apache 모듈입니다. 이는 귀하의 사이트로 들어오는 모든 웹 트래픽을 분석하고 알려진 비정상적인 동작을 감지하면 "403: Forbidden" 응답을 통해 해당 트랙에서 차단된 액세스를 차단합니다.
이제 약간 부정적인 측면은 MidSecurity에 잘 작동하는 수십 개의 기본 규칙 세트가 있지만 잘못된 긍정을 유발할 수 있다는 것입니다. 따라서 이를 구현할 때 처음 몇 주 동안 조정해야 할 가능성이 높습니다.
그러나 최종 결과는 이 "사용자에 대해 알아가는" 기간이 지나면 알려진 나쁜 동작으로부터 사이트를 경험적으로 보호하는 도구를 갖게 된다는 것입니다. IP 주소 목록만 보관하는 것이 아닙니다.
답변2
자동으로 차단하는 것은 권장하지 않으며 수동으로 IP를 차단하는 것이 좋습니다. 제가 할 수 있는 유일한 자동화 시스템은 비슷한 오류가 있는지 로그를 구문 분석하는 스크립트나 유사한 것입니다.
ufw로 IP를 차단하려면
sudo ufw deny from <ip address>
iptables로
sudo iptables -I INPUT -s <ip address> -j DROP
답변3
나에게 맞는 솔루션은 @ceejayoz의 의견에 언급된 대로 Fail2ban입니다.
@iain - 사실 중복된 내용입니다. 지적해 주셔서 감사합니다.