Обновить
88
58.1
Антон Сердюков@devzona

Programistik

Отправить сообщение

По настройкам NGINX не все так просто.

Директива "Strict-Transport-Security"
Ваше значение max-age=63072000, т.е. 2 года слишком велико, рекомендуют ставить не более 31536000, 1 год. Полноценный вариант будет выглядеть следующим образом:

set $sts_header "";
if ($https) {
        set $sts_header "max-age=31536000";
}
add_header Strict-Transport-Security $sts_header always;

Почему именно этот вариант необходим, а не ваш, потому что, если используется выписывание Let's Encrypt сертификатов, то ваш вариант заблокирует соединение верификации, например http://yourdomain.com/.well-known/acme-challenge/abcdefgh123456.

⚠️ Нельзя редиректить /.well-known/acme-challenge на HTTPS в конфигурациях, если сервер ещё не имеет валидного SSL сертификата.

Пример
# habr.com

server {
    server_name habr.com;
    access_log /var/log/nginx/access.log vhost;
    listen 80 ;
    # Do not HTTPS redirect Let's Encrypt ACME challenge
    location ^~ /.well-known/acme-challenge/ {
        auth_basic off;
        auth_request off;
        allow all;
        root /usr/share/nginx/html;
        try_files $uri =404;
        break;
    }
    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    server_name habr.com;
    access_log /var/log/nginx/access.log vhost;
    http2 on;
    listen 443 ssl ;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_certificate /etc/nginx/certs/habr.com.crt;
    ssl_certificate_key /etc/nginx/certs/habr.com.key;
    ssl_dhparam /etc/nginx/certs/habr.com.dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/nginx/certs/habr.com.chain.pem;
    set $sts_header "";
    if ($https) {
        set $sts_header "max-age=31536000";
    }
    add_header Strict-Transport-Security $sts_header always;
    include /etc/nginx/vhost.d/habr.com;
    location / {
        proxy_pass http://habr.com;
        set $upstream_keepalive true;
    }
}

ИМХО настройки NGINX необходимо смотреть только в контексте приложений и нагрузки, потому что можно легко сломать работу самих приложений.

Хотелось бы детализировано рассмотреть хотя бы одно научное открытие, а не просто были найдены какие-то закономерности. У меня сомнения именно насчет "научности".

А я скажу что @vvzvladпросто доеб...тся. Нельзя с ноги обвинять человека в использование ИИ для написания текста. Давайте разберем его разбор, и почему я, как технический специалист и переводчик с ним несогласен категорически:

В основе работы iPod лежит простая, но эффективная схема: музыка загружается с помощью программы iTunes, хранится на диске в формате AAC или MP3 и выводится через встроенный аудиочип.

Пишет @vvzvlad : Простая схема — это загрузка через iTunes? Почему загрузка через iTunes это эффективная схема? Причем тут некий "аудиочип", который и так был в любых плеерах (если понимать под ним ЦАП). Я тут даже переформулировать не могу толком, потому что тут смысла-то нет, не было там никакой простой, но эффективной схемы, было удобное устройство с жестким диском, и это позволяло закинуть туда гораздо больше треков, чем в плеерах с флеш-память, которая тогда была дорогая.

1) Вообще iPhone предназначен для домохозяек, поэтому именно схема передачи данных через iTunes простая, высшее образование для этого не требуется.

2) Почему загрузка через iTunes это эффективная схема? Я почему она неэффективна? Пусть уважаемый @vvzvladдля начала озвучит критерии эффективности.

3) "выводится через встроенный аудиочип", тут хочется спросить, скажите @vvzvladа через что тогда выводится звук?

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

1) Идет разговор про про эффективность, но в итоге @vvzvladговорит о стоимости носителя в пересчете на единицу объема.

2) Удобство работы с ПО не зависит от типа носителя данных

3) Я надеюсь @vvzvladпонимает что HDD вообще-то потребляют больше энергии, чем флеш-память. А это значит время автономной работы будет меньше.

