==== IPSEC ==== Информацию необходимо защищать, т.к. информацию можно: - перехватить - спасает шифрование - исказить (даже без расшифровки) - спасает хеш-функция - передать подставному лицу - аутентификация (логин/пароль). Аутентификация — процедура проверки подлинности, например проверка подлинности пользователя путем сравнения введенного им пароля с паролем, сохраненным в базе данных. Авторизация — предоставление определенному лицу или группе лиц прав на выполнение определенных действий. Шифрование может быть симметричное и асимметричное. \\ Симметричное шифрование - это способ шифрования данных, при котором один и тот же ключ используется и для кодирования, и для восстановления информации. НО!! Ключ необходимо каким-то образом. Если у злоумышленника нет ключа, то данные он не получит, но если ключ будут передавать, то злоумышленник сможет его перехватить и расшифровать. \\ Ассиметричное шифрование - это метод шифрования данных, предполагающий использование двух ключей — открытого и закрытого. Открытый (публичный) ключ применяется для шифрования информации и может передаваться по незащищенным каналам. Закрытый (приватный) ключ применяется для расшифровки данных, зашифрованных открытым ключом. Открытый и закрытый ключи — это очень большие числа, связанные друг с другом определенной функцией, но так, что, зная одно, крайне сложно вычислить второе. Асимметричное шифрование используется для защиты информации при ее передаче, также на его принципах построена работа электронных подписей. Принцип действия асимметричного шифрования Схема передачи данных между двумя субъектами (А и Б) с использованием открытого ключа выглядит следующим образом: * Субъект А генерирует пару ключей, открытый и закрытый (публичный и приватный). * Субъект А передает открытый ключ субъекту Б. Передача может осуществляться по незащищенным каналам. * Субъект Б шифрует пакет данных при помощи полученного открытого ключа и передает его А. Передача может осуществляться по незащищенным каналам. * Субъект А расшифровывает полученную от Б информацию при помощи секретного, закрытого ключа. В такой схеме перехват любых данных, передаваемых по незащищенным каналам, не имеет смысла, поскольку восстановить исходную информацию возможно только при помощи закрытого ключа, известного лишь получателю и не требующего передачи. Минус такого шифрования - низкая скорость. ==== алгоритм диффи-хеллмана ==== Как работает открытый и закрытый ключи на сервере? ==== Хеш функция ==== Криптографическая хеш-функция - это математический алгоритм, который отображает данные произвольного размера в битовый массив фиксированного размера. Результат, производимый хеш-функцией, называется «хеш-суммой» или же просто «хешем», а входные данные часто называют «сообщением». Для идеальной хеш-функции выполняются следующие условия: * хеш-функция является детерминированной, то есть одно и то же сообщение приводит к одному и тому же хеш-значению * значение хеш-функции быстро вычисляется для любого сообщения * невозможно найти сообщение, которое дает заданное хеш-значение * невозможно найти два разных сообщения с одинаковым хеш-значением * небольшое изменение в сообщении изменяет хеш настолько сильно, что новое и старое значения кажутся некоррелирующими Вместе с данными можно отправлять еще и хеш-сумму. Если хеш-суммы будут совпадать, то данные в момент передачи не были изменены. \\ Для начала задаем политику шифрования: ''crypto isakmp policy 10'' \\ Далее попадаем в режим редактирования политики (чем меньше номер политики, тем выше ее приоритет) \\ Выбираем тип шифрования ''encryption aes 256'' (256 - количество бит) \\ Задаем тип аутентификации. Единственный вариант - ''authentication pre-share'' (предварительная) \\ Редактирование политики завершено, переходим к ключу \\ ''crypto isakmp key QWERTY address 8.8.8.2'' (ключ для подключения к удаленному адресу) \\ Устанавливаем правило для шифрованного трафика. Pre-share вспомогательный для обмена ключами. ''crypto ipsec transform-set AES-TEST esp-aes esp-sha-hmac'' esp-sha-hmac - метод шифрования \\ Далее создается "карта шифрования" ''crypto map MAP_TEST 10 ipsec-isakmp'' \\ В конфигурировании карты шифрования ''set peer 8.8.8.2'' (удаленный адрес) \\ ''set transform-set AES-TEST \\ match address List_test\\ ip access-list extended List_test \\ permit ip 10.10.0.0 0.0.255.255 172.17.0.0 0.0.255.255 \\ permit ip 172.17.0.0 0.0.255.255 10.10.0.0 0.0.255.255'' \\ Необходимо указать интерфейс, с которого пойдет шифрованный трафик. int gi0/0 -> crypto map MAP_TEST \\ Осталось задать маршрут по умолчанию: ip route 0.0.0.0 0.0.0.0 внешний интерфейс роутера