|   |   | 
| 
 | Ограничение доступа к серверу 1С | ☑ | ||
|---|---|---|---|---|
| 0
    
        eshkatot 03.08.12✎ 12:50 | 
        Приветствую
  Есть такой вопрос. Возможно ли как-то разграничить доступ к базам на 1С сервере Windows пользователям без внесения изменений в сами базы? Т.е. чтобы пользователю А соответствовала база А1, а пользователю Б - Б1. Но при этом пользователь А никак не могу получить доступа к базе Б1, чтобы пользователь Б в не наворотил. И наоборот соответственно. | |||
| 1
    
        ДенисЧ 03.08.12✎ 12:53 | 
        Создать им каждому пользователя в соот.базе, прописать виндовз-авторизацию.     | |||
| 2
    
        eshkatot 03.08.12✎ 12:59 | 
        Это подразумевает внесение изменений в базу данных, а также получение к ней админского доступа.
  Хочется обойтись без этого. | |||
| 3
    
        Cube 03.08.12✎ 13:02 | 
        (2) Чо? Читай (1) пока не прозреешь.     | |||
| 4
    
        serg_sh75 03.08.12✎ 13:05 | 
        (3)п...ц     | |||
| 5
    
        serg_sh75 03.08.12✎ 13:06 | 
        (0) срочно отойди от базы!     | |||
| 6
    
        eshkatot 03.08.12✎ 13:20 | 
        Я не хочу влезать в базу, есть возможность средствами платформы или сервера ограничить конкретному Windows пользователю доступ к конкретной базе, или нельзя?
  Понятно что можно прописать Windows авторизацию для пользователей в базе, но это подразумевает наличие минимум двух пользователей в базе. 1С пользователя с правами админа и Windows пользователя. А вопрос в том можно ли ограничить доступ к серверу ДО авторизации в самой базе. | |||
| 7
    
        Maxus43 03.08.12✎ 13:22 | 
        (6) нельзя если базы на одном сервере 1с     | |||
| 8
    
        Maxus43 03.08.12✎ 13:23 | 
        или в каждой базе только 1 пользователь windows? на уровне скуля можно     | |||
| 9
    
        ДенисЧ 03.08.12✎ 13:24 | 
        (2) какое изменение? Создание пользователей - это штатное действие с базой, не требует вмешательства в конфигурацию!     | |||
| 10
    
        eshkatot 03.08.12✎ 13:24 | 
        А если на разных можно?     | |||
| 11
    
        Maxus43 03.08.12✎ 13:27 | 
        (10) на разных серверах 1с - значит у вас 2 сервера 1с с купленными ключиками для них     | |||
| 12
    
        eshkatot 03.08.12✎ 13:28 | 
        (8) как? Обращается-то сервер, тем пользователем, которого указали при создании базы. На клиентское приложение это не влияет.
  (9) Я что-то говорил про конфигурацию? Штатное действие не изменяет базу данных? Прочитайте пожалуйста вопрос и уточнения. | |||
| 13
    
        Maxus43 03.08.12✎ 13:28 | 
        короче коннект к службе сервер 1с по определённому порту, соответственно для какого-то юзера можно закрыть порты, которые ему не нужны     | |||
| 14
    
        ptiz 03.08.12✎ 13:28 | 
        (0) Хоть скажи, у тебя базы файловые или sql ?     | |||
| 15
    
        Maxus43 03.08.12✎ 13:29 | 
        (12) вот и укажите пользователя этого у базы, и дайте ему в скуле права на эту базу     | |||
| 16
    
        Maxus43 03.08.12✎ 13:30 | 
        (15) + не, туплю) так не прокатит     | |||
| 17
    
        eshkatot 03.08.12✎ 13:30 | 
        Воот, я уже весь мозг сломал     | |||
| 18
    
        eshkatot 03.08.12✎ 13:31 | 
        (14) 1С сервер не умеет работать с файловыми базами данных.     | |||
| 19
    
        eshkatot 03.08.12✎ 13:32 | 
        (13) Думал на этот счет, но это еще более менее катит если не надо автоматизировать. И если у тебя до 10 пользователей. Да и отдельный инстанс поднимать под каждого пользователя - жирновато.     | |||
| 20
    
        Maxus43 03.08.12✎ 13:33 | 
        (17) покури (13), если сервера 1с разные - соответственно у них разный ИП (имяхоста), для пользователя на уровне сети можно отрезать доступ, а-ля как доступ к шаре, только к ИП     | |||
| 21
    
        ptiz 03.08.12✎ 13:33 | 
        (18) Некоторые сервером называют "вон тот шумящий ящик". 
  Переводи в файловую версию и раздавай права на каталог :) | |||
| 22
    
        Maxus43 03.08.12✎ 13:34 | 
        дай юзерам ярлыки на конкретные базы, запрети под страхом паяльника создавать новые базы     | |||
| 23
    
        Maxus43 03.08.12✎ 13:35 | 
        и так, у тебя 10 юзеров. права на уровне сети раздавать накладно, а права в самой 1с - религия не позволяет? это самы нормальный вариант, или юзеры в базе из под "неавторизован" работают с полными правами?     | |||
| 24
    
        vde69 03.08.12✎ 13:36 | 
        (17) можно, для этого нужен анализатор IP пакетов.
  для каждого юзера настраиваешь фаервол на запрет исходящего соединения с определенным началом содержания IP пакета. правда никогда не встречал фаеров с такой фунцкией, но думаю что существуют... | |||
| 25
    
        Kreont 03.08.12✎ 13:37 | 
        (0) Почти у всех базах 1С есть разделение прав по организациям (РЛС) + как вариант создать ЦБ + РИБ организаций и раздавать права     | |||
| 26
    
        Волесвет 03.08.12✎ 13:38 | 
        в правах на доступ к папке     | |||
| 27
    
        eshkatot 03.08.12✎ 13:40 | 
        (21) больше 100 пользователей, работают с разных машин. Общий объем баз - 150 гб, средний размер базы - 400 мб. Да, файловый режим работы это то что мне надо =)))
  Говорят новый 2012 сервер хорош в этом плане, но терзают меня смутные сомнения. (22) Тоже думал, но неудобно это нифига. Во-первых надо как-то следить за всем этим. Во-вторых буду погребен под запросами на создание новых баз. Т.е. запрет на изменение списка баз и настроек 1С (отнять доступ на изменение к файлам настроек). (24) Будет работать только в случае если соединение не шифруется, но вообще какое-то благородное безумство в этом проглядывает. (25) Подразумевает вмешательство в структуру базы. (26) Сервер баз данных, права на папку это хорошо, когда у тебя 3 базы и 10 пользователей. | |||
| 28
    
        vde69 03.08.12✎ 13:40 | 
        (24)+ ммм даже лучше, фаер ставится на сервер где критится сервер 1с и рубится входящий трафик.
  там при коннекте начиная с 2 пакета идет открытый ключ, если колюч рубануть, сервер 1с просто перестанет понимать клиента | |||
| 29
    
        vde69 03.08.12✎ 13:41 | 
        (27) соединение шифруется ВСЕГДА, но определить базу и пользователя - можно     | |||
| 30
    
        Kreont 03.08.12✎ 13:44 | 
        (27)+(25) не подразумевается никакого вмешательства в код, 100%
  А делать для 1С разгарничение через файл.системы и права на папки и на БД нелогично. | |||
| 31
    
        Maxus43 03.08.12✎ 13:45 | 
        объясни нормально чем не нравится завести юзеров в 1с с вин-авторизацией?
  или действительно у вас в базах вход без пароля? тогда это ахтунг натуральный | |||
