Author: admin

  • Как защитить сайт от копирования

    Каждый владелец сайта понимает, что уникальный качественный контент это не только залог интереса пользователей, но еще и благосклонность поисковых систем. Очень обидно, когда этот контент зачастую с трудом добытый, иногда и стоящий много денег, попросту кто-то копирует. Резонно возникает вопрос как защитить контент сайта от копирования.

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

    Интернет магазины работают на веб сервере, построенном по разным технологиям, это может быть связка nginx+apache или nginx+php-fpm, даже обычный apache. По статистике все же nginx используется в большинстве случаев. Таким образом рассмотрим как защитить сайт от ботов на основе конфигов nginx.

    Составляем белый список IP адресов для поисковых систем

    geo $whitelist {
    default 0;
    # ip server
    155.551.155.155 1;
    # боты yandex
    77.88.0.0/18 1;
    87.250.224.0/19 1;
    93.158.0.0/16 1;
    95.108.128.0/17 1;
    213.180.192.0/19 1;
    141.8.0.0/16 1;
    130.193.0.0/16 1;
    5.255.253.0/24 1;
    178.154.0.0/16 1;
    # боты google
    64.68.80.0/21 1;
    64.233.0.0/16 1;
    66.102.0.0/20 1;
    72.14.192.0/18 1;
    209.85.128.0/17 1;
    216.239.32.0/19 1;
    66.249.0.0/16 1;
    # mail.ru
    217.69.0.0/16 1;
    94.100.0.0/16 1;
    # bingbot-msn
    40.77.0.0/16 1;
    207.46.0.0/16 1;
    65.52.0.0/14 1;
    157.55.0.0/16 1;
    # Yahoo
    68.180.0.0/16 1;
    67.195.0.0/16 1;
    69.147.64.0/18 1;
    72.30.0.0/16 1;
    74.6.0.0/16 1;
    # sputnik
    5.143.0.0/16 1;
    }

    Далее пишем конфигурацию, которая будет блокировать ботов и разрешать боты поисковых систем, которые мы определили выше по HTTP/1.1.

    map "$whitelist:$server_protocol" $limit1 {
    "1:HTTP/1.0" "";
    "1:HTTP/1.1" "";
    "1:HTTP/2.0" "";
    "0:HTTP/1.1" "$binary_remote_addr";
    }
    limit_req_zone $limit1 zone=bot11:10m rate=7r/m;

    блокируем других ботов, который выполняют обращение по HTTP/2.0

    map "$whitelist:$server_protocol" $limit2 {
    "0:HTTP/2.0" "$binary_remote_addr";
    }
    limit_req_zone $limit2 zone=vse:10m rate=25r/m;

    Выполняем разрыв соединения если бот обращается по HTTP/1.0, и он не из белого списка

    map "$whitelist:$server_protocol" $bad_bot {
    default 0;
    "0:HTTP/1.0" 1;
    }

    Также выполняем разрыв соединений для различных сканеров и ботов

    map $http_user_agent $bad_useragent {
    default 0;
    ~*ia_archiver 1;
    ~*Curl 1;
    ~*libwww 1;
    ~*BLEXBot 1;
    ~*SBooksNet 1;
    ~*MJ12bot 1;
    ~*Java 1;
    ~*NTENTbot 1;
    ~*GetIntent 1;
    ~*SemrushBot 1;
    ~*HybridBot 1;
    ~*AhrefsBot 1;
    ~*SeznamBot 1;
    ~*DeuSu 1;
    ~*GrapeshotCrawler 1;
    ~*SentiBot 1;
    ~*default 1;
    ~*Virusdie 1;
    ~*WordPress 1;
    ~*WhatsApp 1;
    }

    Для каждого хоста указываем следующее

    [sociallocker]

    if ($bad_bot) { 
    return 444;
    }
    if ($bad_useragent) { 
    return 444;
    }

    [/sociallocker]

    Данные лимиты устанавливаются индивидуально для каждого сайта

    limit_req zone=bot11 burst=4 nodelay;
    limit_req zone=vse burst=4 nodelay;

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

    Если бот обращается по протоколу HTTP/1.0 и его нет в белом списке, то он получит сообщение об ошибке 444 и произойдет разрыв соединения.

    Помимо этого есть условие ограничения rate=7r/m, что означает разрешать запросы не чаше 7-ми в минуту. Не перепутайте и не поставьте такое ограничение для картинок, так как загружая страничку, картинок подргужается много и лимит может ограничить это действие.

    Так же в случае обращения по протоколу HTTP/2.0 будет выполнятся ограничение с учетом условия не больше 25 запросов в минуту (rate=25r/m).

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

    Команда для проверки логов

    cat /var/log/nginx/access.log | awk '{if ($9=="503") {print $1}}' | sort | uniq -c | sort -nr | head

    Такой анализ необходим для выявления новых сетей ботов поисковиков.

    Нужно защитить сервер от ботов обращайтесь office@itfb.com.ua

  • Внедрение мониторинга, часть 2

    Продолжение статьи внедрение мониторинга часть 1

    Несколько слов по работе с инцидентами

    Я, как бывший эксплуататор, расскажу про алерты. Здесь есть не состыковка с нашим видением и те, что бывает у людей. И что делать, когда у нас пришла смска? То есть порядок действий на наш взгляд. Первое, на что следует обратить внимание – это правильные severity на мониторинге. К ним относят CRITICAL – уведомления по SMS/IM, WARNING – можно уведомлять на email или без уведомления, INFO – без уведомления.

    Рассмотрим их более подробно. Примеры CRITICAL:

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

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

    Все остальные severity созданы для того, чтобы разобраться с CRITICAL. Примеры WARNING:

    1. диск кончается;
    2. какой-то сервис недоступен, дает много ошибок или «тупит»;
    3. много ошибок на сетевом интерфейсе;
    4. сервер недоступен (это реально warn!!!);
    5. Swap IO процесса > 1 Mb/s.

    Многие наши клиенты отключают уведомления на WARNING, поэтому они видят только особо опасные из них. Рекомендуем такой подход в работе с WARNING:

    • желательно закрыть в течение дня (большинство наших клиентов, которые нам доверились, они отключили нотификацию на WARNING, поэтому у них нет так называемой «мониторинговой слепоты», и если придерживаются техники чистого мониторинга, то они спокойно чинят те пять WARNING, которые у них загорелись);
    • если алерт не по делу – добавляем исключение;
    • если WARNING часто загораются-погасают – это надо крутить в мониторинге.

    Примеры  INFO. Тут тоже спорно, так как они на самом деле у многих CRITICAL.

    Disk IO – это диск где-то в полке. WARNING – это такие лампочки. Когда вы приходите чинить CRITICAL, и видите рядом два невзначай WARNING. Тут вот в базе cpu в полке. Пошел, посмотрел и все.

    Действия в случае INFO:

    • используем в качестве подсказок во время поиска причин CRITICAL или WARNING;
    • если загораются бессмысленные алерты – добавляем исключения.

    Рассмотрим общие принципы подхода к конструированию алертов.

    • Первый – когда они показывают причину возникшей проблемы (идеально!).
    • Второй – не нужны зависимости и автомагия.
    • Третий – глазами можно быстро просмотреть 100+ алертов и выбрать подходящий.
    • Четвертый – алертам, которые не помогают, можно понизить severity.

    То есть все, что вам нужно делать – это подчищать ненужные алерты.

    На что нужно в первую очередь обратить внимание при работе с инцидентами? Важно считать продолжительность CRITICAL (он же downtime).Если critical != downtime, то чиним severity.

    Хорошо бы даунтаймы классифицировать. Это необходимо для понимания из-за чего возникла проблема. Предлагаю следующую классификацию:

    • плохой релиз;
    • человеколажа;
    • перегруз;
    • хостинг/ДЦ;
    • что-то еще по вкусу.

    Алгоритм при работе с инцидентами, когда пришла смска:

    1. тушим пожар;
    2. докапываемся до причины;
    3. классифицируем;
    4. заводим задачи, чтобы не повторялось то же самое;
    5. PROFIT через N итераций.

    Когда инцидент закрылся, он должен закрыться и в системе мониторинга. Так, в Google они мониторингом не закрываются, инцидент закрывает человек. Наше мнение – инцидент должен проверить мониторинг.

    Но после того, как инцидент закрыт, оказывается, что на самом деле это не так. Он ждет, пока вы докопаетесь до причины. Это нужно, чтобы проблемы не повторялись. Действия:

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

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

    Выводы

    1. Мониторинг мы раскладываем на две задачи: «мониторинг = обнаружение проблем + поиск причины проблемы». Если вас не устраивает время, затраченное на поиск причины, настраивайте время мониторинга.
    2. Мониторинг — оптимизация преобладает над ручной диагностикой.
    3. Чем точнее мониторинг, тем быстрее становится понятна причина проблемы.

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

    Частые вопросы и ответы на них

    – Расскажите, пожалуйста, про подход к тому, как в новый сервис добавить новую машину. Обычно мы делаем это так: подключили, воткнули шаблоны стандартные, затем начинается творческий процесс, например, пытаемся убрать ложные срабатывания и т.п. Ваше мнение?

    – Наш подход: с машины снимаем все. Когда добавили 10 фронтенд, то с него снимется все, что там есть. Мы зажжем алерт, добавив тайминги. Это WARNING без нотификации. Следует в течение дня добавить его и все. Но это в случае, если машина такая же, как уже имеющиеся. Если машина другая, то по ресурсам снимаем все. Этот подход очень хорошо работает, чтобы не забыть добавить метрику. Заинструментировать все наперед нельзя. До первого фокапа вы живете в неведении, а потом только понимаете, что вам нужно.

    – Про пороги и нотефаи…

    – В среднестатистическом проекте несколько сотен машин и пороги одинаковы для всех. Автоматические триггеры, которые на всех пользователей выкатывают по умолчанию, мы их делаем примерно общими. То есть условно в любом проекте плохо настроен автовакуум, если  воркер в автовакууме в планке два часа и более, это значит, что он никогда не сделает свою работу (практически для 99% случаев). Такие общие триггеры подают исчерпывающую информацию.

    – В какой момент определяется порог CRITICAL? Кто это делает?

    – Вы приходите с задачей, что хотите создать порог CRITICAL для своего проекта. Пробуете его устанавливать на практике и смотрите на результаты: сколько алертов было получено неделю назад?

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

    – В среднем она вообще незаметная. Но если вы парсите 50 тысяч рпс в логе, то это будут единицы процентов ядра. Мы занимаемся только мониторингом, поэтому измеряем единицы агента. Если у вас нет слота для мониторингового агента по ресурсам на сервере, значит, вы что-то делаете не так. Всегда должен быть слот.

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

    Если вопросы или желание доверить свои сервера, обращайтесь office@itfb.com.ua

  • Внедрение мониторинга, часть 1

    Внедрение мониторинга, часть 1

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

    Про мониторинг серверов

    Мы делаем то же самое, что и вы, но есть всякие «фишки»:

    • детализация,
    • куча преднастроенных триггеров, которые основаны на проблемах наших клиентов;
    • автоконфигурация (чтобы это было не внедрение-внедрение, а поставил и работает).

    Типичный клиент приходит к нам и у него есть две задачи. Первая – это понимать, что у него все сломалось из мониторинга (когда вообще ничего нет). Вторая задача – быстро чинить все это. Соответственно, он приходит в мониторинг за ответами, что у него происходит.

    Первое, что делают люди, у которых ничего нет, ставят Pingdom, условные чекеры. У них фишка в том, что это можно сделать за пять минут. И все у вас начинает работать. Но в этом варианте есть проблемы с точностью, есть проблемы, что они пропускают проблемы.  Для простенького сайта этого достаточно.

    Второе, что мы пропагандируем – считать по логам по статистике реальных пользователей:

    1. сколько конкретный пользователь получает ошибки,
    2. сколько время ответа по пользователю.

    Есть свои «минусы», но в целом такая штука работает.

    Про мониторинг nginx

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

    Но что делать, если у клиента нет в логе таймеров в стандартном ngnix? Это те 90% клиентов, которые не хотят знать время ответа их сайтов. Мы все время с этим сталкиваемся. В этом случае надо лог расширять, и тогда из коробки автоматом мы начинаем показывать еще и гистограммы. Это важный аспект того, что время надо мерять. Дальше, что мы оттуда выдергиваем? Про детализацию я говорил, но на практике (я не люблю разговаривать общими словами) мы снимаем метрики того, что напарсили, примерно в таких вот размерностях. То есть это не плоские метрики. Метрика называется «nginx.requests.rate» – сколько запросов в секунду. Но она детализирована:

    • по хосту, с которого снялись,
    • логу, с которого снялось,
    • http-методу,
    • http-статусу.

    Про url. Естественно, это не каждый конкретный url со всеми аргументами. Мы не хотим снимать из лога 100 тысяч метрик, а только 1 тысячу. Поэтому пытаемся «url» нормализовать, если это возможно. И только для значимых «url», мы показываем отдельную гистограмму и т.д. Метрика превращается в юзабельные графики. Мы взяли все nginx.requests в секунду и разложили их по машинам всем, которые у нас есть. Результат: получили знание о том, как это у нас балансируется, сколько у нас суммарно rps, чтобы не в голове это все суммировать, а вот здесь. С другой стороны мы можем эту метрику профильтровать. Задать: покажи нам только пятисотки по реальному статусу. Напоминаю, это та же самая метрика. Или покажи нам пятисотки с разбивкой по «url».мониторинг ошибок nginx

    Еще мы снимаем из логов гистограмму. Это тоже метрика response_time.histogram, которая на самом деле rps. Только у него есть еще параметр level. Это как раз отсечка времени, в какой бакет попадает запрос. Мы рисуем такой запрос: просуммируй нам всю гистограмму и разложи по уровням – отдельно медленные запросы, отдельно быстрые, отдельно середнячок. Результат: имеем такую картинку, просуммированную по серверам, и мы ее можем уже разложить. Как видим, метрика одна и та же, но пользу из нее извлекаем совершенно по-разному. Еще один пример: можем задать, чтобы показала гистограмму только по url и api, начинающуюся с api. Таким образом, мы смотрим на гистограмму с разных сторон в зависимости от применения метрики.

    Пара слов о тайминге в nginx

    Есть request_time, который включает в себя от начала время и до передачи последнего байта в сокет клиенту, а есть upstream_response_time. Так вот их нужно мерить обе.

    мониторинг время выполнения запросов

    Потому что, если просто снимаем request_time, то там будем видеть «тупняки» из-за проблем, связанности клиента с вашим сервером. Вы увидите там «тупняки», если у вас настроен limit_request и клиент в бане, то есть limit_req+burst и клиент в бане (и вы не будете понимать, это вам сервер чинить или проблема в хостере). Соответственно, снимаем обе и примерно понятно, что происходит.

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

    мониторинг запросов к сайту

    Общие принципы мониторинга SOA

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

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

    Про Backend

    Например, у нас есть некий там python ruby. Мы хотим понимать, как его замониторить, что с ним сделать, чтобы понимать быстро, что происходит. Напоминаем, мы перешли к минимизации даунтайма. Мы предлагаем стандартное понимание:

    • сколько это поедает нам ресурсов;
    • не уперлись ли мы в какой-нибудь лимит;
    • что у нас происходит с райнтаймом и всякое-всякое.

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

    Про ресурсы

    Мы снимаем с помощью стандартного агента показатели потребления ресурсов всеми процессами. Поэтому про Backend нам не надо отдельно париться. Мы просто берем и смотрим, сколько потребляет, например, процесс python на машинах помаски сколько потребляет cpu? Мы хотим понять, нет ли у нас разбалансировки где-то, не взорвалось ли что-то на одной машине. И мы видим показатель потребления – это суммарное от вчера к сегодня.

    То же самое про память. Когда мы рисуем в таком виде, то есть мы выбираем  python, RSS, суммируем по хостам. Сразу видно, что нигде не течет, везде память распределяет равномерно. И в принципе на свои вопросы мы ответ получили.

    Пример рантаймов

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

    Есть другая метрика рантайма: сколько памяти аллоцируется в единицу времени (чем больше памяти аллоцируется, тем больше нагрузка на горбыш коллектор). Соответственно, все объяснимо. Дальше мы уже по своим внутренним метрикам понимаем, почему мы столько памяти хотим на тех машинах и меньше на этих машинах.

    Про инструментирование

    Тут уже приходят инструменты различного типа. Так для php есть pinba. Тест на php про себя расказывает:

    • сколько на cpu потратили такие-то срипты,
    • сколько на память потратил на такие-то скрипты,
    • сколько трафика отдано такими-то скриптами и т.д.

    То есть мы показываем:

    • топ-5 скриптов по потреблению cpu (Таким образом, мы сузили скол внимания настолько, что понимаем конкретно, какие шаги нужно сделать);
    • топ-5 скриптов по трафику (если нас это парит, то мы идем и разбираемся).

    мониторинг php с pinba

    Это кусок внутреннего инструмента, когда мы ставили таймеры и измеряли. Мы сделали так, что у нас метрика количества суммарно проведенного времени cpu или в ожидании какого-либо ресурса раскладывается по хендлеру, который мы сейчас обрабатываем, и по значимым стадиям кода. Например, куски кода ждали кассандру, и мы им говорим: «Покажи нам расклад топ-5 стадий по хендлеру metric/query».

    cassandra

    Благодаря полученным картинкам, становится понятно, что чинить.

    Замечу, что мы трейсинг не делаем.

    БД

    База – тот же процесс. Он потребляет ресурсы. Поэтому в некоторых вариантах мы предлагаем проверять, не стало ли ресурсов меньше. Идеально понимать, что если база стала потреблять ресурсов больше, чем потребляла, понять конкретно, что в вашем коде изменилось, почему это произошло. Соответственно, по ресурсам также. Берем и смотрим, сколько процессов порождает у нас операции записей на диск. Видим, что у нас в среднем столько-то. Хорошо бы проверить, что ресурсов не стало меньше. Идеально разложить показатели потребления по запросам.мониторинг нагрузки базы данных

    Про деградацию по ресурсам

    Это происходит примерно так: у Raid батарейка перестала быть, как живая, в этот момент отключается рейд кэш, база начинает «тупить» при ожидании диска на запись. Соответственно, следует мониторить и ресурсы по запросам. Выполнение зависит от базы. База должна сама про себя уметь рассказывать, куда она тратит ресурсы, на какие запросы. Самый лидер по кайфовости – это PostreSQL, потому что он умеет показывать по разным типам запросов cpu*/disk io*/net*. Звездочки стоят потому, что все там с погрешностью, косвенно, но можно понимать, какой запрос жрет cpu. То есть запросы отдельно для cpu, диска io на чтение – на запись, какой запрос создал трафик.

    В MySQL, если честно, все гораздо хуже. Иногда, если вы будете делать запросы к неправильным таблицам, вы можете там просадить мускуль. Рекомендую использовать только свежие версии, но это иногда дороговато.

    В Redis есть статистика по командам. Можно видеть, что команда такая-то жрет cpu, команда такая-то не жрет cpu.

    В Cassandra есть времена по запросам конкретных таблиц. Но она проектируется – 1 таблица = 1 тип запроса.мониторинг редис

    Продолжение читайте с следующей статье.

  • Информационная безопасность внутри компании

    Информационная безопасность внутри компании

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

    Способы защиты разделим на группы:

    защита информации от сотрудников

    Пресечение доступа чужаков к информации.  Сюда относятся: защищенность против вирусных атак, защищенность от проникновения  хакеров, контроль доступности данных клиентов со стороны контрагентов, выбор эффективной системы для работы. Предприятия должны применять безопасную CRM платформу, и не быть зависимыми от партнеров, а так же минимизировать риск утечки данных. Конечно, подразумеваются большие затраты, а их позволят себе не все. Кроме того, лазейки в системе остаются у IT-сотрудников, способных обмануть систему защиты и совершить кражу данных. А вы будете думать, что у вас все под контролем.

    Настроить систему так, что б нельзя было одновременно копировать информацию. Партнеры, IT-специалисты, даже компания, предоставляющая решение по безопасности, не могут иметь доступ ко всему объему информации.

    Создание такой системы, когда можно зафиксировать, кто именно и когда взломал вашу систему.  Здесь имеется ввиду деятельность со стороны работников. Работодатели применяют камеры, наблюдая за сотрудниками, используют полиграф, пытаются проконтролировать процесс перемещения информации на носителях, с которыми поработали сотрудники. Работодатели стремятся устранить кражу, и поймать вора «на горячем», что практически невозможно и маловероятно. Но подобные методы контроля отрицательно сказываются на атмосфере в коллективе.

     

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

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

    Определение уровней доступа. Ограничить доступ к подобной информации.

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

     

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

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

    За консультацией обращайтесь office@itfb.com.ua

  • Как небольшие и средние предприятия мигрируют в облачные сервисы

    Как небольшие и средние предприятия мигрируют в облачные сервисы

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

     Облачные сервисы помогают малым предприятиям сократить расходы и предоставляют им доступ к ИТ-услугам, которые когда-то были доступны только крупным предприятиям. Но широкий выбор услуг, проблем безопасности и вендоров может может поставить в тупик малый и средний бизнес (МСБ).переход в облако
     

    Перенос одной услуги за раз в облако может стать хорошим началом для малых и средних предприятий / предприятий (SMBs / Es) . И для тех МСП, которые более скептичны, есть «облачные» услуги, которые могут принести пользу их инфраструктуре.

    ИТ-специалистам нужна гибкость для расширения или сокращения их ИТ-инфраструктуры в зависимости от их потребностей в бизнесе. Это всегда легче сказать, чем сделать. Расширение инфраструктуры центра обработки данных связано с дополнительными расходами.

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

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

    Облачные вычисления могут спасти ИТ-специалистов МСП , которые должны соответствовать этим требованиям.

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

    Но внедрение облачных сервисов через сторонние организации означает, что администраторы МСП ИТ должны будут тщательно контролировать поставщиков услуг, чтобы обеспечить доставку необходимых услуг и инфраструктуру по мере необходимости.

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

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

    Руководство SMB для перехода на облачные сервисы

    Голосовые службы и совместная работа . Модернизация телефонных систем и сервисов, является одним из способов для SMB начать использовать службы облачных вычислений.

    Ассортимент доступных услуг может сделать из малого бизнеса большой. Начиная с цифровых голосовых услуг будут предоставляться голосовые сообщения, переадресация вызова, конференц-связь и многие другие функции, которые исторически существовали только на крупных телефонных коммутаторах. Все это может работать с неавтоматизированными услугами, то есть без оператора, помогая SMB экономить на 24-часовом обслуживании оператора.

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

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

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

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

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

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

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

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

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

    « Облачные » услуги для малого и среднего бизнеса, которые скептически относятся к облачным вычислениям. Для компаний, которые не хотят переходить в облако с их основными системами по разным причинам, включая безопасность, существуют другие варианты, которые могут предоставить им облачные решения. К таким вариантам относятся:

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

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

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

    Хотя облачные сервисы имеют отношение ко всем размерам бизнеса, решение о переходе на внешнюю инфраструктуру всегда является бизнес-решением. Теперь МСП могут располагать доступными для них объектами, которые когда-то были доступны только крупным предприятиям.

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

    Бдительный подход и пошаговый процесс использования облачных сервисов – лучший способ для МСП стать частью технологии, которая определит будущее ИТ.

    Наша компания занимается миграцией ИТ инфраструктуры в облако, а также поддерживает облачные и гибридные решения, office@itfb.com.ua

  • 100 процентная загрузка процессора

    Когда сервер перестает справляться со своими задачами, виснет и не реагирует на любые действия, то необходимо срочно решить эту проблему (поскольку от этого страдает не только его собственник, но и пользователи, которые хранят там свои данные). Даже если помогла обычная перезагрузка, все-равно нужно искать источник, чтобы не допустить повторной ситуации в будущем.

    Существует несколько причин, по которым происходит нагрузка на сервер. Одна из них – загруженный процессор.

    Анализ нагрузки на систему

    При аномальной загрузке процессора (не обязательно на 100%) стоит провести анализ, почему так произошло. В этом помогут специальные инструменты, позволяющие определить состояние серверов. Например, если на машине установлена Linux, то с помощью команды «top» можно будет узнать статистику запущенных процессов отдельных пользователей. Выяснить, какие скрипты грузят сервер, поможет установленная панель WHM.

    Если при анализе выяснилось, что в целом с системой все хорошо, то стоит задуматься о покупке дополнительных ресурсов для сервера.

    Загрузка процессора из-за работы сайта

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

    • некорректная работа одного из модулей CMS (Joomla, Drupal, WordPress и т.д.);
    • нагрузка на систему от Apache-сервера;
    • большое количество запросов к веб-сайту из одного или нескольких IP-адресов (HTTP флуд);
    • сканирование сайта для определения слабых мест;
    • совершается частая DDOS-атака, которую сложно обнаружить;
    • происходит атака с целью подобрать пароль;
    • резко взросла посещаемость (в данном случае это хорошая новость для хозяина сайта, поэтому стоит сменить тариф);
    • загрузка со стороны MySQL (некоторые запросы могут выполняться очень долго);
    • перегрузка почтового сервиса (проходит массовая рассылка);

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

    Наша компания настроит работу сервера, если с ним пошло что-то не так. Специалисты смогут выяснить не только причины, по которым происходит нагрузка на процессор, но и устранят проблему в кратчайшие сроки. Кроме этого, мы сможем также помочь тем владельцам веб-ресурсов, чьи сайты нагружают веб-сервер. Обращайтесь office@itfb.com.ua

  • Парсят сайт, что делать?

    Парсят сайт, что делать?

    защита сайта от парсингаВсе владельцы веб-ресурсов стремятся к тому, чтобы контент на их сайтах был уникальным. Для этого они или самостоятельно проделывают огромную работу, или обращаются в специальные компании.  Но есть недобросовестные пользователи, которые могут просто взять и продублировать уникальную информацию на свой сайт. При этом им не понадобиться заходить к каждому отдельно в поисках контента. Эту работу за них делает специальный инструмент – парсер. Сам процесс называется парсингом. Рассмотрим подробно, как происходит процедура, чем она грозит владельцу веб-проекта и как от нее можно защититься.

    Как происходит парсинг

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

    Весь процесс условно делиться на 4 этапа:

    1. Парсер заходит на страницу по какому-то определенному адресу.
    2. Далее он находит и запоминает контент, который располагается между необходимыми границами.
    3. Сохраняет информацию в нужном виде.
    4. Переходит к следующему адресу.

    Какие могут возникнуть проблемы

    Основная проблема – контент ресурса перестанет быть уникальным. Из-за этого сайт может существенно упасть в позициях.

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

    Как защититься от парсинга

    Самый простой способ спасти свои картинки – нанести на них водяные знаки. Относительно остального контента – стоит хорошо настроить защиту. Для этого следует:

    1. Проанализировать частоту запросов к серверу по IP-адресам. Если один адрес выделяется среди других, то его нужно заблокировать. Но учитывая тот факт, что частые запросы могут идти и от обычных пользователей, для разблокировки надо поставить каптчу.
    2. Менять хотя бы раз в месяц структуру страниц. Например, попробовать переставить местами какие-то блоки.
    3. Некоторые важные данные сделать в виде картинок. Например, номер телефона, адрес и т.д. Не стоит превращать целую статью или описание в картинку, поскольку сайт упадет резко в позициях
    4. Использовать учетные записи для доступа к важной информации.

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

    Чтобы действительно настроить защиту от парсинга, понадобятся специальные знания и навыки. Конечно, можно попробовать самостоятельно все это освоить и сделать, но вряд ли это спасет хозяина проекта на 100% от парсинга. Доверить эту работу можно только профессионалам.

    Наша команда легко справится с этой задачей. Обратившись за помощью к нам сейчас, вы заблаговременно защитите свой сайт от недобросовестного вмешательства. office@itfb.com.ua

  • Создание Agile проекта в Jira

    Создание Agile проекта в Jira

    Принцип работы с проектом Scrum

    Scrum –  цикличный и инкрементальный Agile Framework для управления проектами по разработке приложений и другого ПО.

    применение agile в jira

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

    Все начинается с планирования. Необходимо создать задачи в БекЛог.внедрение аджайл в работу

    Для приоритизации задач используется  ранжирование и версионность. Для логической группировки задач используются Эпики.использование аджайл в жире

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

    Далее спринт запускается в работу. После запуска задачи в спринт добавляться не должны. Все, задачи которые были сформированы во время активного спринта, набрасываются в беклог и, при планировании добавляются в следующий спринт. Срочные задачи, полученные службой технической поддержки, создаются в отдельном проекте ServiceDesk, работа над 2мя проектами ведется одновременно. Каждый специалист должен уделять определенное (ограниченное) время вопросам технической поддержки, остальное время должно быть посвящено проекту по развитию.  Если задачи в проекте технической поддержки отсутствуют,  то свободное время нужно тратить на досрочное завершение задач по проекту развития.  Если задач по технической поддержке слишком много, необходимо принимать меры в рамках проекта СервисДеск без ущерба для проекта Развития. Описание и принципы работы проекта СервисДеск при необходимости будут даны дополнительно. Для оценки распределения нагрузки на сотрудника используются отчеты, описанные в разделе «Возможности Жира для удобной работы с Agile»

    Во время активного спринта ежедневно в одно и тоже время и в одном и том же месте поводится собрание «на ногах». Встреча длится не более 15 минут. Во время встречи обычно обговориваются 3 вопроса:

    1. Что сделано вчера?
    2. Что нужно сделать сегодня?
    3. Какие есть проблемы и как их устранить?

    Не нужно заострять внимание на изменении статусов задач. Цель встреч – общение и обсуждения для плодотворной работы.

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

    Спринт завершается вручную. Если в спринте есть незавершенные задачи – они возвращаются в верхние строчки Беклога. (Если есть незавершенная подзадача, рекомендуется сделать из нее отдельную задачу – Task и после этого завершать спринт).

    После завершения спринта перед началом планирования следующего спринта проводится Sprint Retrospective Meeting. В рамках этой встречи, которая длится 40-90 минут, должны быть обговорены вопросы, направленные на улучшение результатов следующего спринта. Рекомендуется начинать с результатов прошлой ретроспективы, и оценки достижения поставленных целей по ведению спринта. Для анализа рекомендуется использовать Sprint Report а также другую статистику, которая доступна через отчетность. В процессе собрания нужно ответить на следующие вопросы:

    1. Что нужно начать делать?
    2. Что нужно перестать делать?
    3. Что нужно продолжать делать?

    После этого – начинаем планирование следующего спринта и продолжаем работу циклически по уже оговоренному алгоритму.

    Возможности Жира для удобной работы с Agile

    Для каждого из этапов в Жира имеется 3 режима:

    • Режим планирования
    • Режим работы
    • Режим отчетности

    В режиме планирования можно использовать Drug&Drop для добавления версии в задачу или задачи в Эпик.

    В режиме работы Жира дает простой способ изменения статусов задачи с помощью Drug&Drop, также позволяет отмечать (Add flag) проблемные задачи, для обсуждения на ежедневных собраниях.  Также рабочая доска позволяет отображать задачи, с применением указанного фильтра,  группировать их по указанному параметру (исполнитель и пр.), подсвечивать различными цветами.

    В режиме отчетности доступны такие agile отчеты, как:

    • Burndown Chart
    • Sprint Report
    • Epic Report
    • Version report
    • Velocity Chart
    • Control Chart

    Также есть стандартные отчеты Жира, которые также имеет смысл использовать при анализе и поиске узких мест в работе над проектом.

    Для оценки загрузки специалиста можно использовать отчет: User Workload Report

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

    Основные настройки проекта-шаблона

    Тип проекта: Scrum Software Development

    Название: Проект, создаваемый из шаблона будет именоваться согласно политике именования проектов.

    БП: (Стандартный).

    пример использования agile

    Компоненты: нет

    Роли:

    • Владелец продукта – конечная инстанция по определению требований к продукту. Занимается описанием поставленных задач и приоритезацией бэклога.
    • Scrum Manager – Посредник, переговорщик, ответственный за организацию команды. Убирает препятствия(проблемы) или находит кого-то, кто может.
    • Член команды – многофунккциональные, автономные, самоорганизующиеся сотрудники. Среди них менеджер проекта, разработчики, тестировщики и пр.

    Безопасность:

    Уведомления: Default Notification Scheme. В которой обо всех событиях уведомляются  All watchers, Assignee User, Reporter.применение аджайл в жира использование скрум скрум и аджайл agile scrum agile jira scrum jira

    пример agile

    Типы задач:

    • Story – описание пожеланий владельца продукта и пользователей. Возможно в вольной нетехнической форме.
    • Task – конкретная задача, поставленная уполномоченным лицом.
    • Sub-task – конкретизация Story или Task
    • Epic – группировка задач из разных Спринтов.

    Для работы с проектом настраиваются Scrum Board со следующими параметрами:

    • Используем фильтр для задач: project = <название проекта> ORDER BY Rank ASC
    • Используем столбцы согласно статусам проекта.
    • Используем исполнителей задачи для формирования Sweemlines.
    • Используем StoryPoints для Estimation Statistic и Remaining Estimate and Time Spent для Time Tracking.
    • Настраиваем рабочие дни согласно календаря.
    • Добавляем столбцы Rank, StorePoints, Iteration в расширенный вид задачи.

    Пример группировки и детализации задач:

    Epic-7 – «разработка приложения под Андроид».  Включает в себя Story-1 «разработать интерфейс из 3 закладок» с подзадачами «Описание функционала закладки 1», «Описание функционала закладки 2», «Описание функционала закладки 3». И Story-2 «добавить панель быстрых клавиш» с подзадачами «Красная клавиша», «Синяя клавиша», «Желтая клавиша».  Также в Epic-1 входит Task-5 «взаимодействие интерфейса с базой данных» с подзадачами «Получение данных из базы» и «отправка данных в базу»

    Epic-8 – «разработка приложения под iOS».  Включает в себя Story-3 «разработать интерфейс из 3 закладок» с подзадачами «Описание функционала закладки 1», «Описание функционала закладки 2», «Описание функционала закладки 3». И Story-4 «добавить панель быстрых клавиш» с подзадачами «Красная клавиша», «Синяя клавиша», «Желтая клавиша».  Также в Epic-2 входит Task-6 «взаимодействие интерфейса с базой данных» с подзадачами «Получение данных из базы» и «отправка данных в базу»

    Наша компания предоставляет весь спектр услуг по внедрению продуктов для Agile, обращайтесь office@itfb.com.ua

  • Как настроить NGINX + SSL

    Все переходят на SSL. Но порой платить деньги за то, чтобы пощупать не хочется. Очень смешно, но таковы реалии. Люди не могут понять, почему стоимость файлика часто превышает стоимость сервера. Ну да ладно. Приступим лучше к настройке NGINX с сертификатом, который мы получим бесплатно!!!

    Есть такой сервис, как letencrypt. Он выдает сертификаты для домена. Пока Wildcard Certificates не выдаются. Но не печаль. В планах на январь 2018 добавить эту возможность. Важное ограничение – выдаются такие сертификаты на 90 дней. После надо либо перезаказать, либо отказаться. Для продления, есть API, как и для заказа. Хотя можно работать и с не валидным. Но тогда зачем напрягаться, ведь можно пользоваться самоподписанным?

    Так, вроде бы все обсудили. Ах, нет. Будем все производить на CentOS 6.9. Версия NGINX в данном случае не сильно играет роль, да и вообще, может стоять Apache.

    Приступим.

    1. Для начала, нам нужно взять последнюю версию letencrypt. Идем на гитхаб и клонируем репу.
    cd /usr/local
    git clone https://github.com/letsencrypt/letsencrypt
    1. Открываем порт на фаерволе. Лучше сразу.
    2. Останавливаем NGINX/Apache
    3. Переходим в директорию letsencrypt
    cd /usr/local/letsencrypt
    1. Генерируем сертификаты
    ./letsencrypt-auto certonly --standalone -d your_domain.ua -d www.your_domain.ua

    Или только для одного

    ./letsencrypt-auto certonly --standalone -d your_domain.ua

    При первом запуске установятся необходимые пакеты. Надо будет указать email и ответить на вопрос, желаете ли Вы поделится своими данными. После если все ОК, то будет сформирован сертификат и поздравление:

    Performing the following challenges:
    
    tls-sni-01 challenge for your_domain.ua
    
    Waiting for verification...
    
    Cleaning up challenges
    
    IMPORTANT NOTES:
    
     - Congratulations! Your certificate and chain have been saved at:
    
       /etc/letsencrypt/live/your_domain.ua/fullchain.pem
    
       Your key file has been saved at:
    
       /etc/letsencrypt/live/your_domain.ua/privkey.pem
    
       Your cert will expire on 2018-01-11. To obtain a new or tweaked
    
       version of this certificate in the future, simply run
    
       letsencrypt-auto again. To non-interactively renew *all* of your
    
       certificates, run "letsencrypt-auto renew"
    
     - If you like Certbot, please consider supporting our work by:
    
       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
    
    

    Тут указаны пути, куда сохранились сертификаты и прочая инфа. Полезно, так что прочитайте.

    Если все же выдало ошибку, проверьте, может что-то блокирует 80 порт.

    1. Что бы получить оценку A+ нужно будет сгенерировать новый DH (Diffie-Hellman cipher) key. Если Вы параноик, а большинство просто делают из принципа – больше, не хуже, то генерируем ключ в 4096 бит.
    mkdir /etc/nginx/ssl
    cd /etc/nginx/ssl
    openssl dhparam -out dhparams.pem 4096
    1. Теперь у нас есть все, для работы сайта по https. Добавляем в конфиг NGINX:

    [signinlocker]

    listen 443 ssl default_server;
    
    ssl_certificate /etc/letsencrypt/live/your_domain.ua/fullchain.pem;
    
    ssl_certificate_key /etc/letsencrypt/live/your_domain.ua/privkey.pem;
    
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    
    ssl_prefer_server_ciphers on;
    
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    
    ssl_dhparam /etc/nginx/ssl/dhparams.pem;
    
    ssl_session_timeout 30m;
    
    ssl_session_cache shared:SSL:10m;
    
    ssl_buffer_size 8k;
    
    add_header Strict-Transport-Security max-age=31536000;

    [/signinlocker]

    1. Запускаем NGINX, заходим на сайт по HTTPS и радуемся. Конечно это еще не все. Я долго не буду рассказывать о том, как перекидывать с http на https. Но покажу свой скрипт обновления сертификата. Он не идеален, но на первое время мне его хватает. А как говорится, нет ничего более постоянного, чем что-то временное.

    Обновление происходит этой командой

    letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path="web_site_path" -d "domain"

    Для тех кто не понял:

    –webroot-path – путь к webroot заданный в настройках nginx

    -d – имя домена your_domain.ua

    Для самого скрипта потребуется bc, которая входит в состав CentOS и является калькулятором. Нужно для того, чтобы не мучать сервис letsencrypt.

    [sociallocker]

    #!/bin/bash
    
    webpath='/var/www/site_1/'
    
    domain=$1
    
    le_path='/usr/local/letsencrypt'
    
    le_conf='/etc/letsencrypt'
    
    exp_limit=30;
    
    if [ -z "$domain" ] ; then
    
            echo -e "You must provide the domain name for the certificate renewal.\t[\\033[1;31mERROR\\033[0;39m]"
    
            exit 1;
    
    fi
    
    cert_file="/etc/letsencrypt/live/$domain/fullchain.pem"
    
    if [ ! -f $cert_file ]; then
    
            echo "[ERROR] certificate file not found for domain $domain."
    
            exit 1;
    
    fi
    
    exp=$(date -d "`openssl x509 -in $cert_file -text -noout|grep "Not After"|cut -c 25-`" +%s)
    
    datenow=$(date -d "now" +%s)
    
    days_exp=$(echo \( $exp - $datenow \) / 86400 |bc)
    
    echo "Checking expiration date for $domain..."
    
    if [ "$days_exp" -gt "$exp_limit" ] ; then
    
            echo "The certificate is up to date, no need for renewal ($days_exp days left)."
    
            exit 0;
    
    else
    
            echo "The certificate for $domain is about to expire soon. Starting renewal request..."
    
            "$le_path"/letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path="$webpath" -d "${domain}"
    
            echo "Reloading Nginx..."
    
            sudo service nginx reload
    
            echo "Renewal process finished for domain $domain"
    
            exit 0;
    
    fi
    
    
    
    

    [/sociallocker]

    После прописываем в крон, на запуск каждую неделю и все.

    @weekly  /usr/local/bin/lets-cert-renew your_domain.ua >> /var/log/ your_domain.ua 2>&1

    Нужна помощь в настройке SSL для домена? Обращайтесь office@itfb.com.ua

  • С чего начинается безопасность в ИТ инфраструктуре?

    В современном мире компьютер стал неотъемлемой частью жизни. Решение перевести бумажную работу в электронный формат упростило множество операций, от простейших вычислений до сложных бухгалтерских и инженерных расчетов. В большинстве компаний для организации рабочего процесса требуется не один компьютер, а множество машин и комплектующих к ним, что в последствии образовывает IT – инфраструктуру.

    IT – инфраструктура представляет собой совокупность компьютеров и составляющих, которые функционируют как единая система, образовывая локальные или глобальные сети.

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

    Наиболее известным способом защиты (даже для обычного пользователя ПК) является конечно же антивирус. Современные антивирусы представляют собой комплексный продукт, который способен защитить компьютер не только от вирусов, но и от спама, вредоносных программ и прочих различных угроз. Для предприятий, которые могут ограничиться пятью компьютерами и сервером, можно обойтись специализированными пакетами, которые предлагают разработчики антивирусных программ. Данные продукты имеют функцию централизованного управления, что позволяет сэкономить на системных администраторах. Подобные специализированные решения в основном рассчитаны на малых предпринимателей и содержат более расширенные возможности нежели у продукта, который направлен для «личного» пользования, например: ограничение доступа сотрудников в социальные сети, резервное копирование данных в заданное время, защита от кражи ценных данных и прочее.

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

    В современном мире одной из центральных проблем является сохранение конфиденциальных данных, этим вопросом занимается отдельная ветвь программного обеспечения, как DLP-системы. Ассортимент подобного ПО различен, но комплексные продукты гораздо удобны в использовании нежели «смесь» разрозненных программ от различных разработчиков.

    Защита IT – инфраструктуры не заканчивается на программно-технических мероприятиях. Существуют также административные и организационные мероприятия, которые нацелены на физическое предотвращение угроз. Защита компьютера с помощью ПО, это конечно хорошо, но если злоумышленник получил прямой доступ к объекту, то его работа заметно упрощается невзирая на то, какие защитные программы на нем установлены. Таким образом к первичной защите нашей IT – инфраструктуры можно отнести также организацию охраны на объекте, особенно если этот объект серверный. Сюда же можно отнести и контроль работы сотрудников с электронными носителями, которые они вносят и выносят с территории предприятия.

    Немаловажным аспектом организации IT – безопасности является обеспечение правовой базы, основанием которой выступает соблюдение законодательства, как государственного, так и международного. Сюда же относится разработка внутренних документов, которые, например, регламентируют построение информационной безопасности в банках, НПА, которые регламентируют права и обязанности сотрудника и т.д.

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

    Наша компания как раз и предоставляет комплексные услуги по обеспечению безопасности IT инфраструкруры, office@itfb.com.ua