Задать вопрос
  • Существует LTE-модем с eSIM?

    В Foxconn T77W968 DW5821e нет и никогда не было eSIM
  • Как сделать переадресацию в nginx c www?

    Wexter, с чего вдруг если в сертификате /etc/letsencrypt/live/nene.ru/fullchain.pem есть SAN на нужный поддомен, к примеру вывод

    openssl x509 -in /etc/letsencrypt/live/nene.ru/fullchain.pem -noout -text -purpose


    говорит в поле

    X509v3 Subject Alternative Name:
                    DNS:nene.ru, DNS:www.nene.ru


    то использование

    server_name www.nene.ru;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate /etc/letsencrypt/live/nene.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/nene.ru/privkey.pem;


    не будет давать ошибку в браузере
  • Нормальна ли такая архитектура для хостинга?

    verdex, Вы можете использовать docker не по своему прямому назначению, но выйдет ли из этого что-то хорошее, вот в чем вопрос.
  • Нормальна ли такая архитектура для хостинга?

    Sha644, а при чем тут Docker, вы читать то умеете? Я про php-fpm написал.
  • Нормальна ли такая архитектура для хостинга?

    verdex,

    И что плохого в том, что я буду на хосте (а не в контейнере) запускать сайты от отдельного пользователя)?


    Например то, что вы не сможете нормально распределять ресурсы физической машины (CPU, Memory, DiskIO) между этими пользователями. К примеру вы используете php-fpm с пулами (которые конечно работают каждый под своим пользователем) для организации классического Shared-хостинга на LAMP, в такой схеме при атаке на сайт или заражении сайта вирусом один пул php-fpm может легко отожрать весь CPU и Memory на сервере и сделать с этим Вы ничего не сможете, Вы не сможете сказать что конкретному php-fpm пулу можно отжирать не более XXX Mb Memory или грузить только 1 ядро CPU.
  • Как можно определить устаревшего ssl клиента и отправить его на http?

    Насколько я понимаю, т.к. tls соединение ниже по уровню, чем http я не смогу отправить http редирект юзеру на неустановленном соединении...


    Дмитрий, не то что ниже, просто обмен данными по протоколу TLS/SSL происходит еще до начала HTTP соединения, поэтому ваш if $ssl_protocol = "SSLv3\|TLSv1" { } просто никогда не сработает, т.к. соединение рубится еще на этапе handshake.

    Если хочется углубиться в эту тему, то рекомендую эту статью
  • Почему редиректит с поддомена на домен?

    Алехандро Матиас, у вас nginx или связка nginx + apache или только apache ?

    Напишите результат:
    curl -D - -o /dev/null -s new.site.com
  • Nginx: https to https?

    ТыжСисАдмин не делайте так и не советуйте такой ужас другим!

    server{
      listen 80;
      server_name jira.lc;
      rewrite ^(/.*)$ https://jira.lc permanent;
    }


    Читайте мат. часть и пишите красивые и правильные конфиги.

    Красиво и правильно будет так:

    server {
      listen 80;
      server_name jira.lc;
      return 301 https://jira.lc$request_uri;
    }
  • Какие есть скрипты для настройки хостинга?

    Вот к примеру еще одна новая панель хостинга - Brainy CP

    Возникла буквально летом этого года.
  • Какие есть скрипты для настройки хостинга?

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


    Если Вы про отключение Web-интерфейса Vesta CP, то эта уязвимость в Vesta CP никак не связана с Web-интерфейсом, и её можно эксплуатировать даже при отключенном Web-интерфейсе.

    И это, пожалуй, лучшая панелька.


    Смотря с чем сравнивать и по каким параметрам. Мне вот Vesta не нравится, использую ISPConfig там где возможно, местами DirectAdmin (из-за FreeBSD и Exim) и ISPManager потому что Lite версия идет бесплатно прицепом к многим тарифам у многих хостеров VDS.
  • ДДос атака на nginx пакетами 1 байт?

    Сергей Горностаев, скорее всего дело в версии fail2ban, не подскажите какая ОС у вас и версия fail2ban ?
  • ДДос атака на nginx пакетами 1 байт?

    failregex = limiting request, excess:.* by zone.*client:


    Почему все копируют данную регулярку с просторов сети и не проверяют её?

    При записях в error.log вида
    2017/11/13 16:49:26 [error] 32586#32586: *7180527 limiting requests, excess: 40.070 by zone "req_limit_per_ip", client: 81.90.213.XXX, server: xxxx.org, request: "GET /netcat_files/944/2882/h_5d52b860ac4b98eaeb00e9d1d434cd8a HTTP/1.1", host: "xxxx.org", referrer: "xxxx.org/account"


    Она просто не сработает никак.

    # fail2ban-regex /var/www/xxxx.org/log/error.log /etc/fail2ban/filter.d/nginx-req-limit.conf
    
    Running tests
    =============
    
    Use   failregex file : /etc/fail2ban/filter.d/nginx-req-limit.conf
    Use         log file : /var/www/xxxx.org/log/error.log
    
    Results
    =======
    
    Failregex: 0 total
    
    Ignoreregex: 0 total
    
    Date template hits:
    |- [# of hits] date format
    |  [53] Year/Month/Day Hour:Minute:Second
    `-
    
    Lines: 53 lines, 0 ignored, 0 matched, 53 missed
    Missed line(s): too many to print.  Use --print-all-missed to print all 53 lines


    Правильнее будет так:
    failregex = ^\s*\[error\] \d+#\d+: \*\d+ limiting requests, excess: [\d\.]+ by zone "[^"]+", client: <HOST>


    Оно хотя бы работает.
  • При редиректе с HTTP на HTTPS возникает ошибка, в чем дело??

    obvilion, держите

    # cat /etc/nginx/ssl/letsencrypt-ca.pem

    -----BEGIN CERTIFICATE-----
    MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
    MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
    DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow
    SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT
    GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC
    AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF
    q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8
    SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0
    Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA
    a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj
    /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T
    AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG
    CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv
    bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k
    c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw
    VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC
    ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz
    MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu
    Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF
    AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo
    uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/
    wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu
    X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG
    PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6
    KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
    MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
    DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
    PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
    Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
    AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
    rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
    OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
    xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
    7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
    aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
    HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
    SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
    ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
    AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
    R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
    JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
    Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
    -----END CERTIFICATE-----


    а Вообще полный список сертификатов тут
    Если из консоли, то
    cat /etc/letsencrypt/live/XXXXX/chain.pem
    но тут только корневой сертификат Letsencrypt, еще нужен кросс сертификат DST Root CA X3, он тут
    Выше я привел все что нужно.
  • При редиректе с HTTP на HTTPS возникает ошибка, в чем дело??

    obvilion, сбоев не будет.
    Если у Вас nginx собран с версией openssl < 1.0.2, то у вас не будет поддержки ALPN и http/2 в принципе работать не будет, все будет грузиться по http/1

    # nginx -V
    nginx version: nginx/1.13.6
    built by gcc 4.9.2 (Debian 4.9.2-10)
    built with OpenSSL 1.0.2m  2 Nov 2017
    TLS SNI support enabled
  • При редиректе с HTTP на HTTPS возникает ошибка, в чем дело??

    obvilion, обратите внимание, что при настройке

    server {
            listen 443 ssl;
            server_name universal-chat.net www.universal-chat.net;
            ...
    }


    у Вас будет открываться https://universal-chat.net и https://www.universal-chat.net , что не очень хорошо

    Если Вы хотите сделать редирект с https://www.universal-chat.net на https://universal-chat.net, то следует изменить конфиг к виду:

    server {
            listen 443 http2 ssl;
            server_name www.universal-chat.net;
            ssl_protocols TLSv1.1 TLSv1.2;
            ssl_certificate "/etc/letsencrypt/live/api.universal-chat.net/cert.pem";
            ssl_certificate_key "/etc/letsencrypt/live/api.universal-chat.net/privkey.pem";
            return 301 https://universal-chat.net$request_uri;
    }
    server {
            listen 443 http2 ssl;
            server_name universal-chat.net;
            ssl_protocols TLSv1.1 TLSv1.2;
            ssl_certificate "/etc/letsencrypt/live/api.universal-chat.net/cert.pem";
            ssl_certificate_key "/etc/letsencrypt/live/api.universal-chat.net/privkey.pem";
            ...
    }


    Так же обращаю Ваше внимание, что в текущей Вашей конфигурации https настроено некорректно, необходимо добавить:

    ...
            ssl_session_cache shared:UNISSL:10m;
            ssl_session_timeout 10m;
            ssl_prefer_server_ciphers on;
            ssl_session_tickets off;
            ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    
            resolver 8.8.8.8 8.8.4.4 valid=300s;
            resolver_timeout 5s;
            ssl_stapling on;
            ssl_stapling_verify on;
            ssl_trusted_certificate /etc/nginx/ssl/letsencrypt-ca.pem;
            ssl_stapling_responder http://ocsp.int-x3.letsencrypt.org;
    
            add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
            add_header X-Frame-Options SAMEORIGIN;
            add_header X-Content-Type-Options nosniff;
            add_header X-XSS-Protection "1; mode=block";
            ...


    В файл /etc/nginx/ssl/letsencrypt-ca.pem необходимо добавить корневой сертификат Letsencrypt.
  • Fail2ban уведомления в Telegram?

    Работает если сделать так:

    # File /etc/fail2ban/jail.conf
    [ssh]
    enabled  = true
    port     = ssh
    filter   = sshd
    logpath  = /var/log/auth.log
    maxretry = 6
    action   = %(action_)s
               telegram[name=SSH]
  • Fail2ban уведомления в Telegram?

    kinvlad, обнаружился баг,

    при указании
    action = telegram[name=SSH]
    Fail2ban перестает создавать правила для iptables в цепочке INPUT с именами fail2ban-ssh
    как следствие перестает работать блокировка
  • Fail2ban уведомления в Telegram?

    Судя по всему статья уже некорректная для текущей версии Fail2ban

    К примеру запуск скрипта /usr/share/fail2ban/fail2ban-telegram.sh указанного в файле /etc/fail2ban/action.d/telegram.conf в actionstart и др. действиях не работает, у меня заработало только так
    https://gist.github.com/CHERTS/1bcd0ff30f93109a9c1...
    но я работаю с telegram через telegram-send, можно и через curl, просто замените у меня telegram-send на curl
  • Fail2ban уведомления в Telegram?

    Смотрите логи почему не стартует fail2ban
    tail -f /var/log/fail2ban.log
  • Какие различия программирования под UNIX и Linux?

    Gnuvse, я немного суть вопроса не уловил.

    Если вопрос в том сможете ли освоив системное программирование в UNIX после перейти в Linux, то: Да, сможете, но придется доучиваться. Все таки UNIX и Linux - это разные системы, вроде команды одинаковые, но внутри они разные. Так что да, дьявол в мелочах, как сказали ниже.