| 32
    
        ptiz 03.08.12✎ 13:49 | 
        (31) Кому интересны простые пути?     | |||
| 33
    
        eshkatot 03.08.12✎ 14:03 | 
        (27) А если соединение внутри шифрованного VPN туннеля тоже можно?
  (28) Ок, а если клиентом у нас терминальный сервер с которого ходит 10 клиентов, как мне их разграничить? (29) В код нет, в базу да. (31) Да не хочу я знать что там с авторизацией внутри базы + Например загружает пользователь свой dt со своими пользователями. Ему ремаппинг надо делать. (32) Да, простых путей мы не ищем. | |||
| 34
    
        JeyRico 03.08.12✎ 14:03 | 
        (32) Никому. Решение проблемы знают все. Здесь соревнование по it-изврату.     | |||
| 35
    
        eshkatot 03.08.12✎ 14:05 | 
        (32) Не по существу. Предложите свой вариант решения задачи.     | |||
| 36
    
        JeyRico 03.08.12✎ 14:06 | 
        > Да не хочу я знать что там с авторизацией внутри базы + Например загружает пользователь свой dt со своими пользователями. Ему ремаппинг надо делать.
  У тебя юзеры свои базы на работу таскают? И какое тебе дело до их баз? | |||
| 37
    
        alkov 03.08.12✎ 14:08 | 
        (33) Куда загружает? На сервер? А кто ж ему таких прав даст?     | |||
| 38
    
        eshkatot 03.08.12✎ 14:11 | 
        (36) + (37) Ну допустим у меня 10 злобных кодеров-фрилансеров. Которые работают на моих серверах с чужими базами. И мне не надо чтобы они ходили в базы друг друга. Но при этом мое участие должно быть минимальным. Т.е. кодер должен иметь возможность - создать базу, залить в нее любую конфигурацию или выгрузку. При этом соседний злобный кодер доступа к этой базе не должен иметь. И вообще, это не относится к вопросу. Это административный способ решения задачи, а меня интересует техническая сторона - возможно или нет. Походу нет.     | |||
| 39
    
        alkov 03.08.12✎ 14:29 | 
        Каждому свою виртуалку с своим сервером предприятия     | |||
| 40
    
        eshkatot 03.08.12✎ 14:33 | 
        Жирно будет. Нет, не так. Каждому виртуалку - значит программист может отожрать под свои задачи не 32 гб памяти, а только 4. А этого ему мало. Да и поддерживать 10 серверов сложнее. И масштабируемость хромает.     | |||
| 41
    
        alkov 03.08.12✎ 14:37 | 
        Не, ну можно, конечно, и 10 серверов предприятия в одной ОС запустить, для каждого прописать соответствующего администратора, но это не меньший изврат, чем (39)     | |||
| 42
    
        alkov 03.08.12✎ 14:40 | 
        С одним сервером предприятия не взлетит, имхо. Ибо если есть права на создание новой своей ИБ, то и удалить чужие тоже есть право     | |||
| 43
    
        eshkatot 03.08.12✎ 14:42 | 
        (41) Короче говоря - отметаем. Кроме того, доступ к базе таким образом не защищен.
  (42) Ну уж интерфейс для создания-удаления баз без доступа к консоли управления сервером 1С я смогу сделать. | |||
| 44
    
        vde69 03.08.12✎ 14:55 | 
        (33)
  >>> Ок, а если клиентом у нас терминальный сервер с которого ходит 10 клиентов, как мне их разграничить? в КАЖДОМ (почти каждом) пакете виндовый логин имеется, причем в открытом виде, вне зависимости от авторизации. | |||
| 45
    
        vde69 03.08.12✎ 14:58 | 
        (44) возьми IP-Tools и сниферни процесс подключения, там все прозрачно... конечно к потрохам там доступа нет (шифруется сеансовыми ключами) но заголоков вполне хватит что-бы правила нарезать на фаере (правда если найдешь такой фаер которы по содержанию пакетов умеет резать).
  на крайняк можно железку купить, циски точно это умеют делать.... | |||
