Нуждаюсь в помощи на awk/sed/шаблоне жемчуга с regex / grep

Я работаю на довольно большой ISP, и мы сделали, чтобы Spamassasin установил для фильтрации почты на наших исходящих реле, и политики на месте для ограничения количества почтовых пользователей могут отправить в определенный промежуток времени. Пороги Spamassasin и политики, которые мы используем для этих реле, не, где рядом столь же строгий, как они находятся на наших входящих серверах, куда мы можем все еще поставить почту пользовательской папке для спама, таким образом, они только ловят только худший из худших.

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

Эти ограничения были помещены в место в ответ на три проблемы, которые мы имели, которые вызывали помещение в черный список и greylisting наших почтовых серверов. Первым выпуском как Вы упомянули, было злоупотребление сервисами веб-почты. Вторым выпуском был очевидный из пользователей с зараженными компьютерами, отправляющими спам без их ведома. Эти политики имели побочный эффект разрешения нам связаться с пользователями и предупредить их к возможным заражениям.

Третья причина вовлекает пользователей, передающих почту через нас к внешнему почтовому ящику. Это - особенно проблема с размещенными доменами, где пользователи устанавливают свои поля для передачи множеству внешних местоположений. Эта пересланная почта поместила бы в черный список нас даже при том, что мы не имели никакого контроля над отправителем и не хотели ограничивать, где клиенты могли переслать свою почту.

Что касается вопроса об аутентификации было бы хорошо, если мы могли бы просто запросить, чтобы пользователи использовали аутентификацию, но это - действительность, что у Вас, скорее всего, есть пользователи, которые были установкой без него. В зависимости от размера нашей базы пользователей это может стоить усилия, но если Вы находитесь в том же положении, я связываюсь, сотни тысяч пользователей, вероятно, не выполнимо.

Вы упоминаете динамическое пространство IP для клиентов, и если его пространство IP, только доступное Вашим пользователям, где Вы ведете учет того, кто аутентифицируется в том, какой IP, я сказал бы, что автор проверяет почтовые реле, не стоит усилия. Если вместо этого Ваши пользователи используют совместно использованное пространство IP от стороннего поставщика, или у Вас нет записей IP, подлинная проверка стоит того.

Вы могли работать вокруг общей проблемы свободного пространства IP, если бы Вы связали свою систему аутентификации доступа с Вашими почтовыми реле и только позволили передавать для дюйм/с, где клиенты активно зарегистрированы. К моему знанию нет никаких предварительных систем сборки, которые делают это хотя, таким образом, Вы, вероятно, имели бы к самокрутке.

1
задан 9 February 2011 в 16:44
1 ответ

Это не awk, но этот сценарий Perl, читающий из stdin должен сделать это (или по крайней мере обеспечить некоторые подсказки):

while(<>) { # read stdin
    chomp;
    if (/^([^:]+):(.*)$/) { # match filename
        my $file = $1;
        my $tail = $2;
        while ($tail =~ /\$([A-Za-z0-9_]+)/g) { # match each $variable in the line
            my $varname = $1;
            open (FILE, $file);
            while (<FILE>) {
                chomp;
                if (/\$$varname\s*=\s*(.*)/ ) { # match the current variable
                    print "$file: \$$varname = $1\n";
                }
            }
            close (FILE);
        }
    }
}
2
ответ дан 3 December 2019 в 22:16

Теги

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