Jump to content
  • Добавить дроп листы от Spamhaus в nginx с ежедневным cron заданием на обновление листов


    Electr0
    • Публичное тестирование
     Share

    за основу взят скрипт 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}

     

     Share


    User Feedback

    Recommended Comments



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Create New...