вопрос муссируется уже массу времени, есть позиция у битрикса упорно игнорировать такой сценарий использования продукта...
06.11.2014 21:58:49
вопрос муссируется уже массу времени, есть позиция у битрикса упорно игнорировать такой сценарий использования продукта...
|
|
|
|
06.11.2014 22:01:03
Александр Панишев, и нет никакого workaround'а приличного?
|
|
|
|
06.11.2014 22:08:11
ну такая заезжиная тема,
уважаемые сотрудники компании 1С-Битрикс (администраторы) ну сделайте в факах описание я себе настраивал как написано вот тут: и все шикарно работает |
|
|
|
06.11.2014 22:50:41
Виталий Черепанов, спасибо, помогло!
Магически-шаманско-бубенная часть этой инструкции - создание юзера с айдишником пользователя bitrix. Мне почему-то казалось, что это невозможно (id пользователя должен быть уникален). По крайней мере usermod не дает сменить существующему пользователю id, только удалить и создать заново. |
|
|
|
07.11.2014 16:16:03
Что вы подразумеваете под "ломать права на папку"?
Создайте пользователя для ftp и добавьте его в группу bitrix, группе дайте права на запись на файлы сайта. |
|
|
|
07.11.2014 17:09:19
Анна Головко, проблема немного сложнее, чем вам кажется. Что такое права на папку "700" вам известно? В данном случае ключевое значение имеет вторая цифра, которая как раз сообщает, какие права назначены группе, к которой принадлежит владелец папки. И какие же? Правильно - никаких. Доступа нет. И именно об этом я говорил, когда писал "не ломая права на папку".
|
|
|
|
07.11.2014 18:20:23
Анна Головко, вот об этом и речь. BitrixEnv по неведомым причинам запихивает сайты в папку пользователя, на которую права 700. И либо требуется менять дефолтные права на папку пользователя (что не есть хорошо и неизвестно, как поведет себя скрипт обновления BitrixEnv, не захочет ли восстановить права и все в таком духе), либо создавать пользователя с идентичным UserID. Выше предложено второе и по моему мнению, второе лучше. Тоже не очень, грязновато, но лучше, чем права направо-налево корежить с неизвестными последствиями в будущем.
Так понятнее? |
|
|
|
07.11.2014 21:29:13
Анна Головко, если есть желание держать в голове еще одну деталь при каждом обновлении - велкам, каждый сам себе выбирает приключения. Я свой вопрос вполне конкретно задал - как решить задачу без корректировок дефолтных, штатных прав на файлы и папки. Решение есть, через штатный механизм OS. Оно является оптимальным во всех смыслах.
|
|
|
|
08.11.2014 09:55:37
Да, есть смысл это делать, если нужно предоставить разный доступ нескольким разным людям. Но если нужно всего одному - то без разницы. |
|||||
|
|
09.11.2014 17:54:07
Иван, любопытные рассуждения. Жаль, что отталкиваются от неверных предпосылок. Директива PermitTunnel в конфиге sshd по умолчанию имеет значение No. И в BitrixEnv оставлено значение по умолчанию. Это нужно залезть и изменить конфиг и не забыть перезапустить ssd демон.
Поэтому все описанные сценарии неосуществимы. Если есть еще идеи возможных угроз - прошу поделиться. Пока я не вижу никаких. |
|
|
|
09.11.2014 18:44:25
утюжком горяченьким.... |
|||
|
|
09.11.2014 18:47:05
|
|||
|
|
09.11.2014 19:18:24
Это частое заблуждение. Во всех дистрибутивах, с которыми я имел дело последнее время, туннелирование не было запрещено по умолчанию. Специально скачал последнюю версию виртуальной машины Битрикс. Как можно увидеть на В любом случае, я уже потратил на эту тему довольно много времени и потому воздержусь от дальнейших комментариев. Напоследок, хочу порекомендовать всем, кто наткнется на эту тему с осторожностью относиться к готовым административным рецептам из Интернета и перед применением, по возможности, привлекать администраторов хотя бы для консультаций. |
|||
|
|
09.11.2014 19:34:16
Иван, это не заблуждение, это man sshd_config
На моем сервере туннель не работает, как ему и положено.
|
|||
|
|
09.11.2014 19:54:50
Недопонимание возникло из-за использования мной некорректной терминологии, а точнее из-за плохой привычки называть пробрасывание портов туннелированием. Конечно же, все мои комментарии относятся именно к пробрасыванию портов (local and dynamic port forwarding).
Туннелирование действительно управляется директивой PermitTunnel и отключено по умолчанию в последних версиях OpenSSH. Пробрасывание портов по умолчанию разрешено:
Еще раз хочу обратить внимание, что включено оно и в виртуальной машине Битрикс, подтверждение чему можно найти на скриншоте выше, или с помощью эксперимента. |
|||
|
|
09.11.2014 20:51:54
Иван, вот так уже предметнее. Но чтобы хоть как-то успешно воспользоваться указанной, гм, "уязвимостью", пользователь должен знать пароль к mysql.
Тут возможны три сценария: 1) нам необходимо дать кому-то (например, разработчику, который докручивает решение) доступ на все директории сайта. В таком случае он легко читает файлик dbconn.php и получает пароль. Но мы ему и так дадим пароль на mysql и еще и в явном виде разрешим проброс порта в ssh, потому как это необходимо для работы (а некоторые странные люди даже выставляют mysql голой жопой в интернет для таких задач). Даже если мы запретим такому пользователю проброс портов, тунелирование или даже создадим виртуального ftp-пользователя, никто не помешает ему установить web-shell на сайт, который (внимание!) все равно будет работать с правами реального пользователя, от которого запущен апач, в данном случае это пользователь bitrix. Соответсвенно, риск "о господи, пользователь может пробросить порт! Ололо! Алярма!" считаем приемлемым, т.к. никакого повышения прав или несанкционированного доступа к чему-либо, кроме того, к чему и так есть доступ, не происходит. Условно говоря, давая кому-то ключ от входной двери, ты не паришься, сможет ли он открыть форточку. 2) нам необходимо дать кому-то доступ в какую-то конкретную директорию, например с каким-то модулем, для его доработки. Тут пользователь не может посмотреть файл dbconn.php, но в большинстве случаев ему все равно требуется доступ к базе и он его получит. Параноидальные режимы "надо же создать отдельного mysql-пользователя с доступом только в конкретные таблицы!" не рассматриваем. В реальности так никто не делает, практически никогда. Слишком невыгодное соотношение трудозатраты/безопасность. 3) вариация второго, но доступ только в папку с какими-нибудь картинками или еще чем-то подобным, когда нет доступа к директориям, где можно запускать php-файлы на исполнение и, соответственно, веб-шелл не запустить. Что ж, веб-шелла уже и так нет, пароль на mysql мы не сообщаем и узнать его пользователь не может (нет доступа к dbconn.php из-за chroot), остается только возможность пробросить порты и рассылать СПАМ от имени нашего сервера и делать подобные нехорошие штуки. Но т.к. этот пользователь - человек, которого мы нанимаем и, соответственно доверяем в какой-т остепени, а все действия оседают в логах (кто и когда подключался), то вероятность реализации данной уязвимости стремится к нулю. А т.к. риск это (грубо) - функция вероятности реализации угрозы потенциальной уязвимости и итогового влияния на актив, то при вероятности, стремящейся к нулю, риск также стремится к нулю. Итак, если все же заморочиться оценкой рисков и посчитать ROI трудозатрат на реализацию ftp с виртуальными пользователями vs реализацию простого и быстрого способа (фактически - одна команда в ssh, также одна команда на отключение пользователя, всё, никаких больше телодвижений) способа реализации FTP-доступа, указанного выше, то мы приходим к выводам, что это вполне адекватный задаче способ с приемлемым уровнем риска. Итого, задача решается с минимальными трудозатратами, обеспечивая адекватный результат. Я лично не вижу смысла (кроме как неиссякаемого перфекционисткого стремления к идеалу) заморачиваться чем-то еще. Но спасибо за поднятые вопросы, они очень интересны, хорошая получилась беседа, полагаю, что наша беседа пригодится читающим, каждый сделает свои выводы исходя из своих приоритетов и задач. |
|
|
|
10.12.2014 00:10:27
Bond Big, Пробовал установить proftpd, как сказано здесь
Если я долго не отвечаю |
|
|
|
10.12.2014 12:23:14
Если у вас совсем не получается под фтп зайти, в консоли выполните proftpd и он выдаст ошибки. Если ошибок нет, необходимо проверить порт 21
|
|
|
|
10.12.2014 14:20:52
Сергей Абрамовских, Выполнил в консоли proftpd, в итоге вообще ничего не выдало. В чем же тут дело?
А также почему этим же пользователям открыт доступ по SSH и там видны все папки с корня? На счет порта 21, я как только не извращался, что бы его открыть. Скажите может ли он закрыт где-то поверх ВМ, на хостинге, который предоставляет VPS. У нас Инфобокс, где его там можно открыть? Если я долго не отвечаю |
|
|
|
10.12.2014 14:54:58
s909, proftpd точно установился? /etc/proftpd/ есть? Конфиги внутри лежат?
А вообще я лично использую vsftpd, в том числе и на bitrixvm. Работает замечательно. |
|
|
|
10.12.2014 15:53:55
Как ни странно /etc/proftpd/ нету, есть только /etc/proftpd.conf, хотя установка была без ошибок и на команды proftpd реагирует, значит ведь установлен?
Если я долго не отвечаю |
||||
|
|
|||