Symfony에서 자동 차단 / 금지 무차별 대입 스캐너

안드레이 허 포드

Symfony 2.7을 기반으로하는 웹 페이지를 실행하고 있습니다. 이 페이지는 FOSUserBundle사용자 관리 및 인증을 위해을 사용합니다.

로그 파일에서 페이지가 무차별 대입 스캐너에 의해 자주 "공격"되는 것을 볼 수 있습니다.

두 가지 유형의 스캔이 있습니다.

  1. HTTP 404응답 을 초래하는 알려진 취약점 (예 : WordPress 파일 등) 검색
  2. 기본 사용자 자격 증명으로 로그인 시도

나는 전에 WordPress를 사용하고 있습니다. 이러한 공격을 자동으로 인식하고 처리하기위한 많은 플러그인과 도구가 있습니다. 404 요청 또는 거부 된 로그인 시도가 특정 임계 값에 도달하면 사용자 / IP가 일정 시간 동안 자동으로 차단됩니다. 일반적으로 몇 분 후 사용자 / ip는 차단 목록에서 자동으로 제거됩니다.

Symfony에 대한 그러한 솔루션을 찾을 수 없었습니다. 이러한 기능을 Symfony에 통합하는 번들이 있습니까?

물론이 기능을 직접 구현하는 것은 그리 어렵지 않습니다. 그러나 이미 존재하는 것을 재발 명하는 것은 의미가 없습니다.

스테판 비에르 칸트

악의적 인 IP를 차단하려면 fail2ban. 이 블로그 는이를 완벽하게 설명합니다.

인증 실패 처리기 만들기

<?php

namespace Your\ExampleBundle\EventHandler;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationFailureHandler;

class AuthenticationFailureHandler extends DefaultAuthenticationFailureHandler
{
    public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
    {
        if (null !== $this->logger && null !== $request->getClientIp()) {
            $this->logger->error(sprintf('Authentication failure for IP: %s', $request->getClientIp()));
        }

        return parent::onAuthenticationFailure($request, $exception);
    }
}

구성에 추가하십시오.

services:
    your.examplebundle.authenticationfailurehandler:
        class: Your\ExampleBundle\EventHandler\AuthenticationFailureHandler
        arguments: ["@http_kernel", "@security.http_utils", {}, "@logger"]
        tags:
            - { name: 'monolog.logger', channel: 'security' }

# app/config/security.yml
    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                failure_handler: your.examplebundle.authenticationfailurehandler
            logout:       true
            anonymous:    true

Symfony2에 대한 사용자 정의 fail2ban 필터 만들기

fail2ban에 대한 새 필터를 생성하기 위해 /etc/fail2ban/filter.d/symfony.conf에 다음 내용으로 파일을 생성합니다.

[Definition]
failregex = Authentication\sfailure\sfor\sIP:\s<HOST>\s

쉬웠 죠? 새로운 필터를 사용하는 /etc/fail2ban/jail.local에 감옥을 만들어야합니다. 이 감옥에 대한 정의는 구성에 따라 다르지만 기본 구성은 다음과 같습니다.

[symfony]
enabled   = true
filter    = symfony
logpath   = /var/www/my-project/app/logs/prod.log
port      = http,https
bantime   = 600
banaction = iptables-multiport
maxretry  = 3

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

차단되지 않은 스캐너 기능 자바

분류에서Dev

내 Linux (Ubuntu) 서버에서 무차별 공격자를 차단하는 방법은 무엇입니까?

분류에서Dev

Linux (Ubuntu) 시스템에서 자동 로그 아웃을 분석하는 단계별 절차는 무엇입니까?

분류에서Dev

자바 시저스 암호 무차별 대입

분류에서Dev

자바의 무차별 대입

분류에서Dev

MFC의 대화 상자에서 마우스 입력을 차단하는 방법

분류에서Dev

Keycloak 인증 자에서 무차별 대입 기술을 구현하는 방법

분류에서Dev

잠금 화면에서 사용자가 상태 표시 줄 및 탐색 표시 줄에 액세스하지 못하도록 차단하는 방법은 무엇입니까?

분류에서Dev

파일 암호에 대한 무차별 대입 공격 테스트

분류에서Dev

Linux에서 명시 적으로 동기화하지 않고 런타임시 일관된 파일에 대한 별도의 IO 액세스 차단

분류에서Dev

스레드를 차단하지 않고 sync 메서드 내에서 비동기 메서드 대기

분류에서Dev

일부 WiFi 라우터가 유선에서 무선으로 이동하는 멀티 캐스트 패킷을 차단하는 이유는 무엇입니까?

분류에서Dev

