Я передал бы журналы / аудиты к центральному лог-серверу и отфильтровал бы ключевое слово "копии". Но Вы могли найти что-то более собственным для окон. Такой как киви (Замены системного журнала для окон)
И да, в большинстве случаев можно послать электронное письмо, если случай происходит много времен (30 копий через 1 минуту, например)
Вы могли также контролировать сетевой трафик сервера, и если IP имеет большой трафик, просто заблокируйте его. {Также в сочетании с аудитами можно получить и IP и имя пользователя leacher:>}
Хотя я не сделал в точности того, о чем вы просите, я почти уверен, что это возможно. В моей работе мы используем LDAP authn / authz для сервера ActiveDirectory.
Вы настраиваете Apache для аутентификации по LDAP, настраивая тег Location с различными директивами AuthLDAP. Простой пример использования sAMAccountName
против AD:
<Location /secured>
AuthType Basic
AuthzLDAPAuthoritative on
AuthUserFile /dev/null
AuthName "Authorization required"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.example.com/ou=MyOrg,dc=myDC,dc=myDC?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "ldapQueryUser"
AuthLDAPBindPassword "ldapQueryPassword"
require valid-user
</Location>
Похоже, вы должны иметь возможность настраивать местоположения для каждой из ваших
групп, каждая из которых использует свой LDAP query:
<Location /group_A>
AuthSetups blah blahblah
AuthLDAPURL "ldap://ldap.example.com/ou=MyOrg,dc=group_A?..."
</Location>
<Location /group_B>
AuthSetups blah blahblah
AuthLDAPURL "ldap://ldap.example.com/ou=MyOrg,dc=group_A?..."
</Location>
Работая с Apache и LDAP, я обнаружил, что лучше всего разработать запрос, который будет правильно возвращать пользователей, прежде чем пытаться интегрировать его в Apache. Мои ошибки почти каждый раз оказывались ошибками LDAP, поэтому правильная обработка запроса упростила часть apache authn / z.
Вы можете использовать виртуальные хосты для сопоставления с местоположениями, будь то с помощью Location или LocationMatch.
Вот пример, который был обновлен для Apache 2.4 и запущен на сервере Windows 2012, который запрашивает ActiveDirectory (внимание на раздел LocationMatch):
<VirtualHost *:80>
WSGIScriptAlias /bloodhound C:/apache/bloodhound/installer/bloodhound/site/cgi-bin/trac.wsgi
<Directory C:/apache/bloodhound/installer/bloodhound/site/cgi-bin>
WSGIApplicationGroup %{GLOBAL}
Require all granted
<Files trac.wsgi>
Require all granted
</Files>
</Directory>
LogLevel debug
<LocationMatch "/bloodhound/([^/]+/)?login">
AuthLDAPURL "ldap://<HOST_NAME>:3268/<SEARCH_BASE>?sAMAccountName?sub?(objectClass=user)"
AuthLDAPBindDN "<BIND_DN>"
AuthLDAPBindPassword "<PASSWORD>"
LDAPReferrals Off
AuthType Basic
AuthName "Bloodhound - Please Provide Your Credentials"
AuthBasicProvider ldap
#If you want to use an LDAP Filter,
#uncomment the following and use instead of the ldap-group and subsequent config
#Require ldap-filter memberof:1.2.840.113556.1.4.1941:=<GROUP_DN>
Require ldap-group <GROUP_DN>
AuthLDAPMaxSubGroupDepth 1
AuthLDAPSubgroupAttribute member
AuthLDAPSubGroupClass group
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN on
</LocationMatch>
Альтернативой является то, что предлагает @khoxsey. Однако вы можете использовать LocationMatch вместо Location, если это вам больше подходит.