nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
#!/bin/bash # /usr/local/sbin/swapfile # Создать конфиг /usr/local/etc/conf.d/swapfile # # # Размер файла подкачки 512M # SWPS=512 # # Имя файла подкачки # SWPN='swapfile' # # Путь к файлу подкачки # SWPP='/' # # Модуль шифрования # CIPHERM='aes' # # Метод шифрования # CIPHER='aes-cbc-essiv:sha256' # # Длина ключа # KEYSIZE=256 # Создать юнит /usr/local/lib/systemd/system/swapfile.service # # [Unit] # Description=Run crypt SWAP file # Wants=swap.target # Before=swap.target # ConditionFileIsExecutable=/usr/local/sbin/swapfile # # [Service] # Type=oneshot # RemainAfterExit=yes # ExecStart=/usr/local/sbin/swapfile start # ExecStop=/usr/local/sbin/swapfile stop # # [Install] # WantedBy=swap.target # Делаем исполняемым!!! # chmod +x /usr/local/sbin/swapfile # Подключение для initscripts # добавить в /etc/rc.local # # swapfile start # # и добавить в /etc/rc.local.shutdown # # swapfile stop # Подключение для systemd выполнить # # systemctl enable swapfile.service . /usr/local/etc/conf.d/swapfile SWPF=$SWPP$SWPN DM='/dev/mapper/' EALL=$(gettext 'crypt SWAP')' '$(gettext 'file') ESTART=$(gettext 'Start')' '$EALL ESTOP=$(gettext 'Stop')' '$EALL ECREATE=$(gettext 'Create')' '$EALL EDELETE=$(gettext 'Delete')' '$EALL ELIST=$(gettext 'List')' '$EALL EONOFF=$(gettext 'On|Off')' '$EALL swpfile() { if [ -f $SWPF ]; then return 0 fi return 1 } swpdev() { if [ -n "$(swapon -s | grep $DM$SWPN)" ]; then return 0 fi return 1 } modl() { if [ -n "$(lsmod | grep $1)" ]; then return 0 fi return 1 } start() { if swpdev ; then return fi if [ ! -f $SWPF ]; then create fi if ! modl 'loop' ; then modprobe loop fi if ! modl $CIPHERM ; then modprobe $CIPHERM fi echo $ESTART cryptsetup --key-file=/dev/urandom -c $CIPHER -s $KEYSIZE create $SWPN $(losetup -f --show $SWPF) mkswap -f $DM$SWPN swapon $DM$SWPN } stop() { if ! swpdev ; then return fi echo $ESTOP swapoff $DM$SWPN sleep 1 cryptsetup remove $SWPN sleep 1 losetup -d $(losetup -j $SWPF | cut -d ':' -f1) } create() { if swpfile ; then return fi echo $ECREATE fallocate -l "$SWPS"M $SWPF dd if=/dev/urandom of=$SWPF bs=1M count=$SWPS } delete() { if ! swpfile ; then return fi stop echo $EDELETE rm $SWPF } list() { echo $ELIST swapon -s | grep $DM } onoff() { echo $EONOFF if swpdev ; then stop else start fi } case "$1" in start) start ;; stop) stop ;; create) create ;; delete) delete ;; list) list ;; --help) echo $(gettext 'Commands')':' echo 'start - '$ESTART echo 'stop - '$ESTOP echo 'create - '$ECREATE echo 'delete - '$EDELETE echo 'list - '$ELIST echo 'onoff - ('$(gettext 'default')') '$EONOFF ;; *) onoff ;; esac exit 0 Работает и с initscripts и с systemd, можно запускать вручную!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
R.V. |
|
Темы:
11
Сообщения:
1100
Участник с: 10 января 2017
|
nafanja, это уже, наверно, неактуально? Как сейчас шифруемся? :) |
redix |
|
Темы:
34
Сообщения:
3433
Участник с: 11 марта 2013
|
nafanja, а смысл шифровать своп, в раму запихнуть его не проще?
In Tux We Trust
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
redixв него могут выгружаться секретные данные. и их от туда можно достать при желании... а так своп одноразовый.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
SWAP в основном используется при hibernate …. а вот с зашифрованным swap (раздел или файл), как пишут, имеются проблемы, а значит и смысл в нем как бы и отпадает … а в процессе работы SWAP заполняется не так уж и часто да и всегда можно его почистить, если попали важные данные ... UPD ….... а вообще, имея физический доступ к компу, инфу могут извлечь не многие (имею ввиду из памяти) ….... а вот провести анализ этой инфы и узнать что то важное … еще намного меньше ... Не верите, попробуйте извлечь и найти свой пароль из памяти …...
Ошибки не исчезают с опытом - они просто умнеют
|
redix |
|
Темы:
34
Сообщения:
3433
Участник с: 11 марта 2013
|
vasekЯ читал что это можно сделать. И прочитать оперативку впридачу. Понятно, что это не так просто.
In Tux We Trust
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
redixДа считать то можно ...... это не проблема ............ приходилось даже считывать при горячей перегрузке ...... а вот капаться в ней .... намного сложней ....... PS ... сейчас ввел пароль для sudo и пароль для su ...... поюзал память ..... пароли лежать в открытом виде ...... !!!!!
Ошибки не исчезают с опытом - они просто умнеют
|
redix |
|
Темы:
34
Сообщения:
3433
Участник с: 11 марта 2013
|
Пароль для su хранится в памяти ограниченное время.
In Tux We Trust
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
redixХранится столько, пока не вытеснится ........ нет процедуры, которая ведет учет времени и очищает нужные участки памяти Можешь проверить ....
Ошибки не исчезают с опытом - они просто умнеют
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
vasekну вот и в своп они могут попасть.... да и не важно что шанс добычи маленький, важно можно или нет. если своп зашифрован, то добыть из него данные невозможно, пароль генерируется всегда разный длинный и уникальный. и конечно, спящий режим работать не будет!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |