LINUX.ORG.RU

Сообщения dzirtt

 

proxmox в вируальной машине

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

Т.е. проксмокс в виртуальной машине управляет виртуальными машинами на этом же хосте.

Не хочется выделять под проксмокс отдельный железный сервер. А если накатить проксмокс на рабочий дебиан, то он превращается в проксмокс сервер. Не хочется ничего ломать на существующей системе.

 ,

dzirtt
()

владелец volume тома в docker

Всем привет. Сразу к делу.

Как, канонично, выставлять владельца Volume томов при запуске контейнера от non-root пользователя?

Пример: Dockerfile

...
VOLUME [/app/config]

RUN useradd -m -s /bin/nologin abc && \
         chown -R abc:abc /app/config 

USER abc
...
Это классический вариант, постоянно попадается на докер хабе. На хосте создаётся volume c UID:GID владельца равными uid:gid пользователя abc КОНТЕЙНЕРА.
docker run --name debian_test -v /create_vol debian:jessie

Контейнер

chown 10000:10000 /create_vol
drwxr-xr-x   2 10000 10000 4096 Aug  6 15:43 create_vol

Хост

drwxr-xr-x 2 10000 10000 4096 Aug  6 11:43 _data
root@deb-vm-2-template:/var/lib/docker/volumes/52c70dea01d73e435bdfdcc38d2e616bb0e4cd03490ad57d624abeb5e48dff3c#

А это результат пересечения именования.

drwxr-xr-x 2 ssh backup 4096 Aug  6 11:43 _data

Как назначить владельца для созданного тома? Скажем, создаю директорию под конфиг и кидаю туда файлы. Создаю контейнер и маплю ему заранее подготовленный том. В итоге, как видно из примера, проблема с владельцами из-за разного пространства имен.

Пока вижу 2 решения:

  • 1.В скрипте явно указывать юид и создавать пользователя с этим юидом на хосте. Минусы: Каждый раз пилить свой докер скрипт, возможно пересечение имен(т.е. не переносимость скрипта)
  • 2. Создать энтрипоинт скрипт меняющий юид пользователя на юид владельца тома. Подсмотрел у офф репы redis. Минус: костыль

А может быть вообще не в том направлении иду, и нужно по другому разрешения устанавливать.

 , own, ,

dzirtt
()

file permission при создании файла

Доброго дня всем.

Есть deluged(торрент клиент, серверная часть), при скачивании назначает файлам следующие разрешения:

-rw-rw---- 1 root share_full 2162688 Jul  1 10:27 Torrent(Down)/XXX.exe

Что сделать дабы, при создании файла deluged назначал им разрешения rwxrwx---?
У upstart скрипта есть umask, поигрался с ним, толку нет, точнее есть, но от этого не легче.)

env uid=root
env gid=share_full
env umask=007

exec start-stop-daemon -S -c $uid:$gid -k $umask -x /usr/bin/deluged -- -d

Настраивал ACL

setfacl -d -m g:share_full:rwx Torrent\(Down\)/
# file: Torrent(Down)/
# owner: root
# group: share_full
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:group:share_full:rwx
default:mask::rwx
default:other::---
# file: Torrent(Down)/XXX.exe
# owner: root
# group: share_full
user::rw-
group::rwx                      #effective:rw-
group:share_full:rwx            #effective:rw-
mask::rw-
other::---
Почему rw?[pic]джеки чан негодует[/pic]

Откуда приложение берет разрешения с которыми оно создаёт файлы? В настройках deluge таких параметров нет.

 ,

dzirtt
()

Вместо ключа нули(dmsetup table)

Во время установки ubuntu, через меню установщика, создал шифрованный контейнер, для root, swap, home. Потом поменял парольную фразу на ключ-файл.

dmsetup table:

0 116703232 crypt aes-xts-plain64 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 8:5 4096
Пример вывода
0 417792 crypt aes-xts-plain64 e8cfa3dbfe373b536be43c5637387786c01be00ba5f730aacb039e86f3eb72f3 0 8:16 0  
|    |     |    |   |     |                                 |                                   |  |   |   
start|     |    |  mode   IV                                |                                   |  |   offset  
     size  |  cipher                                        |                                   |  device  
         target                                        256bit-key                          IV offset  

Почему нули?
Вроде, этот ключ - это мастер ключ который создаётся при создании LUKS контейнера, рандомно.
Подозреваю, что у меня вместо мастер ключа нули. Что делать? Новый LUKS контейнер создавать?
Я в опасности? АНБ пилило установщик для убунту?!!

 

dzirtt
()

Запросы от сервера на неизвестные порты

Всем привет и доброго вечера.

mikrotik>NetFlow>ubuntu-server>ntop

Софт на сервере: deluge, tinyproxy, openssh-client->proxy, samba, apache2, ntop, dnscrypt. Все либо из офф репозитория.

На момент установки сервера, порт форвадинг был настроен только на порт п2п клиента. Что исключает вмешательство извне. Только если я сам что-то поставил.

Решил проанализировать трафик с помощью ntop, и удивился, когда увидел, что сервер коннектится к разным хостам на ВСЕ порты из диапазона 1-1024.

Только пару из них инициировал я. Все остальное - неизвестно что.

Общение с каждым сервером весит в пределах 1-2Кб. Анализировал пакет снифером, не похоже на шифрованную передачу.

Часть из списка портов(ntop):

( читать дальше... )

А теперь самое интересное. Настройка огнестены из микротик.

18    chain=forward action=accept protocol=tcp dst-port=80,443,221,21,22,993 
      log=no log-prefix="" 

19    chain=forward action=accept protocol=udp dst-port=80,443,221,21,22,993 
      log=no log-prefix="" 

20    chain=forward action=drop protocol=udp dst-port=1-1024 log=no 
      log-prefix="" 

21    chain=forward action=drop protocol=tcp dst-port=1-1024 log=no 
      log-prefix=""
 

Но эти коннекты не прекратились. Имеется в виду, что нтоп показывает трафик, и они помечены как успешные коннеты. Хотя должны были бы дропаться фаером.

Есть, интересная закономерность. Все хосты на которые происходят запросы держат стабильный коннект на порт п2п клиента на моём сервере. Может это как то соотносится с включенным шифрованием на п2п клиенте, и нтоп неправильно анализирует трафик?

у меня только 2 объяснения. 1. ntop врёт. 2. я чего то не знаю.

Посему вопрос. Что это, как лечить.

 , ,

dzirtt
()

ssh падает, а порт продолжает использоваться, что делать?

Linux ubuntu 3.13.0-24-generic 

Постоянно висит ssh тоннель для бытовых нужд, ssh поднимает socks прокси внутри сети и биндит его на порт. Это и ежу ясно.)

Периодически ssh тоннель падает и ssh падает вмести с ним.(иногда приходится снимать процесс) ps -aux | grep ssh молчит.

А теперь проблема.
После падения, netstat -pl показывает что порт уже не используется. Поднимаю новый тоннель, netstat -pl порт используется ssh. Это конечно хорошо, но тоннель не работает.

Лог ssh

bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3145
Как же так, если до поднятия тоннеля, по версии netstat, порт был свободен?

Пробовал ронять интерфейс, после поднимать тоннель, толку нет. Помогает только перезагрузка.

Мои варианты:
1) netstat врёт
2) ssh создаёт временные файлы, после падения и перезапуска, использует файлы от предыдущего вхождения и сходит с ума
3) я чего то не знаю в работе сети

Вопросы:
1) Что делать?
2) Чем проверить занят ли порт, помимо netstat?
3) Как принудительно снять бинд с порта?

 , ,

dzirtt
()

Расшифровака \ раздела ключом по сети

Преамбула.

dm-crypt, debian дистрибутив

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

Посему, вопрос.

Как расшифровать root раздел ключом расположенным в локальной сети или в интернет. Протокол неважен, https, smb, nfs, и т.д. Если расшифровывать не рут раздел, то всё просто, монтировать смб шару и указать путь к ключу, но как быть с рут, ведь пока он не загружен инструментарий крайне мал.

Нашёл 2 пути и оба не знаю как реализовать.

1. Грузить PXE образом и расположить в initrd.img ключ.

2. Переписать passdev скрипт чтобы он мог скажем wget'ом скачать ключ, расшифровать раздел и удалить ключ.

Проблемы:

1. Загрузить ОС лежащую на локальном диске PXE образом содержащим vmlinuz и initrd.img получилось, а вот как подсунуть ключ не знаю. Во время загрузки initrd монтируется куда то?

2. passdev похоже bin а не sh скрипт. Да и к тому же знаний на это не хватает.

Подскажите как быть?

Может есть другие программы для шифрования, которые умеют, расшифровывать ключом из сети.

Или как по другому организовать шифрование и при этом иметь один ключ в одном месте, а не 10 в 10ти?

Спасибо

 , , ,

dzirtt
()

расшифровака root раздела ключом

Требуется ключом расположенным на флешке расшифровывать root раздел при загрузке.

нашёл простой гайд:
https://gist.github.com/martijnvermaat/2726386
http://www.cheshirekow.com/wordpress/?p=810
http://proc.fsckwits.com/2010/05/ubuntu-encrypted-lvms-and-keyfile-on.html
Пишут в комментах, что они работают, но у меня не взлетает. п.с. пробовал разные скрипты и гайды, ошибки одни. И действия там одни и те же.

Что сделал:
настроил lvm, шифрование по паролю, в шифрованном разделе создал root и swap, boot отдельно не шифрованный.
Всё работает, но нужно каждый раз вводить пароль.
Создал ключ, добавил его в контейнер, расположил на юсб флешке. Отредактировал crypttab. Создал скрипт для отправки ключа с флешки в стдаут(или вроде того)). Обновил образ.

На проверку зашифровал /tmp, всё работает, в boot.log видно что расшифровка происходит уже после монтирования root. С root разделом это не работает, хотя гайд как раз для этого случая и написан.

/etc/crypttab

sda5_crypt UUID=*** none luks,keyscript=/sbin/keyscript

/sbin/keyscript

#!/bin/sh
modprobe usb-storage
sleep 5
mkdir /keydev 1>&2
mount -t ext4 -o ro /dev/disk/by-uuid/d58009e6-a694-47b6-a9ca-6a4ada8383a8 /keydev 1>&2
cat /keydev/key
umount /keydev 1>&2

Вываливаются ошибки wrong syntax #!/bin/sh и ещё что-то(под рукой лога нет)

Кодировку менял, не помогло. Думаю не подгружаются системные переменные поэтому ошибки и вываливаются, но знаний не хватает для решения проблемы.

П.с.с пробовал разные дистрибутивы, дебиан, минт, убунту. Везде одно.

Помогите познать безопасность 256 битного аеs. Или ткните в рабочий гайд или скрипт.

 , , ,

dzirtt
()

RSS подписка на новые темы