По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если ты готовишься к собеседованию на позиции IT - специалиста, такие как сетевой инженер, DevOPS, системный администратор или инженер технической поддержки, то тебе определенно будет полезно пробежаться по собранному нами списку вопросов, которые буду ждать тебя при приеме на работу. Помимо вопросов, мы подготовили ответы на них. Если вы торопитесь и не хотите сильно погружаться в вопрос (например, вы проходите собеседование на должность project/product менеджера в IT) - то для вас подойдут короткие ответы. Если вы хотите глубже вникнуть в суть вопроса, под основными вопросами мы добавили ссылки на расширенные материалы по тематике. Погнали. Видео: топ 35 вопросов на собеседовании IT - спецу | Что тебя ждет и как отвечать, чтобы получить оффер? Навигация Что такое линк? Перечислите 7 уровней модели OSI. Что такое IP - адрес? Что такое LAN? Расскажите нам про DHCP А про DNS? Что такое WAN? Что означает термин "нода"? Что такое "хост"? Какая максимальная длина кабеля UTP? Что такое маршрутизатор? Что такое коммутатор? В чем разница между роутером, свичем и хабом? 3 уровня иерархии сетей от Cisco? Что такое VLAN и зачем они нужны? Что такое PING? Какие режимы передачи данных бывают? Что такое Ethernet? Что такое VPN? Что такое MAC - адрес? Что такое TCP и UDP? В чем разница между ними? Что такое NIC? Зачем нужен прокси сервер? Какие типы сетевых атак вы знаете? Что такое NAT? Объявление А знаете ли вы про MST (Multiple Spanning Tree)? А про RSTP (Rapid Spanning Tree) что скажете? А про протокол RIP что скажете? Расскажите нам про EIGRP, а мы послушаем Ого, кажется у вас неплохой опыт. А что скажете про BGP? Так, продолжайте про OSPF? Что такое VTP? Что думаете про модный SD WAN? Пару слов про MPLS? И пару слов про шифрование трафика. Какие алгоритмы вам знакомы? В сетях вы разбираетесь. Поговорим про телефонию. Какие кодеки вам знакомы? А разницу между FXS и FXO портом знаете? А что по вашему лучше - SIP или PRI? Зачем нужен протокол RTP? А термин SBC вам знаком? И последний вопрос. Про SDP знаете? Итоги Что такое линк? Линк это соединение между двумя сетевыми устройствами. По смыслу, термин включает в себя как тип соединительной линии (кабеля), так и протоколы, которые работают на этому линке. Перечислите 7 уровней модели OSI. Очень частый и важный вопрос. Уровни снизу вверх: Физический (Physical) Канальный (Data Link) Сетевой (Network) Транспортный (Transport) Сеансовый (Session) Представления (Presentation) Приложений (Application) Подробно почитать про модель OSI и посмотреть веселый поучительный ролик Что такое IP - адрес? Уникальный внутри подсети идентификатор устройства третьего уровня модели OSI. Сейчас его больше всего четвертой версии, но мир идет в сторону IPv6 (шестая версия). Детально про IP - адрес мы написали тут и сняли видео. Что такое LAN? LAN (Local Area Network) или локальная вычислительная сеть - локалка. Это сеть между компьютерами и другими сетевыми устройствами, которые расположены в одном и том же (небольшом) месте. Для подробностей от том, что такое LAN и чем он отличается от WAN почитайте нашу статью. Расскажите нам про DHCP DHCP (Dynamic Host Configuration Protocol). Протокол конфигурации для IP - адресов. Например, DHCP сервер раздает адреса в подсети, отвечая на запросы, а DHCP клиента запрашивает. Очень много полезной информации про DHCP тут А про DNS? DNS - Domain Name System.Это система доменных имен. Когда я открыл сайт hh.ru, чтобы откликнуться на вакансию вашей компании, мой ноутбук отправил запрос на DNS сервер, который преобразовал имя сайта в IP - адрес. И вот я здесь. Чтобы узнать больше деталей про DNS сервер перейдите к статье. Что такое WAN? WAN (Wide Area Network) - это глобальная вычислительная сеть, которая не ограничена географической локацией - квартира, этаж или здание. Отличный пример WAN сети - интернет, через который вы сейчас читаете эту статью. Что означает термин "нода"? Что такое "хост"? Как правило, в сетях, нодой или хостом называют некий сетевой узел. Так, маршрутизатор, коммутатор и даже компьютер может быть назван "нодой" и "хостом". Какая максимальная длина кабеля UTP? Одно плечо кабеля работает на дистанции до 100 метров. Потом нужен репитер или коммутатор. Что такое маршрутизатор? Маршрутизатор (роутер, так как это одно и то же) это устройство третьего уровня модели OSI, которое маршрутизирует IP - пакеты между подсетями. Маршрутизатор запоминает таблицы маршрутизации, дистанцию до других подсетей, узкие места и прочие параметры. Что такое коммутатор? Коммутатор (или как его называют свич) - устройство, которое работает на втором уровне модели OSI. Свич оперирует с MAC - адресами и в корпоративных сетях именно в него подключаются оконечные устройства (компьютеры, МФУ и прочее). В чем разница между роутером, свичем и хабом? Роутер работает на третьем уровне модели OSI, свич на втором, хаб на первом. А еще хабы уже не используют, ибо они туповат. Будьте смелыми и попробуйте так и сказать на собеседовании - "туповаты", а потом напишите нам в комментариях, прошли ли вы успешно собеседование. По нашим наблюдениям, чем проще умеет выражаться IT - специалист, тем проще и лучше всем. Но перед тем как говорить как мы подсказываем выше, будьте уверены в своих знаниях темы и почитайте и посмотрите подробное видео о том, в чем разница между роутером, свичем и хабом? 3 уровня иерархии сетей от Cisco? Изи. Уровень доступа (access layer), уровень распределения (distribution layer) и уровень ядра (core layer). Почитайте по иерархическую Cisco модель в деталях. Это важно. Что такое VLAN и зачем они нужны? VLAN (Virtual Local Area Network), или так называемые виртуальные локальные сети, которые позволяют на на одном физическом порту роутера создать несколько виртуальных локальных сетей сразу. Это экономия портов и красивый дизайн сети. За подробностями про VLAN милости просим по ссылке. Что такое PING? Это самый базовый инструмент инженера, который позволяет понять ""А жив ли хост?". Работает по протоколу ICMP. Какие режимы передачи данных бывают? симплексный полудуплексный полнодуплексный Подробности можно найти про симплекс, дуплекс и полудуплекс можно найти тут. Что такое Ethernet? Ethernet - стандарт, описывающий подключение к локальным сетям через кабель (различные кабели). Существуют различные стандарты Ethernet, отличающиеся по скорости работы. Вот тут мы рассказываем про Ethernet детально и на пальцах Что такое VPN? VPN позволяет установить виртуальное защищенное соединение, которое называют туннелем, между вашим устройством, или даже целой сетью и другим удаленным устройством, или же - другой удаленной сетью Немного расслабиться и посмотреть короткое анимационное видео про VPN можно по ссылке. Что такое MAC - адрес? Уникальный идентификатор устройства на втором уровне модели OSI. С MAC - адресами работают коммутаторы Очень подробно про mac - адресу мы написали тут. Что такое TCP и UDP? В чем разница между ними? Оба термина относятся к транспортному уровню модели OSI и является транспортными протоколами. TCP - надежный и проверяет доставку - подходит для чувствительного к потерям трафика, а UDP допускает потерю данных. Если нужны подробности - потрясающее видео про TCP и UDP и статья доступны по ссылке Что такое NIC? NIC это Network Interface Card. Это ни что иное как сетевая карта устройства. Зачем нужен прокси сервер? Прокси (proxy) сервер - это элемент сетевой инфраструктуры, который выполняет роль посредника между клиентским компьютером (терминал, браузер, приложение), находящимся во внутренней сети и другим сервером, который живёт во внешней сети или наоборот. Прыгайте за подробным чтивом про прокси вот сюда. Какие типы сетевых атак вы знаете? DoS, DDoS, фишинг или Bruteforce. Есть еще "злое" ПО, такое как: бэкдоры (Backdoor), майнеры (Miner), банкеры (Bank, шпионские программы (Spyware), рекламное ПО (Adware), руткиты (Rootkit). Веселое видео и подробная статья про сетевые угрозы ждет вас тут. Что такое NAT? NAT технология позволяет множеству внутренних устройств с внутренним IP - адресом выходить в интернет под внешними IP - адресами и получать пакеты обратно на внутренний IP - адрес. Технология богатая. Вот тут можно погрузиться в теорию про NAT. Объявление На текущем этапе мы перебрали базовые термины, которых будет достаточно не инженеру (проджекту или продакту, как мы сказали в начале статьи). Сейчас мы начнем "лупить" из тяжелой артиллерии: углубимся в сетевые стандарты и протоколы. Все, что будет дальше, пригодится именно технарям. А знаете ли вы про MST (Multiple Spanning Tree)? Да, знаю. Это третья вариация алгоритмов связующего дерева и он обеспечивает отсутствие петель и широковещательного шторма. Основная идея MST в так называемых множественных связующих деревьях. Классика. Подробности работы MST (Multiple Spanning Tree) вы найдете тут. А про RSTP (Rapid Spanning Tree) что скажете? Скажу. С развитием протоколов маршрутизации, классический STP перестал "вывозить". Он просто не такой быстрый. Поэтому, на его смены пришел быстрый RSTP. Почитать про быстрый STP можно в нашей статье. А про протокол RIP что скажете? Рест ин пис RIPv1 и да здравствует RIPv2. Это протокол маршрутизации, который хранит информацию о маршрутизации и сетевых путях. Сетевой путь - это простой фрагмент информации, который говорит, какая сеть подключена к какому интерфейсу маршрутизатора. Ах да. Про разницу RIPv1 и RIPv2 можно почитать тут. А про детали работы протокола RIP информации много здесь. Расскажите нам про EIGRP, а мы послушаем Устраивайтесь поудобнее. EIGRP это проприетарный протокол компании Cisco Systems. Если быть точным, то Enhanced Interior Gateway Routing Protocol это протокол "внутреннего шлюза". У EIGRP высокий показатель масштабируемости и высокая скорость сходимости сети. Вот такой ответ. Но, мы рекомендуем вам погрузиться в EIGRP. У нас на этот счет есть целый цикл статей из 7 частей про EIGRP. Информации там очень много, но после прочтения статьи вероятность того, что вам зададут вопрос про EIGRP, на который вы не будете знать ответа - минимальна. Ого, кажется у вас неплохой опыт. А что скажете про BGP? На BGP возложена великая задача - соединение автономных систем во всем Интернете. А, я не сказал про то, что такое автономная системы - это совокупность точек маршрутизации и связей между ними, объединенная общей политикой взаимодействия, которая позволяет этой системе обмениваться данными с узлами, находящимися за ее пределами. Мы не лыком шиты. Цикл из 5 статей по BGP вас ждет по ссылке. Так, продолжайте про OSPF? OSPF (Open Shortest Path First) - протокол внутренней маршрутизации с учетом состояния каналов (Interior gateway protocol, IGP). Как правило, данный протокол маршрутизации начинает использоваться тогда, когда протокола RIP уже не хватает по причине усложнения сети и необходимости в её легком масштабировании. Хотите углубиться в OSPF? Вот вам цикл статей: Протокол маршрутизации OSPF: LSA, области и виртуальные ссылки Расширенные возможности OSPF: Области OSPF: создание конкретных типов областей Ручная фильтрация маршрутов OSPF Что такое VTP? Думаю вы имеет ввиду VLAN Trunking Protocol, который создан для того, чтобы передавать информацию о VLAN между коммутаторами. Детально про VPT Что думаете про модный SD WAN? Software Defined Wide Area Network определенно интересны, так как помогают серьезно сэкономить на каналах передачи данных, не теряя качества, а также ускорить включение в общую сеть организации новых территориально удаленных филиалов. SD WAN по полочкам. Пару слов про MPLS? MPLS (Multiprotocol label switching) является протоколом для ускорения и формирования потоков сетевого трафика, что, по сути, означает сортировку MPLS и расстановку приоритетов в пакетах данных на основе их класс обслуживания (например, IP-телефон, видео или транзакции, например). И пару слов про шифрование трафика. Какие алгоритмы вам знакомы? Существуют алгоритмы 3DES, Triple DES, AES. А, кстати, в России популярны "Магма" и "Кузнечик". Почитайте про типы шифрования в России и зарубежом В сетях вы разбираетесь. Поговорим про телефонию. Какие кодеки вам знакомы? Кодеков не мало. Но на моем опыте, наибольшей популярностью пользуются G.711 и G.729. Причем 711 используется внутри сетей и его полоса 64 кбит/с, а 729 снаружи для экономии полосы пропускания - он занимает только 8 кбит/с. Про телефонные кодеки все, что нужно знать А разницу между FXS и FXO портом знаете? Конечно. FXS - для подключения аналоговой телефонного аппарата. FXO - для подключения аналоговой телефонной линии. Глубинное погружение в разницу между FXO и FXS на кейсах А что по вашему лучше - SIP или PRI? Протокол SIP - это современный и очень гибкий стандарт, обладающий большим количеством функций, в то время как ISDN PRI доказал свою надежность на протяжении 20 лет использования. PRI дороже в обслуживании но безопаснее, а SIP дешевле и быстрее с точки зрения запуска. Вся разница между SIP и PRI в статье. Зачем нужен протокол RTP? Для передачи голоса в VoIP сетях. SIP делает сигнализацию, а RTP отправляет голос. Кстати, RTP ходит напрямую между телефонами. Чтиво про протокол RTP А термин SBC вам знаком? Знаком. Session Border Controller (контроллер граничных сессий) - сетевое устройство, которое может обеспечить безопасность VoIP, а также соединять несовместимые (разнородные) сигнальные протоколы и медиа потоки, поступающие от различных устройств. SBC - устройства используются в корпоративных сетях и сетях провайдеров услуг и, как правило, развертываются на границе сети (точка входа провайдера в корпоративный контур). А вот тут можете почитать про SBC в подробностях. И последний вопрос. Про SDP знаете? Да. Протокол SDP используется для установления соединения и согласования параметров передачи и приема аудио или видео потоков между оконечными устройствами. Наиболее важными параметрами обмена являются IP - адреса, номера портов и кодеки. Детально про SDP можно почитать тут. Итоги Мы рассмотрели топ 40 вопрос, которые могут быть заданы на собеседовании, связанном с IT специальностью. Под каждым вопросом мы дали короткий ответ на такой вопрос - но лучше всего детально изучать вопрос. Поэтому, под большинством материалов вам будет доступна ссылка на подробный материал, который раскрывает суть каждого вопроса, чтобы точно быть уверенном в успехе собеседования. И еще: почитайте статью, где мы собрали большинство IT терминов - определенно будет полезно. Удачи на собеседовании :)
img
Вот вы пользователь Linux машины. И вот вам захотелось запустить какую-нибудь команду только на определенное время, и вы задаете вопрос - как это сделать? А вот как - использовать команду timeout. Как взять timeout - об использовании команды Базовый синтаксис Как и следовало ожидать, синтакс у команды экстремально прост: сама команда timeout - опции - длительность выполнения (можно даже с единицами измерения) - целевая команда Единицы измерения для указания длительности: s - секунды (­стоит по умолчанию) m - минуты h - часы d - дни Если вы не укажете никакого параметра по длительности, команда не будет активирована. Примеры команд: timeout 5 ping 1.1.1.1 - пингуем 1.1.1.1 5 секунд timeout 5m ping 1.1.1.1 - пингуем 1.1.1 5 минут timeout 5.5h ping 1.1.1.1 - 5,5 часов пингуем 1.1.1 Если у вас есть необходимость, можно запустить команду с добавкой sudo (если для целевой команды требуются права суперпользователя): sudo timeout 100 tcpdump -n -w dump.pcap Сообщение с космосом или отправка определенного сигнала исполняемому процессу Если вы не указали какой-то особый сигнал, по умолчанию передается SIGTERM (сигнал о том, что надо бы мягко терминировать процесс). Однако, если вы укажете ключ -s после команды timeout, вы можете указать любой другой допустимый сигнал. К примеру: sudo timeout -s SIGKILL ping 1.1.1.1 или sudo timeout -s 9 ping 1.1.1.1 Обе команды выше идентичны, и если вы хотите увидеть весь список сигналов, просто введите kill -l Как убить процесс, если он завис Как вы уже поняли, SIGTERM - это сигнал, который отправляется после истечения таймаута, но он легко может быть проигнорирован процессом, и тогда процесс не остановится. Для уверенности в смерти процесса, нужно использовать ключ -k и некое временное значение. Тогда после окончания таймаута будет отправляться сигнал SIGKILL, который процесс не сможет проигнорировать при всем желании. В примере ниже команда выполняется одну минуту, и, если в течение 10 секунд после окончания таймаута она не "умирает", отправляется сигнал SIGKILL и "добивает" процесс: sudo timeout -k 10 1m ping 1.1.1.1 Сохраняем статус Команда timeout всегда возвращает значение 124 после истечения указанного времени или возвращает статус "exit" управляемой команды (той, что вы вводите после команды timeout). Таким образом, вы можете использовать ключ --preserve-status: timeout --preserve-status 10 ping 1.1.1.1 Запуск команды явно, а не за кулисами По умолчанию, timout работает в бэкграунде, и если вы хотите обратного (вдруг после запуска управляемой команды потребуется какой-нибудь пользовательский ввод), нужно использовать ключ -foreground: timeout --foreground 10m ./bestscripteva.sh Заключение В 99% процентов случаев команда timeout требует всего двух аргументов и ни одного факта: времени исполнения и самой исполняемой команды. Однако, вы теперь знаете и другие фишки использования этой замечательной команды.
img
Инъекции Инъекция происходит, когда злоумышленник пытается отправить данные в веб-приложение с намерением заставить его выполнить что-то, что не было предусмотрено при разработке приложения. Наиболее распространенным примером этой уязвимости является SQL-запрос, используемый с целью извлечения конфиденциальных данных организаций. Например, злоумышленник может ввести код SQL в форму, которая ожидает имя пользователя с открытым текстом. Если эта форма ввода не защищена должным образом, это приведет к выполнению этого кода базой данных. Таким образом злоумышленник может читать, изменять и удалять информацию базы данных, которая для него не предназначена. Все, что принимает параметры в качестве входных данных потенциально может быть уязвимо для атаки путем внедрения кода. Поскольку формы пользовательского ввода являются главным способом реализации таких атак, то лучшим подходом для предотвращения таких угроз является контроль и проверка пользовательского ввода. Процесс контроля направлен на проверку того, разрешен ли тип входных данных, представленных пользователем. Проверка ввода гарантирует, что это допустимый тип, формат и длинна. Обрабатывается только то значение, которое проходит проверку. Это помогает противодействовать любым командам, вставленным во входную строку. Так же для предотвращения угрозы используется функция экранирования символов для пользовательского ввода. Это делается чтобы СУБД не путала пользовательский запрос с SQL командой. Одним из лучших способов идентификации атак с использованием инъекций SQL является использование брандмауэра веб- приложений (WAF). WAF отслеживает трафик, который приходит на веб-сервер, и определяет шаблоны которые представляют угрозу. Таким образом для предотвращения данной атаки необходимо применять проверку ввода, параметризированные запросы, хранимые процедуры и экранирование в сочетании с надежным брандмауэром. Это повысит шансы успешной защиты от данной атаки. Нарушение системы аутентификации Уязвимости в системах аутентификации (входа в систему) могут предоставить злоумышленникам доступ к учетным записям пользователей и даже возможность компрометировать всю систему с помощью учетной записи администратора, Например, злоумышленник, обладая базой тысяч известных комбинаций имени пользователя и пароля, может, используя ручные или автоматические методы может выполнить атаку грубой силы. Из-за того, что многие пользователи не соблюдают требований к сложности пароля и веб-сервис не ограничивает количество попыток ввода пароля, злоумышленник может без труда получить доступ к интересующей его учетной записи. Для уменьшения вероятности успеха данной атаки рекомендуется применять многофакторную аутентификацию, чтобы предотвратить автоматизированный ввод данных, проверку на сложность пароля, а также ограничение или задержку повторных попыток входа. Практически полностью уменьшить вероятность такой угрозы может применение аутентификации по токенам. Незащищенность конфиденциальных данных Уязвимость конфиденциальных данных является одной из наиболее распространенных уязвимостей в списке OWASP. Уязвимость заключается в доступности критичных данных, которые должны быть защищены. Если веб-приложение не защищают конфиденциальные данные, такие как финансовая информация, медицинская информация и пароли, злоумышленники могут получить доступ к этим данным и использовать их в своих целях. Плохая реализация криптографической защиты информации и использование небезопасных протоколов основные причины популярности данной угрозы. Одним из популярных способов кражи конфиденциальной информации является реализация атаки "человек посередине". Такая атака осуществляется, когда злоумышленник подключается между веб-браузером и веб-сервисом и перехватывает или изменяет соединение. Затем злоумышленник может просматривать весь трафик и собирать информацию или выдавать себя за одну из двух сторон. Например, злоумышленник может находиться между пользователем и веб-сервисом, который пользователь собирается посетить и собирать его данные для входа. Это можно сделать с помощью перехвата HTTP-соединения между пользователем и веб-сервисом. Захват этого соединения позволяет действовать злоумышленнику как прокси-сервер, собирая и изменяя информацию, передаваемую между пользователем и сайтом. Кроме того, злоумышленник может украсть файлы cookie пользователя. Это небольшие фрагменты данных, созданные веб-сайтом и хранящиеся на компьютере пользователя для идентификации и других целей. Такие файлы могут быть использованы для захвата сеанса пользователя, позволяя злоумышленнику выдавать себя за этого пользователя. Отсутствие шифрования конфиденциальных данных является основной причиной, по которой эти атаки все еще широко распространены. Риск несанкционированного получения данных может быть сведен к минимуму путем шифрования всех конфиденциальных данных, а также отключение временного хранения конфиденциальной информации для повторного использования. Одним из способов защиты передаваемых данных является наличие на веб-сервисе сертификата SSL (Secure Sockets Layer). Это стандартная технология безопасности для установления зашифрованного канала связи между веб-сервисом и браузером. Данный сертификат помогает обеспечить целостность передаваемых данных при передаче между веб-сервером и клиентом. Более новой и надежной версией протокола SSL является протокол TLS. Также для защиты от таких атак используют протокол HTTP Strict Transport Security (HSTS), который обеспечивает безопасное соединение SSL/TLS с любым браузером или приложением, блокируя любые незащищенные HTTP соединения, а также предотвращает кражу cookie. Кроме того, администраторы и разработчики веб-сервисов следует не использовать лишнюю конфиденциальную информацию. Нарушение контроля доступа Управление доступом позволяет разграничивать доступ к информации или функциям для разных пользователей. Если управление доступом нарушено, злоумышленник, имеющий доступ к учетной записи, может использовать привилегии, которые не предназначены для этой учетной записи. Это позволяет обычной учетной записи читать и копировать файлы, которые должны быть доступны только администратору. Неправильная настройка элемента управления доступом позволяет злоумышленникам обходить авторизацию и выполнять задачи, которые доступны только привилегированным пользователям, администраторам. Например, веб-приложение может позволить пользователю изменить учетную запись, в которую он вошел, просто изменим часть url-адреса без какой-либо другой проверки. Это происходит из-за неправильной конфигурации или вовсе отсутствия настройки прав на администрирование и управление приложением. Предоставляя глобальный доступ к панели управления хостингом, серверу через FTP/SSH, базе данных или другим приложениям на сервере мы открываем доступ к функциям или просмотру конфиденциальных данных и файлов. Для снижения рисков использования нарушенного контроля доступа рекомендуется предоставление только необходимые функции для выполнения задачи и только в течение времени, необходимого для выполнения указанной задачи, применение многофакторной аутентификации ко всем возможным точкам доступа, аудит веб-сервера, удаление не использующихся служб и учетных записей. Для предотвращения нарушения доступа необходимо запретить глобальный доступ к функциям управления сервером. Каждый пользователь должен иметь доступ только к его информации. Небезопасная конфигурации Наличие безопасной конфигурации всех компонентов инфраструктуры требуется для безопасности веб-сервера. Небезопасные и уязвимые компоненты могут быть представлены в различных формах: фреймворки, веб-серверы, сервер баз данных, сетевые службы и сами приложения. По умолчанию настройки компонентов сервера в своем большинстве небезопасны и это открывает злоумышленникам поле для атаки. Например, использование настроек по умолчанию в серверах баз данных может привести к доступу ка закрытой службе через публичный IP-адрес, что в сумме с использованием установленным производителем по умолчанию паролем чревато очень серьезными проблемами с утечкой или потерей критичных, или конфиденциальных данных. Злоумышленник сможет изменять и читать данные в числе которых могут быть выводимые браузером данные для пользователя или же сессионные cookies, утечка которых может привести к использованию злоумышленником платежных данных пользователей или же другой секретной информации. Ежедневно исследователи находят уязвимости в системах и компонентах. От уязвимостей нулевого дня трудно защититься. Уязвимость нулевого дня является ошибкой при разработке программного обеспечения, которая несет угрозу безопасности программного обеспечения. Термин "нулевой день" относится к недавно обнаруженной уязвимости программного обеспечения. Поскольку разработчик не знает о возможной уязвимости при проектировании ПО то, когда он узнает о найденном недостатке неожиданно, разработчик не имеет возможности сразу исправить эту уязвимость, так как для этого нужно подготовить официальный патч или обновление для исправления проблемы. У разработчика есть "ноль дней" чтобы исправить проблему, которая была обнаружена и возможно уже используется злоумышленниками, чтобы успеть защитить своих пользователей. Использование небезопасных компонентов приводит к краже и широкомасштабным атакам. Когда приложение использует небезопасные компоненты, злоумышленники могут узнать все, что им нужно знать о серверах, компонентах и многом другом. Поэтому необходимо постоянно проверять актуальность программного обеспечения, так как уязвимости могут быть обнаружены в самых разных программных компонентах таких как сервера, базы данных и операционной системе. Для предотвращения угроз, связанных с использованием неправильной конфигурации системы, следует использовать только необходимые компоненты и функции, автоматизировать процесс для проверки эффективности конфигураций и параметров во всех средах, использовать методы сегментации и контейризации для ограничения поверхности атаки. Межсайтовое выполнение сценариев XSS (Cross Site Scripting) Межсайтовое выполнение сценариев это широко распространенная уязвимость, которая затрагивает многие веб-приложения. XSS-атаки состоят из внедрения вредоносных клиентских сценариев на веб-сайт и использование ве-сайта в качестве распространения. Риск XSS заключается в том, что он позволяет злоумышленнику вводить контент на веб-сайт и изменять способ его отображения, заставляя браузер жертвы выполнять код, предоставленный злоумышленником во время загрузки страницы. Такие уязвимости возникают, когда веб-приложение позволяет пользователям добавлять пользовательский код в URL-ссылку или на веб-сайт, который будет виден другим пользователям. Эта уязвимость может быть использована для запуска вредоносного кода JavaScript в браузере жертвы. XSS-атаки не направлены на конкретную цель. Злоумышленник просто использует уязвимость сайта или приложения, внедряя код через случайного пользователя и далее этот сайт или приложение становится центром рассылки вредоносных сценариев для множества других пользователей. Например, злоумышленник может отправить жертве электронное письмо, которые выглядит как официальное письмо от банка с ссылкой на веб-сайт этого банка. Однако эта ссылка может иметь какой-то вредоносный код JavaScript, оставленный в конце URL-адреса. Если сайт банка не будет должным образом защищен от межсайтового выполнения сценариев, то этот вредоносный код будет запущен в веб-браузере жертвы, когда он пройдет по ссылке. Уязвимость XSS дает злоумышленнику почти полный контроль на самым важным программным обеспечением компьютеров в настоящее время браузерами. Существует три типа межсайтовых скриптовых атак: Хранимые XSS (постоянные). Наиболее опасный тип уязвимостей, так как злоумышленник получает доступ к серверу и уже с него может управлять вредоносным кодом. Вредоносный код постоянно хранится на целевом сервере и выполняется каждый раз при обращении к сервису. Это может произойти на любых страницах с вводом данных пользователей, например, в полях комментариев, базе данных и может быть встроен как текст картинки, или рисунки. Отраженные XSS (непостоянные). Отраженная атака происходит, когда вредоносный сценарий не хранится на сервере, а содержится во входных данных, отправленных от пользователя к серверу. Это атака реализуется путем отправки жертве ссылки, содержащей вредоносный сценарий, на электронную почту или другим способом. Проходя по ссылке, жертва отправляет запрос с вредоносным кодом к серверу, который автоматически берет данные из вредоносной строки и отправляет модифицированный ответ жертве. В итоге браузер жертвы распознает запрос как надежный и выполняет вредоносный скрипт. DOM-модели. Третий тип атаки, известный как атака на основе DOM (Document Object Model) не является распространённой, но может произойти. Атака происходит, когда среда DOM изменяется в веб-браузере жертве и приводит к запуску вредоносного кода на стороне клиента. Атаки на основе DOM отличаются тем, что они используют уязвимости на стороне клиента, а не на стороне сервера. Для снижения рисков XSS-атаки используются межсетевые экраны, которые помогают смягчить такие атаки. Также для предотвращения таких атак рекомендуется осуществлять экранирование ненадежных данных HTTP-запроса или же использовать фреймворки, которые автоматически экранируют XSS. Небезопасная дессериализация Эта угроза нацелена на многие веб-приложения, которые часто сериализиуют или дессериализуют данные. Сериализация означает получение объектов из кода приложения и преобразование их в формат, который может использоваться для других целей, таких как хранение данных на диске или их потоковая передача. Дессериализация это обратное действие, преобразование сериализованных данных обратно в объекты, которые может использовать приложение. Когда поток данных преобразуется в объекты, вредоносные или измененные объекты могут вызвать серьезные проблемы безопасности. Небезопасное осуществление десериализации является результатом десериализации данных из ненадежных источников и может привести к серьезным последствиям, таким как DDoS-атака, удаленное выполнение кода и запуска программ. Несмотря на то, что можно предотвратить такие уязвимости используя мониторинг и проверку типов, единственным надежным способом защиты от атак десериализации является запрет десериализации из ненадежных источников. Если же это сделать невозможно, то для предотвращения таких атак также может быть осуществлена проверка целостности, например, при помощи цифровой подписи, применение строгих ограничений типа при создании объектов. Также изолирование и выполнение кода, который десериализуется в средах с низким уровнем привилегий. Использование компонентов с известными уязвимостями Значительная часть веб-сервисов состоит из множества специальных компонентов, такие как библиотеки и фреймворки (англ. - framework), которые поставляются сторонними компаниями. Эти компоненты являются частями программного обеспечения, которые помогают разработчикам сократить время, избежать выполнения избыточной работы и обеспечить необходимую функциональность. Например, популярный фреймворк, применяемый для разработки интерфейсов React или же библиотеки для проведения тестирования. Злоумышленники постоянного ищут уязвимости в таких компонентах и потом используют для организации атак. Обнаружив уязвимость в безопасности одного из компонентов приложения, злоумышленник может сделать уязвимыми сотни тысяч веб-сервисов. Разработчики компонентов часто выпускают обновления для устранения известных уязвимостей, однако администраторы и разработчики не всегда имеют возможность обновить компоненты до последней версии. Чтобы свести к минимуму риск запуска компонентов с известными уязвимостями, разработчикам следует удалять неиспользуемые компоненты из своих проектов, а также проверять актуальность обновлений и получать их от надежных источников. Недостаточный мониторинг и логирование Большинство веб-сервисов не предпринимают достаточных шагов для обнаружения нарушений безопасности данных. Среднее время обнаружения нарушений составляет около 200 дней после того, как оно произошло. Это дает злоумышленникам много времени, чтобы нанести ущерб, прежде чем происходит какая-то реакция. Логирование и мониторинг необходим, чтобы оставаться в курсе любых подозрительных изменений приложения.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59