ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

longmaster
Сообщения: 2
Зарегистрирован: Пт дек 07, 2018 3:40 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение longmaster » Ср фев 27, 2019 10:25 am

Поделюсь своей реализацией.
Почему-то не увидел в теме никаких упоминаний проблемы разделения доступа для разных пользователей. Я у себя в целом решил вопрос доступа связкой https и http basic авторизации штатными средствами nginx. Мне такой вариант видится более предпочтительным, чтобы исключить возможные уязвимости в PHP-движке или самом Majordomo. Да, в Majordomo есть собственная реализация, но там никак не решён вопрос с несколькими пользователями.
Majordomo пришлось доработать, чтобы nginx-пользователи автоматически идентифицировались в Majordomo. Пока не делал систему администрирования пользователей nginx, обхожусь командной строкой.
HTTPS поднял на официальных бесплатных сертификатах letsencrypt. Так что в итоге требуется минимум телодвижений для доступа любого пользователя системы из любой точки сети. Имя-пароль у пользователей сохранены в их браузерах или настройках мобильного приложения, надо только время от времени жмакать кнопку "ок" на запросе авторизации. Не надо никаких лишних движений с поднятием VPN-соединения, да и остаётся возможность подключиться с чужого терминала.
Пока остался нерешенным вопрос с доступностью websocket из инета, штатно они работают по нешифрованному соединению, не хочу в таком виде выставлять их наружу.
Если подобные настройки кому-то интересно, могу расписать подробнее.
За это сообщение автора longmaster поблагодарил:
odinvolk (Ср фев 27, 2019 2:47 pm)
Рейтинг: 1.33%
stellhawk
Сообщения: 118
Зарегистрирован: Чт ноя 08, 2018 5:51 am
Благодарил (а): 4 раза
Поблагодарили: 30 раз

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение stellhawk » Ср фев 27, 2019 10:54 am

longmaster писал(а):
Ср фев 27, 2019 10:25 am
Поделюсь своей реализацией.
Почему-то не увидел в теме никаких упоминаний проблемы разделения доступа для разных пользователей. Я у себя в целом решил вопрос доступа связкой https и http basic авторизации штатными средствами nginx. Мне такой вариант видится более предпочтительным, чтобы исключить возможные уязвимости в PHP-движке или самом Majordomo. Да, в Majordomo есть собственная реализация, но там никак не решён вопрос с несколькими пользователями.
Majordomo пришлось доработать, чтобы nginx-пользователи автоматически идентифицировались в Majordomo. Пока не делал систему администрирования пользователей nginx, обхожусь командной строкой.
HTTPS поднял на официальных бесплатных сертификатах letsencrypt. Так что в итоге требуется минимум телодвижений для доступа любого пользователя системы из любой точки сети. Имя-пароль у пользователей сохранены в их браузерах или настройках мобильного приложения, надо только время от времени жмакать кнопку "ок" на запросе авторизации. Не надо никаких лишних движений с поднятием VPN-соединения, да и остаётся возможность подключиться с чужого терминала.
Пока остался нерешенным вопрос с доступностью websocket из инета, штатно они работают по нешифрованному соединению, не хочу в таком виде выставлять их наружу.
Если подобные настройки кому-то интересно, могу расписать подробнее.
Да, это было здорово. может на блоге написать статью. для новичков было бы полезно.да и опытным из одного место уже готовое решение брать тоже было бы удобно.
skysilver
Сообщения: 2569
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 336 раз
Поблагодарили: 1462 раза
Контактная информация:

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение skysilver » Ср фев 27, 2019 1:32 pm

longmaster писал(а):
Ср фев 27, 2019 10:25 am
Если подобные настройки кому-то интересно, могу расписать подробнее.
Нужны. Пиши в блоге в Коннекте.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nightwind
Сообщения: 315
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 24 раза
Поблагодарили: 48 раз
Контактная информация:

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение nightwind » Ср фев 27, 2019 3:06 pm

Если есть доступ к внутренней сети - все эти авторизации -чисто защита от дурака. тут у людей датчики get-запросами общаются)))
Аватара пользователя
olis
Сообщения: 1
Зарегистрирован: Вс июл 14, 2019 6:29 pm
Благодарил (а): 0
Поблагодарили: 0

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение olis » Вс июл 14, 2019 6:51 pm

ZyaK писал(а):
Ср ноя 28, 2018 10:54 am
Всем доброго времени,
расшарил доступ к умному дому через облако KeenDNS, в конфиг пхп раскомментировал домашнюю сеть, логин и пароль прописал.
но видимо при входе через облако от кенетика он думает, что я нахожусь в домашней сети и пароль не спрашивает.
то же самое и на телефонах.
как с этим быть?
IP естественно серый(живу не в городе, только мобильный интернет)
Сейчас оказался в такой же ситуации, готового решения не нашел, поэтому заколхозил авторизацию прямо в config.php, на основе той, что встроена в систему. Не супер-защита, конечно, но от дураков сойдет.

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

// Авторизация
$allows = [ // Список объектов или сценариев, которым открыт доступ снаружи через GET запросы:
	'you_script_name_1',
	'you_script_name_2',
	'you_object_name_1',
	'you_object_name_2'
];
$access = false;
if(preg_match("/^192\.168\.1\.(3[3-9]|[4-9][0-9]|1[0-2][0-9]|13[0-3])$/", $_SERVER['REMOTE_ADDR'])) $access = true; // из домашней сети в диапазоне (192.168.1.33 - 192.168.1.133)
if($_SERVER['SCRIPT_NAME'] == '/objects/index.php'  // сценарий или метод из списка разрешенных
  	&& (in_array($_GET['script'], $allows) || (in_array($_GET['object'], $allows) && $_GET['op'] == 'm'))
  ) $access = true;
if(!$access){
	Define('HOME_NETWORK', '0.0.0.0');
	Define('EXT_ACCESS_USERNAME', 'you_username');
	Define('EXT_ACCESS_PASSWORD', 'you_password');
}// конец авторизации
Аватара пользователя
SmoKE_xDDD
Сообщения: 68
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Re: ЗАЩИТА ОТ ДОСТУПА. есть ли реализация?

Сообщение SmoKE_xDDD » Вс июл 14, 2019 10:38 pm

Согласен с комментом выше, использую basic авторизацию. В большинстве случаем проходит такой вариант авторизации:

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

http://login:pass@local.host
Оборудование: Xiaomi + Aqara (Реле, датчики, выключатели)
Навыки: php, html, js
Реализация УД: MJDM + php. Управление с планшета в стене из собственной WEB морды.
Ответить