за основу взят скрипт https://bash.cyberciti.biz/web-server/nginx-shell-script-to-block-spamhaus-lasso-drop-spam-ip-address/ но переписан чтобы скачивал два спам листа DROP и EDROP сразу
Информация о дроплисте: https://www.spamhaus.org/drop/
получился вот такой скрипт:
#!/bin/bash # tmp file FILE_DROP="/tmp/drop.txt.$$" FILE_EDROP="/tmp/edrop.txt.$$" # nginx config file - path to nginx drop conf file OUT_DROP=/etc/nginx/drop.spamhaus.drop.conf OUT_EDROP=/etc/nginx/drop.spamhaus.edrop.conf ## The lists URIs and respective filenames. URL_DROP="http://www.spamhaus.org/drop/drop.txt" URL_EDROP="http://www.spamhaus.org/drop/edrop.txt" # reload command NGINX="service nginx restart" # remove old files [[ -f $FILE_DROP ]] && /bin/rm -f $FILE_DROP [[ -f $FILE_EDROP ]] && /bin/rm -f $FILE_EDROP # emply nginx deny file >$OUT_DROP >$OUT_EDROP # get database /usr/bin/wget --output-document=$FILE_DROP "$URL_DROP" /usr/bin/wget --output-document=$FILE_EDROP "$URL_EDROP" # format in nginx deny netblock; format /bin/egrep -v '^;' $FILE_DROP | awk '{ print "deny " $1";"}' >>$OUT_DROP /bin/egrep -v '^;' $FILE_EDROP | awk '{ print "deny " $1";"}' >>$OUT_EDROP # reload nginx ${NGINX}
Рекомендуемые комментарии
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.