Jail

Защита сервера от взлома, антивирус, файрвол, SSL-сертификаты и прочие вопросы, связанные с безопасностью данных.
Аватара пользователя
ordex
Сообщения: 353
Зарегистрирован: Вт ноя 20, 2018 2:47 pm

Re: Jail

Сообщение ordex » Вс мар 03, 2019 8:39 am

Billy Bons писал(а):
Пт мар 01, 2019 10:23 pm
И еще вопрос: зачем нужна функция "Поместить пользователей в Workspace" при наличии Jail? Это не то же самое?
Считается (на самом деле это не так), что пользователю будут доступны лишь каталоги sites и log. В текущем состоянии абсолютно бесполезная вещь (если сайты не на чистом html и доступен php)

Syrius
Сообщения: 2
Зарегистрирован: Ср апр 10, 2019 11:33 am

Re: Jail

Сообщение Syrius » Ср апр 10, 2019 11:42 am

Добрый день,

попробовал разрешить аккаунту из под jail использовать git. Как сделать это через "Список пакетов доступных в Jail" и пересборку jail догадаться не смог. Сделал через

Код: Выделить всё

jk_init -v -j /home/user/ git
Выяснилось что инишник джейла видимо от дебиан, т.к. git-core в центос лежит не там. Поправил. В результате дошел до

Код: Выделить всё

[user@localhost]$ git clone https://user@bitbucket.org/user/site.git .
Cloning into '.'...
fatal: Unable to find remote helper for 'https'
Подскажите, куда дальше копать? Curl у юзера есть.

ЗЫ Поправьте плиз /etc/jailkit/jk_init.ini и напишите какую то справку как юзать Настройки Jail в ПУ. Хотя может пересборка просто не работает...

cyber01
Сообщения: 14
Зарегистрирован: Вт апр 09, 2019 12:06 pm

Re: Jail

Сообщение cyber01 » Пт апр 12, 2019 10:23 am

Syrius писал(а):
Ср апр 10, 2019 11:42 am
Добрый день,

попробовал разрешить аккаунту из под jail использовать git. Как сделать это через "Список пакетов доступных в Jail" и пересборку jail догадаться не смог. Сделал через

Код: Выделить всё

jk_init -v -j /home/user/ git
Выяснилось что инишник джейла видимо от дебиан, т.к. git-core в центос лежит не там. Поправил. В результате дошел до

Код: Выделить всё

[user@localhost]$ git clone https://user@bitbucket.org/user/site.git .
Cloning into '.'...
fatal: Unable to find remote helper for 'https'
Подскажите, куда дальше копать? Curl у юзера есть.

ЗЫ Поправьте плиз /etc/jailkit/jk_init.ini и напишите какую то справку как юзать Настройки Jail в ПУ. Хотя может пересборка просто не работает...
буквально вчера также пытался сделать git пользователю. Для работы мало добавить сам git, надо еще компоненты git-core добавить и пару системных утилит (иначе ругаться при выполнении команд будет).

Актуально для Centos 7

В итоге у меня получилось так: в Настройки JAIL добавил следующий список:

Код: Выделить всё

/usr/bin/tr
/usr/bin/basename
/bin/uname
/usr/bin/vi
/usr/bin/git
/usr/libexec/git-core/git
/usr/libexec/git-core/git-add
/usr/libexec/git-core/git-add--interactive
/usr/libexec/git-core/git-am
/usr/libexec/git-core/git-annotate
/usr/libexec/git-core/git-apply
/usr/libexec/git-core/git-archive
/usr/libexec/git-core/git-bisect
/usr/libexec/git-core/git-bisect--helper
/usr/libexec/git-core/git-blame
/usr/libexec/git-core/git-branch
/usr/libexec/git-core/git-bundle
/usr/libexec/git-core/git-cat-file
/usr/libexec/git-core/git-check-attr
/usr/libexec/git-core/git-check-ignore
/usr/libexec/git-core/git-checkout
/usr/libexec/git-core/git-checkout-index
/usr/libexec/git-core/git-check-ref-format
/usr/libexec/git-core/git-cherry
/usr/libexec/git-core/git-cherry-pick
/usr/libexec/git-core/git-clean
/usr/libexec/git-core/git-clone
/usr/libexec/git-core/git-column
/usr/libexec/git-core/git-commit
/usr/libexec/git-core/git-commit-tree
/usr/libexec/git-core/git-config
/usr/libexec/git-core/git-count-objects
/usr/libexec/git-core/git-credential
/usr/libexec/git-core/git-credential-cache
/usr/libexec/git-core/git-credential-cache--daemon
/usr/libexec/git-core/git-credential-store
/usr/libexec/git-core/git-describe
/usr/libexec/git-core/git-diff
/usr/libexec/git-core/git-diff-files
/usr/libexec/git-core/git-diff-index
/usr/libexec/git-core/git-difftool
/usr/libexec/git-core/git-difftool--helper
/usr/libexec/git-core/git-diff-tree
/usr/libexec/git-core/git-fast-export
/usr/libexec/git-core/git-fast-import
/usr/libexec/git-core/git-fetch
/usr/libexec/git-core/git-fetch-pack
/usr/libexec/git-core/git-filter-branch
/usr/libexec/git-core/git-fmt-merge-msg
/usr/libexec/git-core/git-for-each-ref
/usr/libexec/git-core/git-format-patch
/usr/libexec/git-core/git-fsck
/usr/libexec/git-core/git-fsck-objects
/usr/libexec/git-core/git-gc
/usr/libexec/git-core/git-get-tar-commit-id
/usr/libexec/git-core/git-grep
/usr/libexec/git-core/git-hash-object
/usr/libexec/git-core/git-help
/usr/libexec/git-core/git-http-backend
/usr/libexec/git-core/git-http-fetch
/usr/libexec/git-core/git-http-push
/usr/libexec/git-core/git-imap-send
/usr/libexec/git-core/git-index-pack
/usr/libexec/git-core/git-init
/usr/libexec/git-core/git-init-db
/usr/libexec/git-core/git-log
/usr/libexec/git-core/git-lost-found
/usr/libexec/git-core/git-ls-files
/usr/libexec/git-core/git-ls-remote
/usr/libexec/git-core/git-ls-tree
/usr/libexec/git-core/git-mailinfo
/usr/libexec/git-core/git-mailsplit
/usr/libexec/git-core/git-merge
/usr/libexec/git-core/git-merge-base
/usr/libexec/git-core/git-merge-file
/usr/libexec/git-core/git-merge-index
/usr/libexec/git-core/git-merge-octopus
/usr/libexec/git-core/git-merge-one-file
/usr/libexec/git-core/git-merge-ours
/usr/libexec/git-core/git-merge-recursive
/usr/libexec/git-core/git-merge-resolve
/usr/libexec/git-core/git-merge-subtree
/usr/libexec/git-core/git-mergetool
/usr/libexec/git-core/git-mergetool--lib
/usr/libexec/git-core/git-merge-tree
/usr/libexec/git-core/git-mktag
/usr/libexec/git-core/git-mktree
/usr/libexec/git-core/git-mv
/usr/libexec/git-core/git-name-rev
/usr/libexec/git-core/git-notes
/usr/libexec/git-core/git-pack-objects
/usr/libexec/git-core/git-pack-redundant
/usr/libexec/git-core/git-pack-refs
/usr/libexec/git-core/git-parse-remote
/usr/libexec/git-core/git-patch-id
/usr/libexec/git-core/git-peek-remote
/usr/libexec/git-core/git-prune
/usr/libexec/git-core/git-prune-packed
/usr/libexec/git-core/git-pull
/usr/libexec/git-core/git-push
/usr/libexec/git-core/git-quiltimport
/usr/libexec/git-core/git-read-tree
/usr/libexec/git-core/git-rebase
/usr/libexec/git-core/git-rebase--am
/usr/libexec/git-core/git-rebase--interactive
/usr/libexec/git-core/git-rebase--merge
/usr/libexec/git-core/git-receive-pack
/usr/libexec/git-core/git-reflog
/usr/libexec/git-core/git-relink
/usr/libexec/git-core/git-remote
/usr/libexec/git-core/git-remote-ext
/usr/libexec/git-core/git-remote-fd
/usr/libexec/git-core/git-remote-ftp
/usr/libexec/git-core/git-remote-ftps
/usr/libexec/git-core/git-remote-http
/usr/libexec/git-core/git-remote-https
/usr/libexec/git-core/git-remote-testpy
/usr/libexec/git-core/git-repack
/usr/libexec/git-core/git-replace
/usr/libexec/git-core/git-repo-config
/usr/libexec/git-core/git-request-pull
/usr/libexec/git-core/git-rerere
/usr/libexec/git-core/git-reset
/usr/libexec/git-core/git-revert
/usr/libexec/git-core/git-rev-list
/usr/libexec/git-core/git-rev-parse
/usr/libexec/git-core/git-rm
/usr/libexec/git-core/git-send-pack
/usr/libexec/git-core/git-shell
/usr/libexec/git-core/git-sh-i18n
/usr/libexec/git-core/git-sh-i18n--envsubst
/usr/libexec/git-core/git-shortlog
/usr/libexec/git-core/git-show
/usr/libexec/git-core/git-show-branch
/usr/libexec/git-core/git-show-index
/usr/libexec/git-core/git-show-ref
/usr/libexec/git-core/git-sh-setup
/usr/libexec/git-core/git-stage
/usr/libexec/git-core/git-stash
/usr/libexec/git-core/git-status
/usr/libexec/git-core/git-stripspace
/usr/libexec/git-core/git-submodule
/usr/libexec/git-core/git-submodule--helper
/usr/libexec/git-core/git-subtree
/usr/libexec/git-core/git-symbolic-ref
/usr/libexec/git-core/git-tag
/usr/libexec/git-core/git-tar-tree
/usr/libexec/git-core/git-unpack-file
/usr/libexec/git-core/git-unpack-objects
/usr/libexec/git-core/git-update-index
/usr/libexec/git-core/git-update-ref
/usr/libexec/git-core/git-update-server-info
/usr/libexec/git-core/git-upload-archive
/usr/libexec/git-core/git-upload-pack
/usr/libexec/git-core/git-var
/usr/libexec/git-core/git-verify-pack
/usr/libexec/git-core/git-verify-tag
/usr/libexec/git-core/git-web--browse
/usr/libexec/git-core/git-whatchanged
/usr/libexec/git-core/git-write-tree
/usr/libexec/git-core/mergetools
Сохранил, после чего пересобрал JAIL Shell у пользователей (через кнопку в панели). После этого git завелся отлично

Syrius
Сообщения: 2
Зарегистрирован: Ср апр 10, 2019 11:33 am

Re: Jail

Сообщение Syrius » Вт апр 16, 2019 8:30 am

Спасибо огромное ) Завелось. Одной проблемой меньше. Еще бы симлинк на текущую подключенную версию php сам создавался и PATH экспортировался без лишних телодвижений :D Но все не может быть хорошо :lol:

Аватара пользователя
Billy Bons
Сообщения: 71
Зарегистрирован: Чт дек 14, 2017 7:56 pm

Re: Jail

Сообщение Billy Bons » Пн май 27, 2019 9:42 pm

Подскажите пожалуйста, как решаются следующие проблемы запуска mc в jail:

1. При запуске mc в jail вылезает ошибка: "Cannot open master side of pty: Нет такого файла или каталога (2)".

2. Каждый раз при изменении в jail-окружении пользователя user создаётся каталог /var/tmp/mc-user, который mc пытается использовать и очень ругается на то, что ему не хватает прав, т.к. каталог этот создаётся с владельцем root.

Аватара пользователя
Billy Bons
Сообщения: 71
Зарегистрирован: Чт дек 14, 2017 7:56 pm

Re: Jail

Сообщение Billy Bons » Вт май 28, 2019 10:53 am

И еще вопрос. Почему-то в jail-окружении в папке sites пользователя создаются каталоги .cache, .config, .local, и файлы .bash_hystory и .bashrc.
У "нормальных" (не jail) хост-аккаунтов эти папки и файлы располагаются в корне хост-аккаунта, что логично. Зачем же в Jail их в запихнули в сайты?

cyber01
Сообщения: 14
Зарегистрирован: Вт апр 09, 2019 12:06 pm

Re: Jail

Сообщение cyber01 » Вт май 28, 2019 11:16 am

Потому что при shell (ssh) доступе для этих аккаунтов их домашней директорией будет sites и в нее сделан будет chroot. Соответственно там и создаются эти файлы

Аватара пользователя
Billy Bons
Сообщения: 71
Зарегистрирован: Чт дек 14, 2017 7:56 pm

Re: Jail

Сообщение Billy Bons » Вт май 28, 2019 1:16 pm

cyber01 писал(а):
Вт май 28, 2019 11:16 am
Потому что при shell (ssh) доступе для этих аккаунтов их домашней директорией будет sites и в нее сделан будет chroot. Соответственно там и создаются эти файлы
В смысле "домашней директорией будет sites"? У jail-аккаунта есть же свой домашний каталог /home, а также свой jail-корень /, в котором обычно такие файлы и размещаются. Иными словами, chroot делается в корневой каталог юзер-аккаунта, а не в его подкаталог sites. Отсюда и вопрос.

Аватара пользователя
Billy Bons
Сообщения: 71
Зарегистрирован: Чт дек 14, 2017 7:56 pm

Re: Jail

Сообщение Billy Bons » Пт май 31, 2019 12:10 pm

Столкнулся тут с интересным эффектом. Внёс изменения в настройки jail в панели, после чего все сайты на хостинге упали с 502-й ошибкой.
Как выяснилось, причина - в менеджере php-fpm, он отвалился. Ребята из поддержки посоветовали полностью переустановить php. Сделал - не помогло: сайты запустились, но после перезагрузки снова упали в 502.
Причина оказалась в том, что я в состав доступных для jail-окружения, не мудрствуя особо, добавил весь каталог /usr/bin, а система этого не перенесла. После удаления каталога из настроек jail и перестроения окружения всё заработало.

Ответить