По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Давайте для начала разберемся, что же такое сегментация сети. Это важный инструмент защиты информации, который позволяет уменьшить площадь атаки при проникновениях в сеть, а также способ защититься от таких атак с отказом в обслуживании как бродкастный шторм (слишком большое количество широковещательных запросов в единицу времени). Для чего требуется сегментация сети? Чтобы снизить риск на получения ущерба от злоумышленников в корпоративных инфраструктурах существует сегментация сети. Этот процесс помогает уменьшить вероятность повреждения данных, тем самым снизив многие риски информационной безопасности. Сегментация сети выполняет разделение юзеров на различные сетевые группы, которые изолированы друг от друга. В зависимости от политик сегментации (которые чаще всего регламентируются департаментом ИБ), обмен информацией между группами может строго контролироваться, а также быть недоступным. Политика безопасности компаний определяет некие принципы, которые позволяют подразделить сотрудников на некоторые подгруппы: гость, временный персонал, сотрудник. А также представленные подгруппы, можно разделить на группы, к примеру: рядовой работник, руководитель и так далее. Сегментацию сети желательно выполнять при полной реализации бизнес-процессов. К таким процессам относится выдача доступа к сети интернет пользователям, не состоящих в рядах работников компании, так сказать, гостевым юзерам. Помимо гостей, к сети также требуется подключение различных устройств, которые используются в другой организации. А также возможно привести еще один пример с использованием сегментации сети, это разграничение доступа между работниками, которые используют одну сеть. Таковых сценариев может быть очень много. Популярные методы выполнения сегментации сети Если вы собираетесь использовать сегментацию сети, тогда вам потребуется обратить внимание на следующие ключевые задачи: Определить, действительно ли пользователь принадлежит той или иной группе в сети; Ограничить доступ к интернет-трафику юзеров из одной группы, от группы других; Предоставить юзерам разрешение на использование только разрешенных ресурсов, а также требуется наложить запрет на остальную информацию. Решением первой задачи является использование технологии802.1x в корпоративных сетях - то есть использование дополнительного фактора (например, учетки в AD и сертификата) для получения доступа в сеть. Вторая проблема решается с помощью создания дополнительных виртуальных сетей, путем создания разных для сотрудников разных департаментов и т.д - отдельный серверный сегмент, отдельная DMZ и пр. Для решения третьей задачи обычно используется фильтрация на основе IP-адресов. Контроль доступа обычно может быть реализован двумя способами: грубыми средствами и тонкой фильтрацией. Это реализуется с помощью листов контроля доступа - обычных, расширенных и динамических. Ограничения традиционных методов сегментации Если использовать популярные подходы для исправления второй и третьей задачи, большинство функций вы будете выполнять вручную, особенно когда будете использовать сеть. Эта ситуация станет более ощутимой, ведь после сегментирования среда будет динамичной. Например, могут отличаться: Некоторые правила, которые тесно связаны с обновлениями служб защиты, а также которые управляют ресурсами и сотрудниками компаний; Количество групп юзеров, которое может меняться от условий реорганизации внутри организации, а от различных дополнений ресурсов в сети и так далее; Расположение групп пользователей, в связи с чем может возникнуть необходимость расширить сегментацию на новые части сети; Поддержание сегментации сети становиться все более сложной в зависимости от динамики роста количества сотрудников и различных устройств - то есть сегментация это не единовременная операция, а постоянный и очень важный процесс. На данный момент также популярным подходом становится программно-определяемая сегментация сети, к примеру у Cisco это протокол TrustSec. Этот подход позволяет полностью уйти от IP-адресации и не мучаться с перекраиванием листов контроля доступа в случае смены VLAN-а или изменения топологии сети.
img
SQL расшифровывается как Structured Query Language, или структурированный язык запросов. Команды SQL – это инструкции, которые даются базе данных для выполнения задач, функций и запросов с данными. SQL-командами можно пользоваться для поиска по базе данных и выполнения различных функций: создания и удаления таблиц, добавления данных в таблицы и их редактирования. Ниже приведен список основных команд (их иногда называют операторами), которые необходимо знать при работе с SQL. SELECT и FROM SELECT в запросе определяет, какие столбцы данных отобразить в результатах. Кроме того, в SQL есть возможности отображать данные не из столбца таблицы. В примере ниже показаны 3 столбца, взятые из таблицы студентов Student (через SELECT и FROM) и один вычисляемый столбец. В базе данных хранятся ID (studentID), имя (FirstName) и фамилия (LastName) студента. Мы можем объединить столбцы с именем и фамилией и создать вычисляемое поле с полным именем (FullName). SELECT studentID, FirstName, LastName, FirstName + ' ' + LastName AS FullName FROM student; Вывод: +-----------+-------------------+------------+------------------------+ | studentID | FirstName | LastName | FullName | +-----------+-------------------+------------+------------------------+ | 1 | Monique | Davis | Monique Davis | | 2 | Teri | Gutierrez | Teri Gutierrez | | 3 | Spencer | Pautier | Spencer Pautier | | 4 | Louis | Ramsey | Louis Ramsey | | 5 | Alvin | Greene | Alvin Greene | | 6 | Sophie | Freeman | Sophie Freeman | | 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd | | 8 | Donald D. | Chamberlin | Donald D. Chamberlin | | 9 | Raymond F. | Boyce | Raymond F. Boyce | +-----------+-------------------+------------+------------------------+ 9 rows in set (0.00 sec) CREATE TABLE Название CREATE TABLE говорит само за себя – оператор создает таблицу. Вы можете задать название таблицы и настроить, какие столбцы будут присутствовать в таблице. CREATE TABLE table_name ( column_1 datatype, column_2 datatype, column_3 datatype ); ALTER TABLE ALTER TABLE изменяет структуру таблицы. Вот так можно добавить столбец в базу данных: ALTER TABLE table_name ADD column_name datatype; CHECK CHECK ограничивает диапазон значений, которые можно добавить в столбец. Когда вы настраиваете ограничение CHECK для отдельного столбца, оператор проверяет, что в этом столбце присутствуют строго определенные значения. Если же CHECK настраивается для таблицы, то он может ограничивать значения в отдельных столбцах на основании значений из других столбцов этой строки. В следующем примере при создании таблицы Persons используется ограничение CHECK для столбца «Возраст» (Age). Таким образом проверяется, что в таблицу не попадают лица младше 18 лет. CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CHECK (Age>=18) ); Следующий синтаксис используется для присвоения названия оператору CHECK и настройки CHECK для нескольких столбцов: CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, City varchar(255), CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') ); WHERE (AND, OR, IN, BETWEEN и LIKE) Оператор WHERE используется для ограничения количества возвращаемых строк. Сначала, в качестве примере, мы покажем оператор SELECT и его результат без оператора WHERE. Затем добавим оператор WHERE, в котором используются сразу 5 из вышеуказанных квалификаторов. SELECT studentID, FullName, sat_score, rcd_updated FROM student; +-----------+------------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+------------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 3 | Spencer Pautier | 1000 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 7 | Edgar Frank "Ted" Codd | 2400 | 2017-08-16 15:35:33 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+------------------------+-----------+---------------------+ 9 rows in set (0.00 sec) Теперь повторим запрос SELECT, но ограничим возвращаемые строки оператором WHERE. STUDENT studentID, FullName, sat_score, recordUpdated FROM student WHERE (studentID BETWEEN 1 AND 5 OR studentID = 8) AND sat_score NOT IN (1000, 1400); +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 5 rows in set (0.00 sec) UPDATE Для обновления записи в таблице используется оператор UPDATE. Условием WHERE можно уточнить, какие именно записи вы бы хотели обновить. Вы можете обновлять по одному или нескольким столбцам сразу. Синтаксис выглядит так: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; В примере ниже обновляется название записи (поле Name) с Id 4: UPDATE Person SET Name = “Elton John” WHERE Id = 4; Помимо этого, можно обновлять столбцы в таблице значениями из других таблиц. Чтобы получить данные из нескольких таблиц, воспользуйтесь оператором JOIN. Синтаксис выглядит так: UPDATE table_name1 SET table_name1.column1 = table_name2.columnA table_name1.column2 = table_name2.columnB FROM table_name1 JOIN table_name2 ON table_name1.ForeignKey = table_name2.Key В примере ниже мы обновляем поле «Менеджер» (Manager) для всех записей: UPDATE Person SET Person.Manager = Department.Manager FROM Person JOIN Department ON Person.DepartmentID = Department.ID GROUP BY GROUP BY позволяет объединять строки и агрегировать данные. Вот так выглядит синтаксис GROUP BY: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; HAVING HAVING позволяет сортировать данные, которые собираются через GROUP BY. Таким образом, пользователю показывается лишь ограниченный набор записей. Вот так выглядит синтаксис HAVING: SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > value; AVG() AVG, или среднее, вычисляет среднее значение числового столбца из набора строк, которые возвращает оператор SQL. Вот так выглядит синтаксис: SELECT groupingField, AVG(num_field) FROM table1 GROUP BY groupingField А вот пример этого оператора для таблицы Student: SELECT studentID, FullName, AVG(sat_score) FROM student GROUP BY studentID, FullName; AS AS позволяет переименовать столбец или таблицу с помощью псевдонима. SELECT user_only_num1 AS AgeOfServer, (user_only_num1 - warranty_period) AS NonWarrantyPeriod FROM server_table И вот так будет выглядеть результат. +-------------+------------------------+ | AgeOfServer | NonWarrantyPeriod | +-------------+------------------------+ | 36 | 24 | | 24 | 12 | | 61 | 49 | | 12 | 0 | | 6 | -6 | | 0 | -12 | | 36 | 24 | | 36 | 24 | | 24 | 12 | +-------------+------------------------+ Кроме того, через оператор AS вы можете задать название таблицы – так будет проще обращаться к ней в JOIN. SELECT ord.product, ord.ord_number, ord.price, cust.cust_name, cust.cust_number FROM customer_table AS cust JOIN order_table AS ord ON cust.cust_number = ord.cust_number Результат выглядит так. +-------------+------------+-----------+-----------------+--------------+ | product | ord_number | price | cust_name | cust_number | +-------------+------------+-----------+-----------------+--------------+ | RAM | 12345 | 124 | John Smith | 20 | | CPU | 12346 | 212 | Mia X | 22 | | USB | 12347 | 49 | Elise Beth | 21 | | Cable | 12348 | 0 | Paul Fort | 19 | | Mouse | 12349 | 66 | Nats Back | 15 | | Laptop | 12350 | 612 | Mel S | 36 | | Keyboard| 12351 | 24 | George Z | 95 | | Keyboard| 12352 | 24 | Ally B | 55 | | Air | 12353 | 12 | Maria Trust | 11 | +-------------+------------+-----------+-----------------+--------------+ ORDER BY ORDER BY позволяет сортировать результирующий набор данных по одному или нескольким элементам в разделе SELECT. Ниже дан пример сортировки студентов по имени (FullName) в порядке убывания. Изначально используется стандартная сортировка по возрастанию (ASC), поэтому для сортировки в обратном порядке мы применяем DESC. SELECT studentID, FullName, sat_score FROM student ORDER BY FullName DESC; COUNT COUNT вычисляет количество строк и возвращает результирующее значение в столбце. Ниже приводятся возможные сценарии использования COUNT: Подсчет всех строк в таблице (не требуется Group by) Подсчет общего числа подмножеств данных (в операторе обязательно прописывается Group By) Этот оператор SQL выводит количество всех строк. Кроме того, что вы можете настроить название результирующего столбца COUNT с помощью AS. SELECT count(*) AS studentCount FROM student; DELETE DELETE используется для удаления записи из таблицы. Будьте внимательны! Вы можете удалить несколько записей в таблице, либо сразу все. С помощью условия WHERE вы указываете, какие записи необходимо удалить. Синтаксис выглядит так: DELETE FROM table_name WHERE condition; Вот так выглядит удаление из таблицы Person записи с Id 3: DELETE FROM Person WHERE Id = 3; INNER JOIN JOIN, или внутреннее соединение, выбирает записи, соответствующие значениям в двух таблицах. SELECT * FROM A x JOIN B y ON y.aId = x.Id LEFT JOIN LEFT JOIN возвращает все строки из левой таблицы и соответствующие им строки из правой таблицы. Строки из левой таблицы возвращаются даже при пустых значениях в правой таблице. Если для строк из левой таблицы нет соответствия в правой, то в значениях последней будет стоять null. SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id RIGHT JOIN RIGHT JOIN возвращает все строки из правой таблицы и соответствующие им строки из левой. В отличие от левого соединения, здесь возвращаются все строки из правой таблицы, даже если им ничего не соответствует в левой. В таком случае, в значениях столбцов из левой таблицы будет стоять null. SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id FULL OUTER JOIN FULL OUTER JOIN возвращает все строки, соответствующие условиям в любой из таблиц. Если в левой таблице есть строки, которым ничего не соответствует в правой, то они все равно отобразятся в результирующих значениях. То же самое распространяется и на строки из правой таблицы без соответствующих значений в левой. SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName INSERT INSERT используется для добавления данных в таблицу. INSERT INTO table_name (column_1, column_2, column_3) VALUES (value_1, 'value_2', value_3); LIKE LIKE используется в связке с WHERE или HAVING (в составе оператора GROUP BY) и ограничивает выбранные строки по элементам, если в столбце содержится определенный шаблон символов. Этот SQL запрос выбирает студентов, чье значение в FullName начинается с «Monique» или заканчивается с «Greene». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName LIKE 'Monique%' OR FullName LIKE '%Greene'; +-----------+---------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+---------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | +-----------+---------------+-----------+---------------------+ 2 rows in set (0.00 sec) Перед LIKE вы можете добавить NOT, и тогда строки, соответствующие условию, будут исключаться, а не добавляться. Этот SQL исключает записи, у которых в столбце FULL NAME содержится «cer Pau» и «Ted». SELECT studentID, FullName, sat_score, rcd_updated FROM student WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%'; +-----------+----------------------+-----------+---------------------+ | studentID | FullName | sat_score | rcd_updated | +-----------+----------------------+-----------+---------------------+ | 1 | Monique Davis | 400 | 2017-08-16 15:34:50 | | 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 | | 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 | | 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 | | 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 | | 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 | | 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 | +-----------+----------------------+-----------+---------------------+ 7 rows in set (0.00 sec)
img
Устройства третьего уровня модели OSI обеспечивают так называемую трансляцию сетевых адресов, или Network Address Translation (NAT). Устройства третьего уровня, как правило, маршрутизаторы, фаерволы или коммутаторы с функциями L3, преобразуют внутренние IP-адреса во внешние, которые маршрутизируются в сети интернет. В рамках преобразования IP-адреса, фаервол сохраняет внутренний адрес себе в память, затем подменяет его на адрес внешнего интерфейса, либо меняет его на один из адресов внешнего диапазона (пула), и совершает отправку измененного IP-пакета. Трансляция портов В современных корпоративных сетях, фаерволы выполняют функцию, которая называется Port Address Translation (PAT). Эта технология позволяет множеству внутренних IP – адресов использовать один и тот же внешний адрес. Данная технология реализуется на четвертом уровне модели OSI. Схема работы PAT показана ниже: На схеме, компьютеры (рабочие станции) находятся в защищенном участке сети за «фаерволом». Этот участок обозначен как внутренняя сеть, где действует адресация 192.168.0.0 с маской подсети 255.255.255.0. Как было сказано в начале главы, Cisco Adaptive Security Appliances (ASA) выполняет функции по трансляции портов для устройств внутренней сети. Трансляция выполняется для «хостов» подсети 192.168.0.X в во внешний IP-адрес Cisco ASA – 208.104.33.225. В данном примере, компьютер А отправляет TCP пакет с портом назначения 80, получателем которого является WEB – сервер, расположенный во внешнем сегменте сети на компьютере Б. ASA подменяет оригинальный запрос с IP-адреса 192.168.0.44 на свой собственный (208.104.33.225). Параллельно, случайно выбирается номер порта, отличного от исходного (в данном примере порт 1024 заменен на 1188). Только после этого, пакеты отправляются на WEB – сервер к адресу назначения 208.104.33.241. Система обнаружения и предотвращения вторжений Система обнаружения вторжений Intrusion Detection System (IDS), это устройства, которые предназначены для обнаружения атак на корпоративную сеть и поддержания ИТ безопасности в целом. Системы обнаружения позволяют отслеживать распределенные DDoS атаки, «черви» и «трояны». Как показано выше, злоумышленник отправляет «зараженный» пакет на WEB – сервера компании с целью, например, вывести из строя сайт компании. Система обнаружения вторжения (IDS) отслеживает данный пакет, и отправляет сигнал тревоги на систему мониторинга. Недостатком данного механизма является то, что он лишь уведомляет о наличии угрозы, но не предотвращает ее. В данном случае, отправленный злоумышленником пакет дойдет до получателя. Система предотвращения вторжений, или Intrusion Prevention System (IPS) , способна не только обнаружить «зараженный» пакет, но и уничтожить его. Схема работы IPS показана на рисунке ниже: Как видно из рисунка, система IPS предотвращает попадание «зараженного» пакета в сегмент корпоративной сети. IPS/IDS системы определяют «зараженный» трафик по следующим критериям: Проверка на базе подписи; Общая политика безопасности; Проверка на базе нелинейности поведения; Проверка на основании репутации. О критериях определения "плохого" трафика мы расскажем в следующих статьях.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59