Форум программистов, компьютерный форум, киберфорум
Наши страницы

Безопасность сайтов и серверов

Войти
Регистрация
Восстановить пароль
 
aLEXperimentatr
1 / 1 / 1
Регистрация: 07.01.2015
Сообщений: 20
#1

Гарантия, что Вы заходите именно на свой сайт ) Подлинность сайта - Безопасность сайтов

06.04.2018, 09:47. Просмотров 149. Ответов 6
Метки нет (Все метки)

Здравствуйте, дорогие участники форума

Вот и снова Ваш покорный слуга в эфире на форуме, со своими не всегда адекватными вопросами.

На этот раз возникла вот такая ситуация...
В мире существуют самые разные сайты. Большие и маленькие, на официальных хостерах и на домашних компах, известные и малоизвестные... Есть сайты, которые любят атаковать злоумышленники, и есть сайты даром никому особо не нужные...

Дано: имеется сайт. На домашнем компьютере. Экспериментальный. Пока налаживается, и планируется к обкатке из интернета. Доменное имя или будет какое-нибудь алфавитно-цифровое, или что-нибудь потом придумаю. Не суть важно. Такие программные решения, позволяющие получить "техническое имя", имеются. Хотя бы ngrok или бывший одно время популярным dyndns.

И, знаете, хочется уверенности.
Уверенности в том, что когда человек зайдёт на этот экспериментальный домашний сайт - то он зайдёт именно на этот сайт.
Что он получит html-текст именно с моей страницы. Именно мой, не подменённый никем текст.
Что никакой провайдер, никакой хакер ловящий людей на открытый WiFi, никакой "человек посередине", никто - не подменит содержимое, не заменит страницу на свою, код на свой код, скрипт на свой скрипт, поля моей формы на поля своей формы; и т.д.

Чтобы человек, заходящий на сайт, был уверен, что он зашёл именно на этот сайт, а не куда либо ещё. Точнее чтобы конкретно я был в этом уверен.

При заходе на крупные сайты с сертификатами браузеры предупредят,если имеет место подмена. Быстро и сразу. На то и существуют открытые и приватные ключи, подписи и сертификация.

А существуют ли решения для малых, самопальных сайтов, особенно хостящихся не у крупных серверов, а у себя в квартире?
Вот такой вот вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2018, 09:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Гарантия, что Вы заходите именно на свой сайт ) Подлинность сайта (Безопасность сайтов):

Как добавить RSS с сайта на свой сайт ) - PHP
как добавить RSS с сайта на свой сайт ?))) помогите плиз

Как взять div с определенным id с сайта и поместить на свой сайт? - PHP
Как взять div с определенным id с сайта и поместить на свой сайт? Допустим есть сайт site.com в его коде содержится такой div: <div...

Как взять div с определенным id с сайта и поместить на свой сайт? - JavaScript
Как взять div с определенным id с сайта и поместить на свой сайт? Допустим есть сайт site.com в его коде содержится такой div: <div...

Как вытащить видео-трансляцию со стороннего сайта и вставить ее на свой сайт? - Web-дизайн
Подскажите как это можно сделать? Например с сайта какого-нибудь телеканала.