4) А на счет падения iPod? Уважаемый @vvzvladпокидайте свой HDD на магнитных пластинах несколько раз об стену, а потом попробуйте послушать музыку с него. А еще лучше в рабочем состояние покидайте. Я думаю все будет ОК, правда?

Пример текста безусловно написан криво, но это не означает, что можно обвинять человека в использование ИИ.

Еще пример:

Вывод простой: WebP остаётся хорошим вариантом, если важна совместимость и быстрое декодирование.

Пишет @vvzvlad :Совместимость? WebP? Чо-то тут не так. В какой оси вы видели совместимость? Какие сайты его поддерживают для загрузки? Кажется, он только в гугла в поиске по картинкам есть, и все.

Никакой систематизации критериев у @vvzvladнету, эта статья не имеет никакого отношения ни к технической, ни к научной сфере. Весь пост пронизывает мотив "Я так вижу и хочу постебаться".

Хочется спросить у @vvzvlad а что не так с форматом webp? Webp действительно быстрее кодируется и занимает меньший объем. @vvzvladпричем здесь ОС? Если идет разговор про браузер? Вы спрашиваете какие сайты его поддерживают? Сайтам нет необходимости поддерживать этот формат, он отображается на клиенте, это проблема клиента. Например, cnx-software.com раньше его использовал.

У RUVDS есть много корявых переводов, например, пост Создаём своё первое USB-устройство, в котором они некоторые фрагменты перевели как: "Linux API гораздо надёжнее и стандартизированнее" и "нам не придётся пользоваться неуклюжими библиотеками HAL". Я написал комментарий https://habr.com/ru/companies/ruvds/articles/869972/#comment_27724014, в котором разъяснил, в чем заключается первоначальный смысл.

Однако, вы @vvzvladнаписали что у RUVDS все гууд. А может "неуклюжими библиотеками HAL" написала все же ИИ?

ИИ-Ученые - ИМХО громко сказано про машинный код. ИИ позволяет ученым сделать выборку данных быстрее и проще, но выводы эта штука не умеет делать, только то, что математически получится. Мало того, у ИИ нет понятия как "понимать материал". ИИ всегда напишет что-то средневзвешенное, а не то, что требуется. ИМХО суть ИИ заключается в том, что он откроет то, что и так открыто.

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

С этого момента хотелось бы поподробнее детально рассмотреть, какие научные открытия сделал Kosmos, и насколько они не очевидны.

А это вы снова пропускаете промеж глаз?

Чем новее версия, тем сложнее злоумышленнику эксплуатировать баг.

Новая версия ПО, новые баги и уязвимости. Еще не факт, что новая версия надежнее предыдущей. Если на дворе были бы 2000-е годы, да, я согласился бы с вами. Но сейчас многое разработчики в погоне за фичами часто кладут на детальное тестирование, потому что хорошее тестирование увеличивает сроки выхода новой версии. Вот мы и имеем тяп-ляп, и в продакшен. Далеко ходить не будем, не из мира VDS, но все же. При Стиве Джобса тако не было: Пользователи Samsung массово жалуются на превращение своих телефонов в «кирпич» после установки обновления One UI 8.

Уже который раз авторы в блоге RUVDS не понимают что пишут. Смешали в одну кучу обновления ПО и антивирусных сигнатур. Такое ощущение, что делали перевод с английского и ничего не поняли.

Пример:

Например, cron-задачу, которая раз в сутки обновляет сигнатуры антивируса или проверяет список пакетов.

Чего проверяется список пакетов? Каких пакетов? Зачем проверять пакеты, они загружены из не доверенных источников?

У меня ни на одном VPS вообще нет антивируса. Только ClamAV сидит на проверки входящей почты.

Я не зря привел в пример ролик "Знаток", вроде бы все по делу, а с другой стороны нет ясности и конкретных примеров как делать и почему.

Интересная зависимость. Еще бы собрать статистику в разрезе использование матриц и широты нахождения пользователя.

Если идет речь про мобильные телефоны, то темная тема может быть более предпочтительнее светлой из-за отстойного качества экрана устройства. Например, на всех телефонах Realme установлены ужасные матрицы, темная тема позволяет немного это компенсировать, на светлой теме глаза очень сильно устают. Другой пример, если брать приложение 2gis, то в темной теме днем вообще ничего не разглядишь, даже ночью все равно использую светлую тему. На мой взгляд фанатизма нет, просто есть разные обстоятельства, начиная от качества матрицы, компоновки и дизайна интерфейса, заканчивая физиологическими особенностями человека, которые влияют на выбор темной или светлой темы.

Легко, если сервер достаточно производительный и нет никаких ограничений на brute-force. Но на практике атакующие машины подбирают пароль с существенно меньшей скоростью дабы сильно не светиться. Потому что можно нарваться на бан уже от хостера. Пост на тему brute-force ssh опубликую в ближайшее время, собрал небольшую статистику. Как опубликую, отправлю Вам ссылку на пост.

Чтобы каждый раз не проверять всё руками, обновления лучше автоматизировать. Например, cron-задачу, которая раз в сутки обновляет сигнатуры антивируса или проверяет список пакетов. Однако инструменты тут не так важны, как дисциплина. 

Так автор поста говорит то, что не обновляется автоматически, на то сделать cron-задачу.

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

Ваш пост лучше бы смотрелся с конкретными проблемными местами систем битрикса. Описали в общем виде проблему, привели конкретный случай, разобрали ошибка, привели пример как следовало бы сделать. В противном случае появляются комментарии вида, например "автор просто не смог, и решил поныть об этом" от @cyber-jet

Для репрезентативности так же следует приводить источники из других ресурсов, посты Хабра не последняя инстанция в подобных вопросах.

Зря Вы написали в минусы продукта использование PHP. PHP это не матерное слово, много хороших систем написано на PHP. Единственная проблема PHP, это то, что он позволяет писать просто конченный говно-код, чем и скорее всего воспользовались создатели продуктов Bitrix, видимо такие у них программисты.

Есть реальные примеры из дистрибутивов, позиционирующих себя как стабильные?

А кто говорит про только дистрибутивы? У вас на VPS работает только дистрибутив и больше ничего? Автор поста говорит про все ПО работающее на VPS, включая прикладное, цитата из поста: "Любое ПО (ядро, пакеты, сервисы) имеет уязвимости, поэтому разработчики регулярно выпускают патчи при их обнаружении. Чем новее версия, тем сложнее злоумышленнику эксплуатировать баг.".

половина контейнеров работает из-под рута

Я безопасностью занимаюсь достаточно давно, и что-то не припомню массового взлома docker-контейнеров в которых главный процесс работает под root. Согласен, это неправильно с точки зрения информационной безопасности, создает лишние риски, но факт остается фактом, массового взлома нет.

докер любит настраивать разрешающие правила доступа к проброшенным портам в обход штатного файрвола

Есть конкретный пример? Я задаю правила через UFW и никаких проблем с приоритетом записей нет на хосте вместе с Docker. Docker контейнеры стандартно описаны в compose с обычным пробросом портов. Дополнительно на хосте работают различные VPS сервисы в Docker контейнерах, все работает штатно.

Ваш пост мне напомнил одну серию из Ералаша с замечательным артистом Панкратов-Черный, Ералаш №139 "Знаток"

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

Ставим пароли, а лучше SSH-ключи

Не факт. Пароль достаточно поставить на 8 символов и включить 2FA, например libpam-google-authenticator.

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

«Свежий» VDS важно держать в актуальном состоянии с первого дня

Обновления как раз таки необходимо выключать. Например, вы спите, сервак обновился, а программисты что-то там забыли обновить в новой версии ПО. И тут вам среди ночи звонок: И-и-и-игорь сервис упал. И вы, матерясь, бросаетесь проверять, что же случилось.

Обновлять нужно тогда, когда у вас есть возможность зарезервировать время на решение проблем после обновления.

Откровенно говоря, я не припомню атаки 0-дня на Linux системы, чего не скажешь про решения Microsoft, в особенности MS Exchange.

Чем новее версия, тем сложнее злоумышленнику эксплуатировать баг.

Не факт. Иногда в обновления пролезают новые уязвимости, от которых не сразу появляется защита. Тише едешь, дальше будешь.

Однако инструменты тут не так важны, как дисциплина.

Не совсем понятно, про какую дисциплину идет речь.

TLS не только шифрует данные, но и защищает от подмены контента — это критично для панелей управления и админок.

А как же VPN? Внутренние сервисы не обязательно светить наружу, можно просто ограничиться доступом через VPN и запускать по http без шифрования.

На уровне панели/крона можно настроить оповещения (например, почтовые уведомления о фатальных ошибках или выходе из строя сервисов).

Конкретные предложения для малых серверов без Zabbix, Prometheus+Alertmanager будут?

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

Хорошее руководство, спасибо. Схемы понятные, в наше время это уже признак элитарности. Вначале развертывал OpenHab, но он почему-то не видел топики. Посмотрел на чудо-юдо Home Assistant, который в виде docker контейнера занимает 2 ГБ, у меня хостинг не такой резиновый. Затем попробовал вашу связку с Grafana (только все на docker), запустилось с пол пинка, красотень. В качестве станции использовал ESP32, прошивка на C#, платформа nanoFramework.

Статья ещё не дописана!!!

Так допишите. Вы приходите в ресторан, заказываете бифштекс, а вам говорят, что его еще надо поймать.

// тут должно быть про MariaDB и SQL

А тут рыбу заворачивали. Кнопку опубликовать на Хабре нажимаете только когда статья готова, в противном случае это черновик.

А типы NDEF-записей не рассказывают как применять NFC метки? Представлен скриншот программы NFC Tools с типами NDEF-записей, коих 23 типа, этого тоже недостаточно для понимания? Заголовок отражает понятие применения NFC меток, дается описание стандартов, понятие типов записей, программы записи меток, и как собственно записывать, что отображается на экране. Ваши неверные ожидания, ваши проблемы, для Вас привожу контекст:

В Толковом словаре русского языка С.И. Ожегова слово "применение" имеет несколько значений, но в основном оно описывает действие, заключающееся в использовании чего-либо по назначению или в какой-либо цели.

Примеры использования слова "применение" в разных значениях:

"Применение лекарства" - в данном случае, "применение" означает действие по использованию лекарства.

Raspberry Pi вряд ли вытянет. Имел в виду запуск на кластере с ARM процессорами. У Firefly есть кластер CSR2-N72R3588S Cloud Phone Server на базе 72 процессоров RK3588S. Под ARM, Solana работает или нет?

Технические требования к валидатору Solana весьма немалые. Вы указали сетевой адаптер с пропускной способностью на 10 Гбит/сек, означает ли это наличие Интернет канала тоже в 10 Гбит/сек. Валидатор генерирует настолько много сетевого трафика?

Второй вопрос, при самом плохом раскладе, сколько составляет срок окупаемости проекта по развертыванию своего сервера валидатора Solana?

Третий вопрос, можно ли валидатор Solana запустить на кластере Raspberry Pi (архитектура ARM)?

Складывается такое ощущение, что вы пишите курсовую или дипломную работу. А где структура данных полученных с hh и superjobs?

По поводу многопоточности, у вас задача разделяется на две подзадачи. Первая, сбор данных. Вторая, предоставление доступа к данным, используя свое приложения web/desktop. Параллельный сбор данных на Python можно организовать путем запуска нескольких экземпляров сборщиков данных. Web-приложение прекрасно работает на Node.js и на других платформах. Настольное, на чем угодно, лишь бы работало бы с БД. В данной задаче C# не может предоставить того, чего другие языки/платформы не в состояние это сделать.

WPF предлагает глубокую интеграцию с ОС Windows

Расскажите, как вы глубоко интегрировали свое приложение в ОС Windows, что именно вы использовали

MS сделала более тесную интеграцию с основной ОС Windows, в остальном ничем

Информация

В рейтинге
117-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность