• Безопасность домохозяйки

      Лет 15 назад, когда интернет выдавался по карточкам и измерялся в часах для нас было обыденным делом ходить в гости за играми, книгами и фильмами. У многих был один единственный диск, обязательно разбитый на c: и d:

      Но никто не думал о том, какие именно файлы, валяющиеся на жёстком диске, были доступны на компьютере подключения. Конечно, ведь ты приходил к другу и думал, что наконец-то получишь свежие антивирусные базы, т.к. человек выписывал upgrade special, да и цель визита – фильмец в переводе гоблина. А он от тебя получал подборку нужных тулов вирусов с универа или фоток с зачётов.

      Как бы полное доверие, ведь так? Никто не копировал файлы cookies или переписку icq и пр. Да и секретов тогда ещё не было. Всё это выглядит так, словно наши жесткие диски – большие флешки. А так и есть! Подобно флешке ты можешь забыть или потерять свои винчестер/телефон/ноутбук.

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

      Я уже не студент, и буду переживать не только за пропажу своих девайсов, но и за корпоративные секреты, доступы, переписку и контакты. Если кто-то воспользуется моей учёткой и напишет самым частым контактам типичную, для некоторых соц. сетей, просьбу «переведи до пятницы» или «выдай временный доступ», то кто-то может повестись, и это большая печаль.

      Думаю дальнейший мой текст для большинства людей из IT (и не только) не является актуальным, но кому-то будет полезным, я надеюсь

      Читать далее
    • Пробую .NET Core + Kubernetes + appmetrics + prometheus + grafana + jobs + health checks

      • Tutorial
      Краткое знакомство с kubernetes для разработчиков на примере разворачивания простого шаблонного сайта, с постановкой его на мониторинг, выполнением джобов по расписанию и health checks (все исходники прилагаются)

      Установка Kubernetes
      Установка UI
      Запуск своего приложения в кластере
      Добавление кастомных метрик в приложение
      Сбор метрик через Prometheus
      Отображение метрик в Grafana
      Выполнение задач по расписанию
      Отказоустойчивость
      Выводы
      Заметки
      Список литературы
      Читать дальше →
      • +19
      • 17,9k
      • 4
    • PostgreSQL: PipelineDB — агрегирующие запросы в режиме реального времени

      • Tutorial
      Вас когда-либо просили посчитать количество чего-то на основании данных в бд за последний месяц, сгруппировав результат по каким-то значениям и разбив всё это ещё по дням/часам?
      Если да — то вы уже представляете, что вам придётся написать что-то вроде такого, только хуже

      SELECT hour(datetime), somename, count(*), sum(somemetric)
      from table
      where datetime > :monthAgo
      group by 1, 2
      order by 1 desc, 2

      Время от времени самые разнообразные подобные запросы начинают появляться, и если один раз стерпишь и поможешь — увы, обращения будут поступать и в будущем.

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

      А что если я скажу, что прямо в PostgreSQL можно создать вьюху, которая на лету будет учитывать только новые поступающие данные в прямо подобном запросе, как выше?

      Так вот — это умеет делать расширение PipelineDB

      Демо с их сайта, как это работает


      Читать дальше →
    • Unrestricted File Upload at Apple.com

      • Перевод
      Внимание — это фривольный перевод заметки о том, как именно Jonathan Bouman нашёл публичный AWS S3, который использовался на одном из поддоменнов apple.com. Плюс заметка хороша тем, что наглядно демонстрирует пользу от нескольких маленьких утилит в совокупности с терпением.


      Читать дальше →
    • Генерация PDF для скачивания конфигов сервера

        Есть замечательный проект hiqpdf.

        Умеет html качественно в pdf или картинки превращать

        Но по дефолту не учитывает тот факт, что в html можно вставлять js/iframe, которые могут быть использованы не по назначению.

        Ну и я не долго думая попробовал это на их же сайте
        Читать дальше →
      • Postgres Enum

          Postgres поддерживает понятие перечислений (enum)

          На скорую руку попытался понять что это для бд и для клиента вообще:

          1. enum — статический упорядоченный набор значений
          2. Значение enum занимает на диске 4 байта
          3. Регистр имеет значение, т. е. 'happy' и 'HAPPY' — не одно и то же
          4. Разные enum сравнивать меж собой нельзя (можно, если привести к общему типу или запилить операторы для них)
          5. Невозможно в колонку перечисляемого типа подсунуть значение, которое отсутствует в самом перечислении

          Ок, вроде всё как обычно, только в Postgres
          Читать дальше →
        • Доступ root через TeamCity

            GitHub оказался под крупнейшей DDoS атакой, немного обсудили в общем рабочем чате вечерком. Оказалось, что мало кто знает о замечательных поисковиках shodan.io и censys.io.

            Ну и я интересу ради, прям для вау эффекта поискал TeamCity (далее тс), т.к. помню прикольный баг с регой в старых версиях (был исправлен в версии 9.0.2 от января 2015 года).

            Как оказалось, его даже не нужно было применять, т.к. во многих тс админы не закрывали регистрацию, а на некоторых доступен был вход под гостем.
            Читать дальше →
            • +40
            • 14,4k
            • 9