| 46
    
        olegves 03.08.12✎ 15:21 | 
        eshkatot, 
  вирусописатель, не? | |||
| 47
    
        eshkatot 03.08.12✎ 15:27 | 
        (44) + (45) Хм, да имя базы передается в открытую. Можно будет попробовать.
  (46) Что вы, просто скромный админ. А вы, кстати, какое решение предлагаете? | |||
| 48
    
        olegves 03.08.12✎ 15:31 | 
        (47) занизить собственные амбиции     | |||
| 49
    
        vde69 03.08.12✎ 15:34 | 
        (47) я пытался разобраться досконально с протоколом клиент-сервер, вроде все понятно, единственное я не понял какой именно алгаритм шифрования используется, скорее всего RSA но их несколько стандартов и несколько различных реализаций.
  Если иметь информацию о конкретном алгоритме - можно эмулировать клиентские запросы и получать например список баз сервера без запуска самой 1с в обход их системы авторизации кластера. | |||
| 50
    
        eshkatot 03.08.12✎ 15:34 | 
        (48) При чем здесь амбиции? Есть конкретная задача. Вот товарищ vde69 предложил костыльное, но имеющее право на жизнь решение.     | |||
| 51
    
        eshkatot 03.08.12✎ 15:42 | 
        (49) Насколько я понимаю (ни разу не разработчик 1С) это велосипед. Т.к. есть специальный режим 1С сервера, который это позволяет. v8: 1c и c#. Если не прав - поправьте.     | |||
| 52
    
        vde69 03.08.12✎ 15:53 | 
        (51) нет ты не прав, 
  1с реализовано как 2 разных DCOM сервера первый - это управление кластером и тут требуется авторизация админа кластера/сервера второй - рабочий, тут авторизация базы ни первый ни второй сервер не позволяют реализовать сабж --------------------- я предлогаю опустится ниже DCOM (а точнее на его физическую реализацию а не интерфейсную часть, именно там можно реализовать сабж) | |||
| 53
    
        Kreont 03.08.12✎ 17:53 | 
        Вариант сделать через файловые базы, задать права на папку только конкретному юзверю, указать квоту, впустить через терминал с подключением домашней заданой папки, и все. Тогда будем иметь доступ только к 1-му себе ) как и надо.     | |||
| 54
    
        mih_io 03.08.12✎ 18:26 | 
        непонятно:
  1. Если ребята работают на сервере, значит у них есть логин и пароль на сервер и, как следствие, личная папка в которой делай что хочешь и никто доступа не будет иметь. Зачем тут еще куда то и как-то вмешиваться? 2. Если предполагается, что ребята будут ставить базу используя один кластер в сервере 1с и одну СУБД, то никто не мешает каждому из таким уникумов создать пользователей в скуле и чтобы только под ним они могли разворачивать базы. Соответственно другой пользователь не сможет удалить эту базу из скуля. Конфликты: 1. В сервере 1с можно посмотреть все созданные базы и попытаться из клиента 1с к ним подцепиться, но если стоит любой пароль, тогда без доступа к БД в скуле, его никак не взломать. 2. Проблема 2, никто не мешает в сервере 1с из кластера удалить базы своих "коллег". Понятно, что сама БД будет жива и ничего не сложно прицепить заново БД в кластере, но это бесило бы, особенно если базы не просто для работы программера а еще и реально рабочие для остальных пользователей. Вывод. Если вы можете сделать как написали в (43) то почему это все не взлетит? | |||
| 55
    
        oleg_km 03.08.12✎ 19:07 | 
        (52) C 8.1 1С уже не DCOM.     | |||
| 56
    
        serg_sh75 03.08.12✎ 19:14 | 
        а если запустить несколько процессов 1С на разных портах, и по  портам ограничить пользаков     | |||
