Jump to content

Meccep45

Forum Members
  • Posts

    107
  • Joined

  • Last visited

Posts posted by Meccep45

  1. NGINX настройка NAXSI

    Установить пакет opkg install nginx-ssl. Там есть модуль naxsi_core.rules.
    Подключаем модуль к nginx. Прописываем в nginx.conf.

    http {
        include       /opt/etc/nginx/mime.types;
        include       /opt/etc/nginx/naxsi_core.rules;
        default_type  application/octet-stream;

    Создаём файл правил .naxsi_conf.rules с содержимым.

    ## enable mode naxsi
    #LearningMode;
    SecRulesEnabled;
    
    ## where redirect forbidden requests
    DeniedUrl "/errors/403.html";
    
    ## check rules
    CheckRule "$SQL >= 8" BLOCK;
    CheckRule "$RFI >= 8" BLOCK;
    CheckRule "$TRAVERSAL >= 4" BLOCK;
    CheckRule "$XSS >= 8" BLOCK;
    CheckRule "$EVADE >= 4" BLOCK;
    
    ## white list
    BasicRule wl:1315 "mz:$HEADERS_VAR:cookie";

    LearningMode - обучение.

    SecRulesEnabled - боевой режим

    DeniedUrl - страница перенаправления.

    С правилами и белым списком. У меня пока одно правило белого списка BasicRule wl:1315 "mz:$HEADERS_VAR:cookie";

    Прописываем наш файл правил в nginx.conf.

            location / {
                include    /opt/etc/nginx/naxsi_conf.rules;
                try_files  $uri  $uri/ =404;
            }

    Проверяем /opt/etc/init.d/S80nginx test Перезапускаем /opt/etc/init.d/S80nginx restart

    Через некоторое время вы увидите в файле журнала nginx успешные предотвращение запроса.

    2021/09/26 12:26:21 [error] 614#0: *515 NAXSI_FMT: ip=91.132.58.62&server=000.000.000.000&uri=/remote/fgt_lang&learning=0&vers=0.56&total_processed=89&total_blocked=1&block=1&cscore0=$TRAVERSAL&score0=16&zone0=ARGS&id0=1200&var_name0=lang, client: 91.132.58.62, server: example.com, request: "GET ///remote/fgt_lang?lang=/../../../..//////////dev/ HTTP/1.1", host: "000.000.000.000"
    2021/09/26 15:44:05 [error] 614#0: *670 NAXSI_FMT: ip=192.241.201.161&server=000.000.000.000&uri=/owa/auth/logon.aspx&learning=0&vers=0.56&total_processed=95&total_blocked=2&block=1&cscore0=$RFI&score0=8&zone0=ARGS&id0=1101&var_name0=url, client: 192.241.201.161, server: example.com, request: "GET /owa/auth/logon.aspx?url=https%3a%2f%2f1%2fecp%2f HTTP/1.1", host: "000.000.000.000"

    Как мы видим запрос был предотвращён naxsi. готово.

    • Thanks 1
    • Upvote 2
  2. Создаём каталог для файлов ключей

    cd /opt/etc/mysql && mkdir certs && cd certs

    Создаём корневой ключ

    openssl genrsa 2048 > ca-key.pem

    создаём сертификат, используя созданный ключ

    openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem

    Cоздаём сертификат для сервера

    openssl req -newkey rsa:2048 -days 365000 -nodes -keyout server-key.pem -out server-req.pem

    Подпсываем

    openssl x509 -req -in server-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

    Проверяем

    openssl x509 -in server-cert.pem -text -noout

    openssl verify -CAfile ca-cert.pem server-cert.pem  (тут может быть ошибка 18 (при заполнении форм вводите разную почту например)

    Настройка сервера 50-server.cnf

    # For generating SSL certificates you can use for example the GUI tool "tinyca".
    #
    ssl-ca=/opt/etc/mysql/certs/ca-cert.pem
    ssl-cert=/opt/etc/mysql/certs/server-cert.pem
    ssl-key=/opt/etc/mysql/certs/server-key.pem
    #
    # Accept only connections using the latest and most secure TLS protocol version.
    # ..when MariaDB is compiled with OpenSSL:
    ssl-cipher=DHE-RSA-AES256-GCM-SHA384

    Перезапускаем /opt/etc/init.d/S70mysqld restart

    входим в MariaDB

    show variables like "%ssl%";

    Настройка клиента

    Создаём сертификат клиента

     openssl req -newkey rsa:2048 -days 365000 -nodes -keyout client-key.pem -out client-req.pem

    Подписываем

    openssl x509 -req -in client-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

    Проверяем

    openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem

    Указываем в 50-mysql-clients.cnf

    [mysql]
    # Default is Latin1, if you need UTF-8 set this (also in server section)
    default-character-set = utf8mb4
    
    ssl-ca=/opt/etc/mysql/certs/ca-cert.pem
    ssl-cert=/opt/etc/mysql/certs/client-cert.pem
    ssl-key=/opt/etc/mysql/certs/client-key.pem

    входим в MariaDB Проверяем status

    Готово.

    2021-09-20_19-44-44.thumb.jpg.8dd706f1bb9c129c09ea23ead3fcd1aa.jpg

    • Thanks 2
  3. Скрытый текст
    # A system wide configuration file is optional.
    # If it exists, it usually defines a default account.
    # This allows msmtp to be used like /opt/sbin/sendmail.
    account default
    
    # The SMTP smarthost
    host smtp.gmail.com
    
    # Use TLS on port 587
    port 587
    protocol smtp
    tls on
    tls_starttls on
    tls_trust_file /opt/etc/ssl/certs/ca-certificates.crt
    tls_certcheck on
    
    # Construct envelope-from addresses of the form "user@oursite.example"
    domain localhost
    auth login
    user vas@gmail.com
    passwordeval gpg --no-tty -q -d ~/.msmtp-password.gpg
    from %U@dom.jon.net
    
    # Syslog logging with facility LOG_MAIL instead of the default LOG_USER
    logfile /opt/var/log/php8/php-mail.log
    #syslog LOG_MAIL
    
    # Aliases file
    aliases /opt/etc/aliases

     

    chown nobody:nobody /opt/etc/msmtprc 600

  4. Скрытый текст
    ~ # opkg list-installed | grep ^php
    php8 - 8.0.7-1
    php8-cli - 8.0.7-1
    php8-fpm - 8.0.7-1
    php8-mod-bcmath - 8.0.7-1
    php8-mod-calendar - 8.0.7-1
    php8-mod-ctype - 8.0.7-1
    php8-mod-curl - 8.0.7-1
    php8-mod-dom - 8.0.7-1
    php8-mod-exif - 8.0.7-1
    php8-mod-fileinfo - 8.0.7-1
    php8-mod-filter - 8.0.7-1
    php8-mod-ftp - 8.0.7-1
    php8-mod-gd - 8.0.7-1
    php8-mod-gettext - 8.0.7-1
    php8-mod-iconv - 8.0.7-1
    php8-mod-intl - 8.0.7-1
    php8-mod-mbstring - 8.0.7-1
    php8-mod-mysqli - 8.0.7-1
    php8-mod-mysqlnd - 8.0.7-1
    php8-mod-opcache - 8.0.7-1
    php8-mod-openssl - 8.0.7-1
    php8-mod-pdo - 8.0.7-1
    php8-mod-pdo-mysql - 8.0.7-1
    php8-mod-phar - 8.0.7-1
    php8-mod-session - 8.0.7-1
    php8-mod-shmop - 8.0.7-1
    php8-mod-simplexml - 8.0.7-1
    php8-mod-sockets - 8.0.7-1
    php8-mod-sqlite3 - 8.0.7-1
    php8-mod-sysvmsg - 8.0.7-1
    php8-mod-sysvsem - 8.0.7-1
    php8-mod-sysvshm - 8.0.7-1
    php8-mod-tokenizer - 8.0.7-1
    php8-mod-xml - 8.0.7-1
    php8-mod-xmlreader - 8.0.7-1
    php8-mod-xmlwriter - 8.0.7-1
    php8-mod-zip - 8.0.7-1
    

    php7-cgi - 8.0.7-1 не ставил, подумал не нужен раз php8-fpm - 8.0.7-1 ставлю.

     

×
×
  • Create New...