Перед публикацией я рассмотрел пару вопросов, которые выглядели многообещающими, но на мой вопрос не ответили:
Я управляю своим индивидуальным предпринимателем и подхожу к тому моменту, когда хочу разработать несколько приложений для автоматизации некоторых из более черных вещей, таких как цитирование проектов, отправка счетов и тому подобное. Некоторым из этих приложений потребуются соединения с базой данных MySQL, а также веб-формы для отправки данных, которые необходимо защитить.
Бизнес, которым я занимаюсь, - это то, чем я занимаюсь параллельно с моей постоянной работой на полную ставку в качестве инженера-программиста полного цикла. Доход от него настолько непостоянен, что не оправдывает ежемесячную плату за сервер. Прежде чем кто-либо это скажет, я понимаю, насколько дешевыми стали облачные серверы, но из-за характера этого непостоянного дохода было бы похоже, что деньги выбрасываются. Однако, в зависимости от ответа на мой вопрос, мне, возможно, придется просто грызть пулю.
У меня вопрос Какие есть «безопасные» способы запустить публичный сервер из вашего дома? Например, у моего хостинг-провайдера есть серверы имен, поэтому после сделать сервер общедоступным не могу ли я просто указать серверам имен моего хоста на IP-адрес моего сервера, чтобы он разрешился без записи хоста?
Я также ищу некоторое представление о плюсах и минусах безопасности запуска собственного сервера из дома, стихах с использованием облачной службы. Раньше я использовал облачный сервис VPS (Digital Ocean) и понимаю, как часто боты атакуют их, когда они включаются.
В самый идеальный По моему мнению, можно было бы каким-то образом предоставить доступ к моему домашнему общедоступному серверу только моим клиентам. Какая-то настройка вроде белого списка, поэтому все, что им нужно было сделать, это дать мне свой IP, и я мог добавить его в конфигурацию, которая позволила бы им видеть мой сервер - в идеале без записи хоста. Мне нравится идея VPN, но я не хочу требовать от клиентов такого уровня технической смекалки.
Может быть, я далеко от базы, но мне действительно нужно немного понять, могу ли я безопасно запустить сервер из дома. Некоторые из моих проблем с безопасностью не связаны:
Может мне лучше использовать Cloud Server, просто не уверен. Был бы мой идеальная ситуация упомянутое выше, даже будет адекватным решением?
Кроме того, любые полезные ссылки / инструкции / условия для Google были бы очень признательны, но не требуются, поскольку я мог бы просто задать другой вопрос.
Заранее спасибо!
Не делай этого. Запуск серверов дома - это дыра в земле, в которую вы кидаете деньги.
Плюс к запуску ваших сервисов в облачных сервисах заключается в том, что у вас есть высококвалифицированные инженеры по безопасности, которые следят за безопасностью на любом уровне, который они контролируют, и другой квалифицированный персонал, который следит за тем, чтобы ваш сервис работал, ваши данные оставались нетронутыми, а ваши ресурсы быстро подготовлен. Это даже не упоминание о доступности, которую вы не можете надеяться превзойти, запустив службу за пределами вашего дома, не инвестируя тысячи в инфраструктуру, которая по-прежнему будет во много раз дороже, чем использование, например, Quickbooks онлайн и Harvest для выставления счетов. (менее 20 долларов в месяц).
Если вы хотите самостоятельно размещать производственные службы, вам определенно нужно иметь хороший опыт в этой области. Было бы дешевле платить кому-то несколько долларов в месяц, чем тратить несколько месяцев или лет на самообразование.
Я хотел бы сказать, что я также попытался найти похожие вопросы и пришел к выводу, что ваш вопрос лучше всего сформулирован, демонстрируя правильные основные идеи / проблемы, но все же достаточно знаний, чтобы сделать это, если вы решите.
Я был и остаюсь за идею домашнего сервера, но это должно быть сделано, потому что вы хотите узнать ВСЕ о сети сверху вниз. Если вы просто хотите, чтобы он работал с минимальными трудозатратами, вы сэкономите деньги и время, заплатив за хостинг за вас.
Для начала я хотел бы сказать, что я управляю домашним сервером, наверное, 5 лет (время летит незаметно). Мой основной сайт https://www.freesoftwareservers.com/wiki. Я запускаю все на башне VMWare ESXi, которую я также передаю через свой графический процессор, чтобы использовать его в качестве основной рабочей станции. (Слишком много долларов, чтобы получить для меня мощный сервер и рабочую станцию)
У меня были попытки взлома, когда я размещал SSH на порту 22. Но в конце концов я просто закрыл SSH для себя от публики, так как это самая уязвимая поверхность сервера, атакованная ботами.
Я начну с рассмотрения вашей выделенной части вопроса, а затем перейду к нескольким вещам, которые я «узнал» по ходу дела (что касается хостинга домашнего сервера, я ТОННЫ узнал о Linux, но вы можете сделать это без хостинга домашнего сервера. ).
Какие есть «безопасные» способы запустить публичный сервер из вашего дома?
Во-первых, ваше представление о белом списке без VPN.
The most ideal situation in my mind, would be to have some way to give only my customers access to my home public server. Some kind of set up like a white list, so all they had to do was give me their IP, and I could add it to a config which would allow them to see my server -- ideally without a host entry. I like the idea of VPNs, but I don't want to require that level of tech-savvy from my customers.
Лично я считаю, что современные VPN не так уж редки, как вы думаете, и их очень легко настроить для конечного клиента. Моя 60-летняя мать использовала это для своей корпоративной сети. (В худшем случае вы можете использовать TeamViewer и настроить для них). С вашей точки зрения VPN позволяет максимально использовать возможности межсетевого экрана, просто перенаправьте порты VPN и все на шлюзе.
Я действительно хотел обратиться к термину «общественность». Все IP-адреса, подключенные к WAN (Интернету), являются «общедоступными». Я полагаю, вы имеете в виду скорее «транслируйте мой домашний IP-адрес», поскольку любой может пинговать freesoftwareservers.com и получить мой домашний IP-адрес. Если вы не размещаете общедоступные веб-сайты, ваше доменное имя должно быть только у ваших клиентов, и оно не будет отображаться в Google и т. Д., Поэтому его нельзя считать «общедоступным».
Если безопасность является вашей главной заботой, я бы пошел по этому пути и установил доменное имя с обновлением «Динамический DNS» для вашей домашней сети. Я сомневаюсь, что вы можете получить статический IP-адрес от своего провайдера для подписки домашнего провайдера. (Я не буду говорить о законности использования сервера дома, но скажу, что раньше я работал с крупным интернет-провайдером в США и никогда не жаловался). Как я настроил DNS для моего VPN, vpn.freesoftwareservers.com указывает на мой домашний шлюз. Затем у меня есть клиент «Dynamic DNS», который проверяет хост моего доменного имени каждые X минут и обновляет его в случае изменения. Обычно мой домашний IP-адрес никогда не меняется, если я не перезагружаю шлюз. Таким образом, вы можете настроить свои сертификаты VPN на использование этого DNS-имени и знать, что оно должно разрешаться.
Я начал возиться с серверами, когда получал степень в области компьютерных сетей и кибербезопасности, поэтому казалось логичным сделать это «трудным путем». Прелесть домашнего сервера в том, что вам нужно изучать КАЖДЫЙ ШАГ. Никто не делает этого за вас. Кроме того, вы, вероятно, захотите узнать о гипервизорах / виртуальных машинах, и на это уйдут годы обучения!
Когда я только начинал, у меня было 1 МБ загрузки, но в основном это было связано с тем, что у меня был доступ к моей домашней сети. Как только я получил 20MB Upload, я смог без проблем размещать умеренный трафик на простом txt-сайте, но это может быть трудно найти. Также, Я переезжал несколько раз с тех пор, как настроил свой сервер, что было неизбежно.
Мои самые большие падения были
Я хочу быть системным администратором, и я гораздо более осведомлен в некоторых вопросах, но не знаком с графическим интерфейсом основных поставщиков облачных услуг. Но как только вы поймете, что делает графический интерфейс, навигация по графическому интерфейсу станет намного проще, чем щелкнуть и протестировать.
- Понятно, что надо заканчивать, но эта тема мне дорога!
Короче говоря, я думаю, что с точки зрения безопасности вам будет хорошо с VPN, если вы являетесь SMB и можете сэкономить деньги, делая все самостоятельно. У вас также есть классное оборудование, с которым можно поиграть, но вам нужно очень плохо учиться. Для меня это была мгновенная любовь, вы либо начнете и не будете терпеливы к изучению / решению проблемы за проблемой, либо найдете это весело и сложно. Вы можете «занести IP-адреса в белый список», но тогда у ваших клиентов не будет IP-адресов DHCP, иначе я бы использовал пароли + VPN и перевыпускал их каждые X дней.
Запуск сервера у домашнего интернет-провайдера может вызывать проблемы с законом. Вы можете позвонить и записать разговор, в котором вы прямо спрашиваете, нормально ли это. Мой сайт некоммерческий, поэтому, хотя он общедоступен, на самом деле он не приносит прибыли.
Можете ли вы справиться с небольшим временем простоя, потому что это произойдет, если вы не сделаете дом + облако.
Если вы действительно хотите учиться + иметь лучшую / самую дешевую установку, у меня будет домашний сервер + облачное резервное копирование. Плата за облачные серверы может взиматься в зависимости от пропускной способности и использования. Так что, если они не используются, потому что ваш домашний сервер "включен", вы не будете платить "много" за облачные серверы. Это приведет вас к высокой доступности, которую очень весело изучать, но безумно сложно! Но я думаю, в этом нет необходимости, если вы также можете спланировать время простоя, это поможет клиентам.
Вот и все, если вы все же решите, я надеюсь, что вы взглянете на мой сайт, я думаю, что у него есть много ресурсов, которые могли бы использовать энтузиасты домашнего сервера, но знаю, что мой сайт не очень "учит". Его больше фрагментов кода с возможностью копирования и вставки, которые работают для меня.
Как сказал @ SmallLoanOf1M, не запускайте свой собственный сервер из дома, если вы не чувствуете себя достаточно квалифицированным, чтобы запустить сервер для кого-то другого. Запуск общедоступного сервера в Интернете - непростая задача, и ваш сервер (дома или нет) может в конечном итоге обслуживать вредоносное ПО, атаковать другие серверы или просто подвергаться вандализму.
Вы можете найти множество очень дешевых провайдеров. Просто найдите VPS (виртуальный частный сервер), и вы сможете найти пару менее чем за 10 долларов в месяц. Это, вероятно, меньше, чем вы заплатите за мощность сервера 24x7. И вам не нужно покупать сервер, покупать запасные диски, запасной источник питания ...
Даже если вы используете VPS, вы спрашивали, как обеспечить доступ к нему только вашим клиентам. Спрашивать их IP-адрес будет кошмаром. IP-адреса обычно недолговечны, поэтому им, вероятно, придется сообщить вам свой IP-адрес. каждый день они хотят получить к нему доступ. У вас есть новая постоянная (я имею в виду круглосуточная) работа: вставка IP-адресов в брандмауэр.
Что вы могли сделать, так это создать VPN и разрешить пользователям подключаться только через нее. OpenVPN легко настроить, но обычно требует, чтобы клиент установил и настроил свою сторону, а это не очень просто для обычного пользователя. PPPTP или L2TP проще для клиентов и достаточно безопасны, если только ваши клиенты не становятся целью опытных хакеров или политиков.
Есть пара сайтов для фрилансеров, на которых вы можете заплатить людям за установку сервера для вас. У пользователей там репутация, о которой нужно заботиться (как и у нас), и они могут взимать менее пары сотен долларов за установку для вас сервера. Если вам нужен безопасный сервер в кратчайшие сроки, это лучшая альтернатива: арендовать VPS и заплатить кому-нибудь, чтобы он настроил его для вас.
И вы, вероятно, не понимаете, но если ваш маршрутизатор / модем не настроен для блокировки запросов WAN, ваш IP-адрес уже общедоступен, а некоторые порты доступны для всех.