Зарегистрируйте недопустимые попытки входа в систему - htpasswd

МОГЛА быть проблема маршрутизации GRE на Вашем домашнем маршрутизаторе (шахта имела дерьмо когда-то).

PPTP использование VPN канал TCP для координации и затем пакеты отправляются с помощью GRE (IP подпротокол 47 - не tcp, не udp). Если маршрутизатор или брандмауэр отбрасывают их....

4
задан 25 December 2012 в 13:59
3 ответа

Я поискал в Интернете и наткнулся на хорошее объяснение того, как этого добиться.

Сначала файл .htaccess :

# script that will store invalid login attempts
ErrorDocument 401 /logging.php

AuthName "My Password Protected Site"
AuthUserFile /<FULLPATH>/.htpasswd
AuthType Basic
Require valid-user

# Set REMOTE_USER env variable on 401 ErrorDocument
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} ^401$
RewriteRule .* - [E=REMOTE_USER:%{ENV:REDIRECT_REMOTE_USER}]

Затем фактический сценарий, который будет выполните регистрацию:

if (isset($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])):
    $fp = fopen(MYLOGFILE, 'a+');
    $password = $_SERVER['PHP_AUTH_PW'];
    $username = $_SERVER['PHP_AUTH_USER'];
    $time = date('y-m-d/H:i:s');
    $request = $_SERVER['REDIRECT_URL'];
    fwrite($fp, $time . "\t" . $request . "\t" . $username . "/" . $password . "\r\n");
    fclose($fp);
endif;

ob_start();
header("HTTP/1.1 401 Authorization Required",1);
header("Status: 401 Authorization Required",1);
echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><title>401 Authorization Required</title></head><body>
<h1>Authorization Required</h1>
<p>This server could not verify that you are authorized to 
 access the document
 requested.  Either you supplied the wrong
 credentials (e.g., bad password), or your
 browser doesn\'t understand how to supply
 the credentials required . </p>';
exit();

Вышеупомянутое работает нормально и сохраняет все недопустимые имена пользователей и пароли в указанном файле журнала. Мне не удалось заставить приведенный ниже пример работать, но он дал мне некоторые идеи о том, как действовать.

Каждая строка в выходном файле будет содержать что-то вроде этого:

 13-01-01/12:12:16 - /www/ - username/password

Регистрировать все входы в систему .htaccess / .htpasswd

]
3
ответ дан 3 December 2019 в 02:27

My apache2 installtion have such log messages about failed attempts:

 access to / failed, reason: verification of user id 'qwdsad' not configured

You could install fail2ban to grep these messages from logs and do something to prevent it.

2
ответ дан 3 December 2019 в 02:27

Почему вы хотите это сделать? Как отмечает mricon, запись паролей в виде открытого текста крайне не рекомендуется, даже для отладки.

mod_security можно использовать так, как вам нравится, путем регистрации заголовков HTTP. Однако пароли не передаются браузером в виде открытого текста, поэтому вы должны декодировать последовательность в кодировке Base64.

См. Директивы SecAuditLog и SecAuditLogParts здесь .

Возможно, это больше подходит для ваших целей: Защитить HTTP Auth от атак грубой силы

8
ответ дан 3 December 2019 в 02:27

Теги

Похожие вопросы