| 57
    
        eshkatot 10.08.12✎ 19:19 | 
        Подниму тред, ибо решения все-таки пока не накопал. Смиренно прошу еще немного внимания.
  (53) Через файловые не катит, т.к. пользователей много, базы большие, по сетке производительность не устраивает. (54) Опять-таки речь идет о том чтобы уйти от файловой версии баз. А с использованием одного сервера возникает проблема. Хочется ограничить доступ к базе не внося изменений в структуру базы. Чтобы пользователь виндовый гарантировано не мог подключиться к чужой базе, даже если она пустая. (56) Обсуждалось - слишком много портов-пользователей получается, да и поднимать отдельный инстанс под каждого пользователя - накладно. | |||
| 58
    
        Kreont 10.08.12✎ 20:15 | 
        (57) Почему это через.файл не прокатит, если через терминал пустить, все будет норм со скоростью.     | |||
| 59
    
        mistеr 11.08.12✎ 02:47 | 
        (57) Я за виртуализацию всего, как самое простое решение.
  Твои требования противоречивы. Как будто на ходу придумываешь. >больше 100 пользователей, работают с разных машин. >соединение внутри шифрованного VPN туннеля >клиентом у нас терминальный сервер с которого ходит 10 клиентов >у меня 10 злобных кодеров-фрилансеров >кодер должен иметь возможность - создать базу, залить в нее любую конфигурацию или выгрузку. >Я не хочу влезать в базу Добавим к этому (предположительно) Windows и SQL Server. И будем рассуждать логически. Каждый пользователь должен иметь учетку Windows на сервере. OK, уже имеет. Чтобы работать с базой, пользователь должен иметь учетку в базе SQL Server. Хотя авторизоваться он может виндовой учеткой. Чтобы иметь возможность создать базу в SQL, пользователь должен быть SA! Либо ты сам будешь создавать им базы и учетки в них по требованию. Так как дать им sa ты не можешь, а создавать базы сам не хочешь, то выход - виртуализация. Это мы еще до серверов 1С не добрались. С ними, кстати, можно более-менее нормально доступ разрулить. На каждого пользователя по кластеру, ты будешь администратором центрального сервера, а пользователь админом кластера. В чужой кластер залезть не сможет. Но возникает проблема - распределение ресурсов. Их нужно ограничивать, потому что рано или поздно кто-нибудь по глупости отожрет их все (способов много) и будет мешать остальным. Windows и SQL Server позволяет квотировать далеко не все ресурсы. Поэтому выход опять - виртуализация. | |||
| 60
    
        SachoZ 11.08.12✎ 11:31 | 
        (59) Че это только SA? Просто дать права "GRANT CREATE DATABASE..."?     | |||
| 61
    
        mih_io 11.08.12✎ 11:41 | 
        (57) вы в (43) написали, что сможете сделать "Ну уж интерфейс для создания-удаления баз без доступа к консоли управления сервером 1С я смогу сделать."
  Соответственно они не смогут удалить уже созданные БД в кластере 1с других пользователей. Даже если к ним смогут подключиться, то 1с-ка спросит логин и пароль и они конечно не знают его. Узнать пароль на вход в 1с в SQL-ых версий без доступа в БД в СУБД никак нельзя. Вам надо будет только каждому выдавать свой логин и пароль в MS SQL чтобы они там не имели доступа в базы созданные не ими. | |||
| 62
    
        Gepard 11.08.12✎ 12:50 | 
        (0) сделай для каждой организации, которая арендует площадку отдельный виртуальный сервер. Туда же локально поставь сервер приложений (или просто файловый вариант базы). На VMWare все очень просто разруливается)     | |||
| 63
    
        mistеr 11.08.12✎ 13:53 | 
        (60) Могу и ошибаться. Так написано в желтой книжке.
  (Если быть точным, не sa, а sysadmin) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |