LINUX.ORG.RU

Концепция автоматической настройки автономных ПК

 


2

2

Всем привет!

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

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

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

Одна смена пароля может затянуться на два дня, пока всех обойдёшь.

У меня работает система обновления баз антивируса с определённой флешкой (флешки кроме разрешённых блокированы).

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

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

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

Человек подключает флешку, компьютер выполняет скрипт (например смены пароля) и все счастливы.

Единственное «но» в безопасности такой реализации.

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

Второй скрипт, размещён на всех автономных ПК. Он предназначен для расшифровки скриптов с настройками и их выполнения. На автономных ПЭВМ так же размещается приватный ключ для расшифровки.

Первый скрипт (шифрование):

#!/bin/bash

file_path_to_encrypt=$1
dir_path_to_result=./task

rm -Rf ./task && mkdir $dir_path_to_result

openssl rand 214 > ./key_to_work.key # Генерируем случайный ключ (он же пароль)

openssl enc -aes-256-ctr -pbkdf2 -in $file_path_to_encrypt -out $dir_path_to_result/encrypt_shell.sh -pass file:./key_to_work.key # Используя симметричное шифрование шифрую файл используя этот ключ (пароль)

openssl rsautl -encrypt -pubin -inkey public.pem -in ./key_to_work.key -out $dir_path_to_result/auth_key.pem # Используя публичный ключ шифрую пароль

rm ./key_to_work.key # Удаляю пароль в открытом виде

Второй скрипт (расшифровка и выполнение):

#!/bin/bash

file_path_to_decrypt="$1"

openssl rsautl -decrypt -inkey private.pem -in ./task/auth_key.pem -out ./key_to_work.key # Расшифрую пароль используя приватный ключ (асимментричное шифрование)

if [[ $? == "0" ]] # Если расшифровка прошла успешно
  then
    : # Значит скрипт зашифровал я, продолжаем работу
  else
    echo 'Скрипт не подтверждён. Завершаю работу.' # Иначе вывожу сообщение, удаляю открытый файл ключа, завершаю работу
    rm -f ./key_to_work.key
    exit 1
fi

openssl enc -d -aes-256-ctr -pbkdf2 -in $file_path_to_decrypt -out ./script.sh -pass file:./key_to_work.key # Расшифрую файл используя полученный пароль (симметричное шифрование)

/bin/bash ./script.sh # Запускаю расшифрованный скрипт

rm -f ./{key_to_work.key,script.sh} # Удаляю файлы пароля и скрипта

На «красоту» и оптимизацию кода прошу внимание не обращать. Это черновой вариант, просто чтобы посмотреть на концепцию.

Безопасно ли это? Какие тонкие места Вы видите в такой реализации (например, возможность замены инструкций скрипта настроек)?

Заранее спасибо!



Последнее исправление: Sandro331k (всего исправлений: 2)

Не понимаю...

1) Кто ходит по автономкам? Он где флешку берет? Самое тупое вместо флешки дать настроенный ноут с сетью. Пришел этот чел, воткнул ноут - автономка проснулась и утащила чо ей надо.

2) нахрена там антивирус?

shTigrits ★★★
()
Ответ на: комментарий от Sandro331k

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

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

Loki13 ★★★★★
()