2009-12-23 7 views
2

내 사이트 중 하나를 계속 공격하는 봇/해커의 IP 주소 목록이 있습니다. 나는이 방문객을 지적 재산권으로 차단하고자하며이를위한 "최선의"접근 방법을 찾으려고 노력 중이다. 내 사이트는 C# ASP.NET MVC를 사용합니다.금지 된 IP 주소로 사이트에 대한 액세스 차단

저는 IP가 List<int>입니다.

어디에서 체크 코드를 넣을 수 있습니까? 마스터 페이지의 Page_Load 이벤트를 사용할 생각이지만 각 컨트롤러의 필터에 넣을 수도 있습니다 ...

금지 된 IP로 어떤 HTML을 반환합니까? 해커에게 차단을 위해 필요한 정보를 제공 할 것이기 때문에 귀하의 IP가 금지되어 있기 때문에 차단 된 사이트를 반환하는 것을 꺼려합니다. 이 작업을 수행하는 이점은 일제 공격에 걸린 무고한 사용자가 사이트에 액세스 할 수없는 이유를 제공한다는 것입니다. 현재 "유지 관리중인 사이트"알림을 반환해야한다는 느낌입니다.

가짜 '유지 관리중인 사이트'알림으로 표시되는 HTTP 상태 코드는 무엇입니까? 난 당신이, 당신이 차단되지 않아야 사이트가 특정 IP에서 "해킹"되는 느끼는 경우

사이트 서버 2003

+0

어떻게 IP를 목록 에 맞추시겠습니까? :) – Ariel

+2

IP 주소는 32 비트 시퀀스입니다. 동시 적으로'System.Int32'도 마찬가지입니다. IP 주소는 종종 특정 형식의 텍스트로 표현됩니다. 십진법으로 표시되고 마침표로 구분됩니다. – yfeldblum

+0

관심있는 사람들을 위해 IP를 Int로 변환하는 방법 -> http://www.justin-cook.com/wp/2006/11/28/convert-an-ip-address-to-ip-number-with- php-asp-c-and-vbnet/ – Nate

답변

2

... 끔찍한 생각 당신은 (당신이 바깥쪽으로 향하도록 서버의 IP 주소를 차단할 수 있지만 귀하의 웹 서버는 분명히하지만 당신은 다른 사람을 가질 수 있습니다)이 목록은 모두에 걸쳐 복제해야합니다. 서버를 막음으로써 솔루션을 너무 복잡하게 만들뿐만 아니라 전체적으로 안전하지 않은 방법을 제공합니다.

네트워크 트래픽을 차단하는 적절한 지점은 포트 또는 IP 주소의 선택 목록이든 관계없이 네트워크에서 멀리 떨어져 있습니다. 이것은 일반적으로 진입 점의 방화벽/라우터입니다. 이러한 네트워킹 장치는 이러한 목적을 위해서뿐만 아니라 그 이상으로 최적화되어 있습니다. 네트워킹 장비 제조업체에 따라 기능 세트가 크게 달라질 수 있습니다.

내가 당신을 제안 :

  • 모든 라우터를 식별 /를 바깥 쪽 경계에서 방화벽. 가능하면 을로드하지 않는 한 만 가질 수 있습니다.
  • 장치에 대해 ACL (액세스 제어 목록)을 구성하는 방법에 대해 알아보십시오.
  • 차단할 IP 주소 주소 목록을 기반으로 ACL을 수정하십시오.
  • 네트워크의 백업을 항상 다른 곳에있는 장치 구성으로 저장하십시오.

물론 이것은 보안 상 빙산의 일각에 지나지 않습니다. 아마도 언젠가는 DOS (서비스 거부 공격)와 경쟁해야 할 것입니다.

행운을 비네.

12

에서 실행 (200)를 생각하고 소프트웨어 IP, 바로 그 일이 그 그들은 타협하고자합니다. 차단 된 IP는 방화벽에서 차단되어야합니다.

+4

아니면 방화벽에서 할 수 없다면 IIS에서 해보십시오. –

+0

훌륭한 조언. –

+0

그래서 IIS 나 방화벽에서 어떻게합니까? 또한 차단 된 IP로 무엇을 되돌려 주시겠습니까? – Guy

3

여러 가지 이유로 David에게이 사실에 동의해야합니다.

  1. 소프트웨어 해커/봇을 통해 차단하면 여전히 리소스 (대역폭, 프로세서 시간 등)를 남용 할 수 있습니다.

  2. 소프트웨어가 도트 공격으로부터 사이트를 보호 할 수 없습니다.

  3. 해커가 좋은 경우 소프트웨어 블록 주위에 방법을 찾을 수 있습니다.

  4. 차단 코드를 업데이트하려면 응용 프로그램을 다시 컴파일해야합니다.

귀하의 답변은 방화벽에 있습니다. 사용자를 차단하는 규칙을 설정하면 연결할 수 없습니다. 그것은 일반 사용자를 혼란 있습니다 좋은 해커를 억제하지 않습니다 때문에 "유지 보수에서"페이지를 보내기

+0

일반 사용자는 무고한 희생자라면 어떻게 혼동하지 않을까요? 방화벽에서 차단하여 이전에 악용 된 IP 주소? 즉 고객에게 어떤 것을 돌려 주어야합니까? 그게 뭐야? – Guy

+0

가이 : @ 1 : http://www.google.com/search?q=block+ip+address+iis @ 2를 참조하십시오. 브라우저에 남겨주세요. "Firefox는 서버에 연결할 수 없습니다. "과 같은 좋은 메시지를 뱉어 낼 것입니다. – reinierpost

+0

그런 메시지를 표시하는 "예쁜"방법은 없습니다. 가양 성을 피하기 위해 IP 주소를 매우 구체적으로 지정하는 것이 더 좋습니다 ... – Ariel

2

서버가 너무 많은 리소스를 사용하기 전에 가능한 한 빨리 실행할 위치에 코드를 고정 시키십시오.

가능한 한 적은 정보를 보내야합니다. 사용 가능한 페이지로 연결되는 짧은 메시지 또는 일시적인 이유가 될 수있는 이유에 대한 설명 페이지가있는 HTTP 상태 503 (일시적으로 사용할 수 없음)이 이상적입니다. 차단되고 불공정하게 차단 된 것으로 판단되면 어떻게해야합니까? 더 적은 바이트를 사용하기 때문에 HTML 대신 text/plain에서이 작업을 수행 할 수 있습니다.

차단 된 IP의 메모리 목록을 사용하면 차단 된 주소가 많으면 (예 : 1 백만) 검사가 금지되므로 (관련 리소스에 대한 모든 요청마다이 작업을 수행해야합니다.)

궁극적으로 어떤 종류의 악용이나 예측을했는지에 따라 차단 된 IP 목록을 모든 웹 서버에 배포하고 중앙 집중식으로 유지하는 방법이 필요합니다.

그렇다고해서 반드시 YAGNI 원칙을 적용해야합니다. 실제 용량에 문제가 없다면 학대자를 차단하는 것을 전혀 신경 쓰지 마십시오. 실제로 사이트를 운영하는 사이트는 거의없고 대부분은 사이트 운영과 관련하여 비용이 많이 드는 사이트입니다 (예 : Google 검색)

관련 문제