Как именно в методах расширения указать, что переходить нужно именно главный контроллер? - C# MVC
В проекте есть несколько Areas. Маршрутизация нстроена так (для наглядности сократил) public class RouteConfig { ...

Как посадить свой домен на свой сайт, который на домашнем компе? - Домены
У меня статический ip. на картинке видно что сейчас в настройках, в качестве записи A указал свой статический ip, больше в 1-ой...

6
warma2d
44 / 44 / 18
Регистрация: 04.10.2012
Сообщений: 211
06.04.2018, 10:37 #2
Цитата Сообщение от aLEXperimentatr Посмотреть сообщение
а у себя в квартире
Как я понимаю, технически разницы никакой нет - хоть хостятся на луне, всё равно можно реализовать доступ к сайту через https (даже через бесплатный SSL сертификат, например, от Let's Encryp)
0
aLEXperimentatr
1 / 1 / 1
Регистрация: 07.01.2015
Сообщений: 20
08.04.2018, 19:48  [ТС] #3
Цитата Сообщение от warma2d Посмотреть сообщение
всё равно можно реализовать доступ к сайту через https (даже через бесплатный SSL сертификат, например, от Let's Encryp)
Можно-то оно можно. И платный можно, и бесплатный можно. Но давайте посмотрим, как именно можно:

Essential SSL
Защита для физических лиц
$21,95 в год $17,95 в год
Упс!
Ссылка: https://ssl.com.ua/essential-ssl

Хорошее начало! Продолжаем :
EssentialSSL Certificate 2 years
+ COMODO SSL TrustLogo 2 years
.....
Total Cost: $141.90
Ссылка: https://secure.instantssl.com/products/SSLIdASignup1a
Уж не знаю чего он там насчитал - но сумма внушительная. Я не Билл Гейтс пока что, как-никак...

EssentialSSL сертификаты
Discount -43%
2 203 руб. / год
От 1 259 руб. / год *
Ссылка: https://www.leaderssl.ru/suppliers/comodo/products/essentialssl
Веселуха продолжается, короче.
Дороговато для сайта "для посмотреть".

Но ведь есть и бесплатные решения? Да, есть. Упомянутый let's encrypt. Познакомимся с ним поближе?
Let’s Encrypt: бесплатные SSL‑сертификаты
.....

Сложная установка
Чтобы установить бесплатный SSL‑сертификат, нужно пользоваться командной строкой. Если раньше не делали этого, можете случайно сбить другие настройки. Устанавливайте сертификаты Let’s Encrypt, только если уверены в своих действиях.
Проблемы могут возникнуть, если вы используете виртуальный хостинг. Не каждый хостинг провайдер согласится помочь с установкой и вообще разрешит устанавливать сертификат Let’s Encrypt. Узнайте в службе поддержки, смогут ли вам помочь.

Низкая совместимость
У сертификатов Let’s Encrypt есть проблемы с совместимостью. Главная проблема — несовместимость с ранними версиями Windows XP. Это значит, что сертификат может работать некорректно у пользователей этой операционной системы.
Вторая проблема — мобильные платформы. Проблемы могут возникнуть со старыми версиями прошивок. Например, сертификат не будет работать на телефонах с прошивкой Android 2.3.6 и ниже.

Нет поддержки клиентов
У Let’s Encrypt нет поддержки в чате или по телефону. Вместо этого — техническая документация на сайте организации. Она написана на английском и требует знаний в системном администрировании. Ещё есть форум, где пользователи помогают друг другу с техническими трудностями. Он тоже на английском и может не охватывать всех тем.
Ссылка: https://ssl.com.ua/info/lets-encrypt/
Итак, его надо ставить через какую-то командную строку. Предполагаю, что через консоль CMD. Какими-то командами, которые я не знаю. Техподдержки нет, всё придётся делать на своё понимание происходящего. Плюс надо запасаться английскими словарями.

Это ещё не всё. Дальше:
Получаем бесплатный SSL сертификат от Let's Encrypt
...
Следующий шаг зависит от того, какой веб-сервер у вас установлен.
Apache
.....
Nginx
.....
Готово. Теперь вы можете зайти на сайт по адресу https://<имя сайта>
Ссылка: https://ifmo.su/ssl
Всё замечательно, конечно. Спасибо. Но позвольте - а если у меня и не Nginx, и не Апач? А если у меня сервер - винда, и из-под неё IIS? И из-под него я хочу SSL? Что тогда?

Я не могу отделаться от ощущения, что всё время будут именно такие или похожие инструкции. Или они будут не для того сервера, который нужен. Или надо будет переводить длинные мануалы. Или потом ключ не распознАется браузером. Ну или ещё что-нибудь да вылезет, под конец. Именно под конец - потому как проблемы обычно вылезают под конец.

Про сертификаты - решение понятное. Местами хлопотное, местами будет муторное, местами будет платное. Оно понятно...
А есть что-либо ещё?

Ну там делегировать свой "домен" какому-нибудь Гуглу или Яндексу, чтобы типа они гарантировали что страницы не подменены? Иди что-нибудь в этом же роде?

Самописный сертификат тоже, по сути, ни от чего не защищает. Его точно так же подменят, и посетитель не узнает - его браузер ругается на мой самописный сертификат или на "самописку" от вклинившегося "перехватчика".

Поэтому хочется узнать - кто что делал в этом роде, как, какими инструментами, получилось ли?
0
aLEXperimentatr
1 / 1 / 1
Регистрация: 07.01.2015
Сообщений: 20
10.04.2018, 22:16  [ТС] #4
Вы посмотрите - какую я интересную штуку нашёл?
Вопрос: Как определить, что на клиенте установлен тот самый скрипт, который передается с сервера, а не был подменен на какой-то другой?

Ответ: Есть integrity атрибут.

Если браузер встречает тег <link> или <script>, то перед тем, как его выполнить, браузер сверяет хеш файла с integrity атрибута, и если они не совпадают, то отказывается выполнять скрипт.
Взял отсюда:
ru точка stackoverflow точка com/questions/495782/%D0%9A%D0%B0%D0%BA-%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%BE%D1%82-%D0%BF%D0%BE%D0%B4%D0%BC%D0%B5%D0%BD%D1%8B

-------

Т.е. в принципе можно разместить свою "стартовую", скажем так, страницу, на каком-нибудь ЖЖ или https-блоге (который гарантирует что он - это он), и в неё встроить ссылку (или скрипт) на свой ресурс с вычисленным хешем.

Главное - чтобы там позволили включить integrity.
Не совсем то, что хотелось бы - но тоже вариант.
Правда тут ещё остаётся вопрос - как будет работать скрипт, вызванный из другой "доменной области" (т.е. который "пришёл" не с того домена, где он вставлен), ну да ладно, что-нибудь придумать наверняка можно.

А есть какие-нибудь варианты ещё?

-------

ПС: да, я так и не понял - отчего мне никак не удалось вставить ссылку на stack overflow. Это слово заменялось на звёздочки. Неужели форум в контрах с тем сайтом и вставка ссылок с него запрещены?
0
Jewbacabra
Эксперт PHP
2969 / 2556 / 951
Регистрация: 24.04.2014
Сообщений: 7,814
10.04.2018, 23:09 #5
Цитата Сообщение от aLEXperimentatr Посмотреть сообщение
Есть integrity атрибут.
Это при условии что клиент в курсе про этот integrity. https://caniuse.com/#feat=subresource-integrity
И если я перехватил трафик, то что мне помешает поменять этот самый аттрибут, или просто удалить его?
Этот аттрибут может быть полезен, когда на своем сайте будет размещен чужой скрипт или css, например, jQuery на cdn, чтобы содержимое не могли незаметно поменять сторонние люди. Ну и когда поддержка актуальными браузерами будет лучше

Не по теме:

Цитата Сообщение от aLEXperimentatr Посмотреть сообщение
ПС: да, я так и не понял - отчего мне никак не удалось вставить ссылку на stack overflow. Это слово заменялось на звёздочки. Неужели форум в контрах с тем сайтом и вставка ссылок с него запрещены?
Прямой конкурент

0
aLEXperimentatr
1 / 1 / 1
Регистрация: 07.01.2015
Сообщений: 20
11.04.2018, 00:09  [ТС] #6
Цитата Сообщение от Jewbacabra Посмотреть сообщение
И если я перехватил трафик, то что мне помешает поменять этот самый аттрибут, или просто удалить его?
А помешает сертификат от уважаемого ресурса. От Гугла, ЖЖ, или ещё от какого, сайта, к которому через integrity можно хорошо примазаться.

Те же сайты защищены своим SSL? Защищены. А я к их сертификату примазываюсь.
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Ну и когда поддержка актуальными браузерами будет лучше
Ну, тут всегда всю вину можно спихнуть на клиента. Дескать пользуйся правильными браузерами - и всё будет хорошо. Не моя вина же?

Некрасиво, но можно.
Человеку, зашедшему через "правильный браузер", подменить ничего не смогут.


Хотя абсолютно согласен, что защите следовало бы быть универсальнее...

Не по теме:

Прямой конкурент
Упс... А я и не знал, что тут так строго. Мне казалось что умным людям лучше как-то взаимодействовать, а не конфликтовать. Впрочем, буду принимать реальность такой, какова она есть. Спасибо что уведомили о такой фиче.

0
aLEXperimentatr
1 / 1 / 1
Регистрация: 07.01.2015
Сообщений: 20
13.04.2018, 00:13  [ТС] #7
Кстати, если уж на то пошлО - то зачем вообще защищать скрипт параметром integrity, если всё равно стартовая страница находится на хостинге с сертификатом и не может быть подменена?

Тогда и скрипт можно безо всяких integrity загружать оттуда же. И пусть этот же скрипт проверяет данные со стороннего ресурса, зашифровывает, расшифровывает, сверяет контрольные суммы, гарантирует что-то...

Вот простейший пример. Допустим, начальная страница на Гугле, скажем. Или ещё где. Рядом с ней скрипт. Страница и скрипт подлинные (с сервера Гугла же). Заходит человек. Вводит пароль. Скрипт зашифровывает по этому паролю данные и отправляет набор байт на мой_домашний_комп_http_сайт. Что-то типа http : //cbf123a7b8.ngrok или dyndns (или ещё что-то в этом роде). Гугл и провайдеры ничего просмотреть не могут - ибо они пароля не знают. Пароль знают юзер и домашний сервер. Домашний сервер расшифровывает запрос, составляет ответ, зашифровывает и посылает его обратно. JavaScript в браузере расшифровывает. Ну и так далее...

Если хотя бы один из участников диалога получает нерасшифровываемое сообщение - значит была атака и подмена.
Всё просто.


Подменить трафик между клиентом и домашним компом нельзя - не даст скрипт и шифр.
Подменить скрипт нельзя - не даст Гугл.


Тогда вопрос такой - есть ли хостеры, соцсети, Живые журналы, Мои Миры и т.д. с SSL, позволяющие забесплатно захостить одну-две страницы своего ресурса и встроить туда любые мои собственные скрипты?

Опять-таки не совсем то, что нужно, но как вариант сойдёт.
Хотя может действительно проще сертификат взять, нежели подобное городить?


ПС: поясню почему так сильно довожу уважаемую публику этими вопросами - планируется сделать что-то вроде удалённой работы и по этому каналу, возможно, возможно, будут передаваться в том числе и конфиденциальные данные, которые не должны быть больше нигде, кроме как в голове у работника и на сервере у "фирмы" (т.е. на домашнем компе)

Спасибо вам за терпение!
0
13.04.2018, 00:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2018, 00:13
Привет! Вот еще темы с ответами:

Как можно реализовать, если есть ответ от сайта, тогда вывести сообщение о том, что сайт активен - Delphi
Всем привет. Не подскажете какможно реализовать, если есть ответ от сайта, тогда вывести сообдщение о том, что сайт активен, если нет, то...

Что сделать, что бы поисковики видели сайт и как вставить счетчик на сайт - SEO
1. Добавила свой сайт http://www.vystyplenie.ru в каталог поисковика mail.ru, после этого он сгенерил код счетчика. Если я создавала свою...

Хочу апгрейдить старый комп. Не знаю, что купить в первую очередь и что именно - Апгрейд компьютера
Вот конфигурация компа. Комп нужен для игр. http://f18.ifotki.info/org/444f8be4d416d375c8cc9fd78876cd062eac02205907689.png...

Что-то жрет трафик, как вычислить что именно? - Сети
Всем доброго времени! Мне кажется что-то грузит 3г модем. Скорочть приличная, а простая статья с википедии грузится около 10 секунд. Может...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru