4.5 KiB
Задания
-
Скачайте дистрибутив debian debian-11.4.0-amd64-netinst.iso c http://mirror.corbina.net/debian-cd/current/amd64/iso-cd/. Рассчитайте хэш sha256 командой sha256sum для дистрибутива debian и проверьте целостность данных, сравнив значение с значением в файле SHA256SUMS.
-
Зашифруйте и расшифруйте данные с помощью openssl enc. Используйте команды:
openssl enc -in infile.txt -out encrypted.data -e -aes256 -k symmetrickey
openssl enc -d -aes-256-cbc -in encrypted.data -out un_encrypted.data
Для вывода информации о возможных шифрах используйте одну из команд:
openssl help
openssl enc -list
- Зашифруйте и расшифруйте данные с помощью gpg. Используйте команды:
gpg --output encrypted.data --symmetric --cipher-algo AES256 un_encrypted.data
gpg --output un_encrypted.data --decrypt encrypted.data
-
Сгенерируйте ed25519 пару ключей
ssh-keygen -o -a 100 -t ed25519
. Перейдите в~/.ssh/
и проверьте, появилась ли пара SSH-ключей. Настройте возможность беспарольного входа в систему по ssh, добавить содержимое публичного ключа (.pub) вauthorized_keys
в той же директории (создайте файл, если его не существует). -
Используйте
ssh-copy-id имя-удаленной-машины
, чтобы скопировать ваш ssh-ключ на сервер. Перед установкой попробуйте команду в тестовом режиме с ключём-n
. -
Отредактируйте
.ssh/config
на локальной машине, чтобы запись выглядела следующим образом
Host псевдоним
User имя пользователя
HostName имя хоста или ip адрес хоста
IdentityFile ~/.ssh/id_ed25519
Страница документации конфигурационного файла sshd man ssh_config
.
- Отредактируйте конфигурацию вашего SSH-сервера, выполнив
sudo vi /etc/ssh/sshd_config
. Отключите проверку по паролю, отредактировав значениеPasswordAuthentication
. Отключите вход с правами суперпользователя, отредактировав значениеPermitRootLogin
. Перезапустите службу ssh с помощьюsudo systemctl restart sshd
. Попробуйте подключиться ещё раз. ! Перед перезапуском сервера, установите в отдельном окне резервное соединение с удалённой машиной, на случай если вход по ключу не работает или присутствует ошибка конфигурации.
Страница документации конфигурационного файла sshd man sshd_config
.
- Сгенерируйте сертификат x.509 и ключ с помощью openssl.
Справка
Хэш функция
hash(value: массив байт) -> массив байт фиксированной длины N
Примеры: sha1, sha256
Симметричная криптография
keygen() -> ключ (this function is randomized)
encrypt(данные: массив байт, ключ) -> шифрованные данные
decrypt(шифрованные данные: массив байт, ключ) -> данные
Примеры: DES, AES-256
Асимметричная криптография
keygen() -> (открытый ключ, закрытый ключ) (функция рандомизирована)
encrypt(данные, открытый ключ) -> шифрованные данные
decrypt(шифрованные данные, закрытый ключ) -> данные
sign(данные, закрытый ключ) -> массив<байт> (подпись)
verify(данные, подпись: массив<байт>, открытый ключ) -> bool (является ли подпись действительной или нет)
Примеры: RSA, ed25519