System.Security.AccessControl.InheritanceFlags Использование графического интерфейса, эквивалентного перечислению PowerShell?

Примечание: Это не дубликат вопроса «System.Security.

У меня проблемы с Dovecot? Я использую это с Postfix, который, насколько я могу судить, работает нормально. Я установил контакт пользователя , который, когда я отправляю почту, кажется, забирает ее, а когда я отправляю почту (через доступ через Webmin), он отправляет ее, STMP обрабатывается Mailgun.

Однако я не могу заставить почтовый клиент, Outlook, Apple Mail и т. Д. Общаться с сервером.

Я установил этого контактного пользователя в моем Outlook, используя только протокол IMAP. Кажется, что он синхронизируется (или, по крайней мере, синхронизировался) для получения электронных писем, например, я вижу два электронных письма, которые я отправил на эту учетную запись. Но я не могу отправлять электронные письма? Как я уже сказал, я думаю, что моя настройка STMP подходит для Mailgun, но по какой-то причине Outlook и мой сервер dovecot не будут работать?

У меня есть, хотя, похоже, исследования,contact@domain-name.com

##If the user agent is missing empty or contains just a single hyphen.
if ($http_user_agent ~ "^-?$") {
return 403;
}

И из моих исследований очевидно, что заголовок Accept должен всегда присутствовать, даже если он пуст, он должен быть отправлен независимо. Заголовок не должен отсутствовать.

Но перед тем, как идти и отклонять запросы, которые не отправляют заголовок Accept , я хотел убедиться, что он не будет иметь плохих эффектов. Я вижу modsecurity и некоторые другие ( не уверен в OWASP) скажите, должен ли присутствовать хотя бы заголовок accept. (Из того, что я вижу, он должен быть отправлен и разрешен доступ, пока заголовок присутствует в запросе и не пропущен.)

Я сделал следующее правило для Nginx: не использовать его в производственной среде, поскольку мне нужна дополнительная информация о том, должен ли этот заголовок отсутствовать.

## Prevent Missing Accept header
set $block_missing_accept_header 0;
#If Accept header present
if ($http_accept) {
set $block_missing_accept_header 1;
}
#Header was missing so deny request
if ($block_missing_accept_header = 0) {
return 403;
}
0
задан 6 August 2016 в 19:56
2 ответа

Это правило было моей идеей, так что вот мои размышления над ним.

В ходе очень большой выборки запросов я заметил, что настоящие веб-браузеры (IE, Firefox, Chrome, Konqueror , Opera и другие) всегда отправляли заголовок Accept. Но роботы не всегда это делали, в зависимости от множества факторов, таких как библиотека HTTP, компетенция программиста и т. Д.

Затем роботы притворялись веб-браузерами с поддельной строкой User-Agent иногда не хватало заголовка Accept.

Итак, идея заключалась в том, чтобы поймать роботов, которые притворяются веб-браузерами и делают это плохо, не отправляя заголовок Accept.

Для реализации этого правила вы должны ] также проверьте, что строка User-Agent начинается с «Mozilla». Блокировать нельзя, если не выполняются оба этих условия: пользовательский агент утверждает, что является веб-браузером, а заголовок Accept отсутствует.

if ($http_user_agent ~ ^Mozilla) {
    set $block_missing_accept_header "Mozilla";
}
if ($http_accept = false) {
    set $block_missing_accept_header "${block_missing_accept_header}NoAccept";
}
if ($block_missing_accept_header == "MozillaNoAccept") {
    return 403;
}
0
ответ дан 5 December 2019 в 09:42

Я думаю, что клиенты без пользовательского агента должны быть заблокированы.

  • Все законные запросы роботов имеют поле пользовательского агента HTTP: googlebot, bing, baidu...
  • Все законные известные запросы роботов SEO имеют пользовательский агент HTTP: moz, majestic, semrush..
  • Все законные запросы браузера имеют пользовательский агент HTTP: Chome, Edge, Brave, Mozilla...
  • команды linux добавляют пользовательский агент по умолчанию: curl, kurly
0
ответ дан 30 April 2021 в 04:47

Теги

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