вопрос муссируется уже массу времени, есть позиция у битрикса упорно игнорировать такой сценарий использования продукта...
Увеличьте продажи трансформировав сайт
|
вопрос муссируется уже массу времени, есть позиция у битрикса упорно игнорировать такой сценарий использования продукта...
Увеличьте продажи трансформировав сайт
|
|
|
|
|
|
Александр Панишев, и нет никакого workaround'а приличного?
|
|
|
|
|
|
ну такая заезжиная тема,
уважаемые сотрудники компании 1С-Битрикс (администраторы) ну сделайте в факах описание я себе настраивал как написано вот тут: и все шикарно работает |
|
|
|
|
|
Виталий Черепанов, спасибо, помогло!
Магически-шаманско-бубенная часть этой инструкции - создание юзера с айдишником пользователя bitrix. Мне почему-то казалось, что это невозможно (id пользователя должен быть уникален). По крайней мере usermod не дает сменить существующему пользователю id, только удалить и создать заново. |
|
|
|
|
|
Что вы подразумеваете под "ломать права на папку"?
Создайте пользователя для ftp и добавьте его в группу bitrix, группе дайте права на запись на файлы сайта. |
|
|
|
|
|
Анна Головко, проблема немного сложнее, чем вам кажется. Что такое права на папку "700" вам известно? В данном случае ключевое значение имеет вторая цифра, которая как раз сообщает, какие права назначены группе, к которой принадлежит владелец папки. И какие же? Правильно - никаких. Доступа нет. И именно об этом я говорил, когда писал "не ломая права на папку".
|
|
|
|
|
|
Анна Головко, вот об этом и речь. BitrixEnv по неведомым причинам запихивает сайты в папку пользователя, на которую права 700. И либо требуется менять дефолтные права на папку пользователя (что не есть хорошо и неизвестно, как поведет себя скрипт обновления BitrixEnv, не захочет ли восстановить права и все в таком духе), либо создавать пользователя с идентичным UserID. Выше предложено второе и по моему мнению, второе лучше. Тоже не очень, грязновато, но лучше, чем права направо-налево корежить с неизвестными последствиями в будущем.
Так понятнее? |
|
|
|
|
|
Анна Головко, если есть желание держать в голове еще одну деталь при каждом обновлении - велкам, каждый сам себе выбирает приключения. Я свой вопрос вполне конкретно задал - как решить задачу без корректировок дефолтных, штатных прав на файлы и папки. Решение есть, через штатный механизм OS. Оно является оптимальным во всех смыслах.
|
|
|
|
|
Да, есть смысл это делать, если нужно предоставить разный доступ нескольким разным людям. Но если нужно всего одному - то без разницы. |
|||||
|
|
|
|
Иван, любопытные рассуждения. Жаль, что отталкиваются от неверных предпосылок. Директива PermitTunnel в конфиге sshd по умолчанию имеет значение No. И в BitrixEnv оставлено значение по умолчанию. Это нужно залезть и изменить конфиг и не забыть перезапустить ssd демон.
Поэтому все описанные сценарии неосуществимы. Если есть еще идеи возможных угроз - прошу поделиться. Пока я не вижу никаких. |
|
|
|
|
утюжком горяченьким.... |
|||
|
|
|
|
|||
|
|
|
Это частое заблуждение. Во всех дистрибутивах, с которыми я имел дело последнее время, туннелирование не было запрещено по умолчанию. Специально скачал последнюю версию виртуальной машины Битрикс. Как можно увидеть на , туннель можно построить без всяких проблем и он работает — подключение к удаленному MySQL прошло без проблем. В любом случае, я уже потратил на эту тему довольно много времени и потому воздержусь от дальнейших комментариев. Напоследок, хочу порекомендовать всем, кто наткнется на эту тему с осторожностью относиться к готовым административным рецептам из Интернета и перед применением, по возможности, привлекать администраторов хотя бы для консультаций. |
|||
|
|
|
|
Иван, это не заблуждение, это man sshd_config
На моем сервере туннель не работает, как ему и положено.
|
|||
|
|
|
|
Недопонимание возникло из-за использования мной некорректной терминологии, а точнее из-за плохой привычки называть пробрасывание портов туннелированием. Конечно же, все мои комментарии относятся именно к пробрасыванию портов (local and dynamic port forwarding).
Туннелирование действительно управляется директивой PermitTunnel и отключено по умолчанию в последних версиях OpenSSH. Пробрасывание портов по умолчанию разрешено:
Еще раз хочу обратить внимание, что включено оно и в виртуальной машине Битрикс, подтверждение чему можно найти на скриншоте выше, или с помощью эксперимента. |
|||
|
|
|
|
Иван, вот так уже предметнее. Но чтобы хоть как-то успешно воспользоваться указанной, гм, "уязвимостью", пользователь должен знать пароль к 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-доступа, указанного выше, то мы приходим к выводам, что это вполне адекватный задаче способ с приемлемым уровнем риска. Итого, задача решается с минимальными трудозатратами, обеспечивая адекватный результат. Я лично не вижу смысла (кроме как неиссякаемого перфекционисткого стремления к идеалу) заморачиваться чем-то еще. Но спасибо за поднятые вопросы, они очень интересны, хорошая получилась беседа, полагаю, что наша беседа пригодится читающим, каждый сделает свои выводы исходя из своих приоритетов и задач. |
|
|
|
|
|
Bond Big, Пробовал установить proftpd, как сказано здесь но ничего не вышло, по фтп вообще не удается подключится, а через WinSCP показываются все каталоги и файлы с корня. Версия Bitrix VM 5.0.46 последняя. Как можно настроить фтп так, что бы для каждого юзера была доступна только своя папка сайта в /home/bitrix/ext_www/сайт?
Если я долго не отвечаю |
|
|
|
|
|
Если у вас совсем не получается под фтп зайти, в консоли выполните proftpd и он выдаст ошибки. Если ошибок нет, необходимо проверить порт 21
|
|
|
|
|
|
Сергей Абрамовских, Выполнил в консоли proftpd, в итоге вообще ничего не выдало. В чем же тут дело?
А также почему этим же пользователям открыт доступ по SSH и там видны все папки с корня? На счет порта 21, я как только не извращался, что бы его открыть. Скажите может ли он закрыт где-то поверх ВМ, на хостинге, который предоставляет VPS. У нас Инфобокс, где его там можно открыть? Если я долго не отвечаю |
|
|
|
|
|
s909, proftpd точно установился? /etc/proftpd/ есть? Конфиги внутри лежат?
А вообще я лично использую vsftpd, в том числе и на bitrixvm. Работает замечательно. |
|
|
|
|
|
Как ни странно /etc/proftpd/ нету, есть только /etc/proftpd.conf, хотя установка была без ошибок и на команды proftpd реагирует, значит ведь установлен?
Если я долго не отвечаю |
||||
|
|
|
|||