2011-08-04 4 views
5

약간의 배경. 비영리 단체 웹 사이트를 운영하고 있습니다. 나는 죽은 링크를 발견 한 후 사이트에서 링크 검사기를 실행하고 몇 개 더 발견했습니다. 그래서 나는 실패한 링크를 기록하기 위해 커스텀 404 페이지를 구현했다. 이것은 내가 끊어진 링크를 고치고 다른 사람들에게 링크가 끊어져서 링크가 깨 졌음을 알려줍니다.웹 사이트를 해킹하려는 시도에 대한 최선의 접근 방법

그것은 매우 빠르게 흥미로운 발견으로 이어질 : 그들은 등, 놀라 울 정도로 보안을 우회 phpMyAdmin을, 포럼 등의 일반적으로 사이트에서 찾을 수있는 표준 소프트웨어 패키지의 취약점을 악용하려는 시도가 많이 있습니다

나는 로그 범죄자의 IP 주소는 거의 미국 내 출신이 아니며, 우리 조직은 미국의 소규모 지역에만 초점을 맞추고 있으므로 다음과 같은 방식으로 PHP를 통해 금지하고 있다고 생각했습니다. 모든 페이지에서 사용되는 헤더 파일에있는 가해자는 목록에 속하며 단순히 메시지로 사망합니다.

좋은 접근 방법입니까? 더 좋은 점이 있나요? 그들이 우려하고있는 점은 그들 에 취약하며 접근권을 획득 할 수 있다는 것입니다.

+2

404 오류를 생성하는 모든 IP를 금지하기 만하면 fail2ban 소프트웨어를보십시오 – zerkms

+0

그건 끔찍한 일입니다. 따라서 URL의 철자를 잘못 입력하면 금지됩니까? 아니면 내가 너를 오해 했니? –

+0

예, 오해합니다. 해킹 시도 만 금지됨 – steveo225

답변

4

미국 이외 지역에있는 IP를 블랙리스트에 올리는 방법은 단기간에 약간 효과적 일 수 있지만 장기적으로는 실격이 될 것입니다. 사용자 기반에 영향을 미치지 않고 미국 이외의 국가의 IP를 제외 할 수있는 경우 Maxmind GeoIP과 같은 서비스를 활용하여 PHP 코드로 국가를 식별하고 외부의 액세스를 거부 할 수 있습니다.

헤더 파일의 목록이나 배열에 이들을로드하는 것이 잠시 후에 다루기 힘들어지고 성능에 영향을 미칠 수 있습니다. 금지 목록을 데이터베이스에 저장하고 사이트에서 세션을 설정할 때 IP를 확인하는 것이 좋습니다.

그러나 가장 중요한 조치는 항상 포럼, 블로그, 위키 등의 타사 소프트웨어 패키지에 보안 패치가 있는지 확인하는 것입니다. 일반적인 웹 응용 프로그램에 대한 악용은 널리 알려져 널리 널리 알려 지므로 패치를 유지하는 것이 중요합니다.

부록 가끔 http://www.exploit-db.com/을 악용하여 새로운 악용 사례를 지켜보십시오.

+0

솔직히, 나는 대부분이 나쁜 사이트를 유지하는 데 도움이 된 것은 사이트가 하우스 소프트웨어에서만 사용한다는 것입니다. 따라서 최신 상태로 유지하는 것이 좋습니다. 솔직히 차단 된 IP는 아마도 결국 목록에 오지 않고 결국 데이터베이스에 저장 될 것입니다. 지금은 목록이 아주 작습니다. – steveo225

1

미국에서 IP 주소를 지정하려면 MaxMind GeoLite Country해야합니다.
무료 및 GPL이며 사이트에 숨어 있습니다.

대부분의 IP는 항상 옳다 나라를 얻을이 무료 DB,
을 사용하고 내 경험 에 거기 로케이터.

이 (그들로부터 구매 가치가 하나가 GeoIP가 도시 데이터베이스입니다, 데이터의 종류는 더 변경할 수 있으며 GeoLite City의 시간이 바로 70 % 미만을 얻는다 - 꽤 멋진 오류)

GeoLite는 데이터베이스와 이진 풍미를 제공합니다.
바이너리 파일에는 색인 된 룩업을 수행하는 PHP 라이브러리가 있습니다.

어쨌든 나는 그들을 완전히 금지하지 않을 것입니다. 어쨌든입니다.

왜? 많은 이유.
하나는 다음과 같습니다. 사람들은 언젠가 외국 여행을 떠나기 때문에 전성기 동안 사이트를 확인하려고 할 수 있습니다.

내가 너라면, 페이지에 recaptcha를 넣고 패스하면 비밀 일일 쿠키으로 설정하십시오.
뭔가 같은 :

hash('md5',$salt.date('Ymd')); 

(어쨌든 MD5는 그 사용하지 않아야합니다, - SHA-1을 사용하여 해시를 CALC 하루 동안 그것을 캐시)

당신은 을 설정할 수 있습니다 비밀 일용 쿠키도 GeoLite 테스트를 통과 한 IP에 전달됩니다.
그래서 매번 방문 할 때마다 찾아 볼 필요가 없습니다.

관련 문제