Java의 스캐너에서 입력 된 문자열을 지우는 방법은 무엇입니까?

분류에서Dev

Python FTP 무차별 대입

분류에서Dev

자바에서 차단 모드는 무엇입니까

분류에서Dev

Android에서 모든 수신 / 발신 전화 / 문자 메시지를 차단 / 차단 해제하는 방법은 무엇입니까?

분류에서Dev

데이터베이스에서 개체 식별자와 레코드 ID의 차이점은 무엇입니까?

분류에서Dev

PHP의 특정 페이지에 대해 국가별로 사용자를 차단하는 방법

분류에서Dev

Ubuntu Trusty에서 차단 된 IP 위치 금지

분류에서Dev

다음 문제에 대한 무차별 대입 기술

분류에서Dev

무차별 대입 공격에 대한 안전한 firebase 기능

분류에서Dev

크롬에서 자바 스크립트 차단이 작동하지 않습니다.

분류에서Dev

추측이나 무차별 대입없이 베 지어 곡선에서 포인트를 얻습니다.

분류에서Dev

무차별 대입 문자열 일치에 대한 Clojure 방법을 더 원합니다.

분류에서Dev

"중단"과 "지금 종료"의 차이점은 무엇입니까?

분류에서Dev

무차별 대입 암호 크래커 자바

분류에서Dev

Entity Framework 6에서 차단이 예상대로 작동하지 않습니다.

분류에서Dev

Xampp에서 인터넷에서 localhost에 대한 액세스를 차단하는 방법은 무엇입니까?

분류에서Dev

Jquery UI 대화 상자가 텍스트 상자에 텍스트 입력을 차단합니다.

Related 관련 기사

  1. 1

    차단되지 않은 스캐너 기능 자바

  2. 2

    내 Linux (Ubuntu) 서버에서 무차별 공격자를 차단하는 방법은 무엇입니까?

  3. 3

    Linux (Ubuntu) 시스템에서 자동 로그 아웃을 분석하는 단계별 절차는 무엇입니까?

  4. 4

    자바 시저스 암호 무차별 대입

  5. 5

    자바의 무차별 대입

  6. 6

    MFC의 대화 상자에서 마우스 입력을 차단하는 방법

  7. 7

    Keycloak 인증 자에서 무차별 대입 기술을 구현하는 방법

  8. 8

    잠금 화면에서 사용자가 상태 표시 줄 및 탐색 표시 줄에 액세스하지 못하도록 차단하는 방법은 무엇입니까?

  9. 9

    파일 암호에 대한 무차별 대입 공격 테스트

  10. 10

    Linux에서 명시 적으로 동기화하지 않고 런타임시 일관된 파일에 대한 별도의 IO 액세스 차단

  11. 11

    스레드를 차단하지 않고 sync 메서드 내에서 비동기 메서드 대기

  12. 12

    일부 WiFi 라우터가 유선에서 무선으로 이동하는 멀티 캐스트 패킷을 차단하는 이유는 무엇입니까?

  13. 13

    Java의 스캐너에서 입력 된 문자열을 지우는 방법은 무엇입니까?

  14. 14

    Python FTP 무차별 대입

  15. 15

    자바에서 차단 모드는 무엇입니까

  16. 16

    Android에서 모든 수신 / 발신 전화 / 문자 메시지를 차단 / 차단 해제하는 방법은 무엇입니까?

  17. 17

    데이터베이스에서 개체 식별자와 레코드 ID의 차이점은 무엇입니까?

  18. 18

    PHP의 특정 페이지에 대해 국가별로 사용자를 차단하는 방법

  19. 19

    Ubuntu Trusty에서 차단 된 IP 위치 금지

  20. 20

    다음 문제에 대한 무차별 대입 기술

  21. 21

    무차별 대입 공격에 대한 안전한 firebase 기능

  22. 22

    크롬에서 자바 스크립트 차단이 작동하지 않습니다.

  23. 23

    추측이나 무차별 대입없이 베 지어 곡선에서 포인트를 얻습니다.

  24. 24

    무차별 대입 문자열 일치에 대한 Clojure 방법을 더 원합니다.

  25. 25

    "중단"과 "지금 종료"의 차이점은 무엇입니까?

  26. 26

    무차별 대입 암호 크래커 자바

  27. 27

    Entity Framework 6에서 차단이 예상대로 작동하지 않습니다.

  28. 28

    Xampp에서 인터넷에서 localhost에 대한 액세스를 차단하는 방법은 무엇입니까?

  29. 29

    Jquery UI 대화 상자가 텍스트 상자에 텍스트 입력을 차단합니다.

뜨겁다태그

보관