Pull to refresh

Comments 22

В интернет выставлять RDP вообще не лучшее решение, лучше организовать инфраструктуру так, чтобы пользователи подключались к внутренней сети через VPN и дальше уже к нужным ресурсам

Это если делать всё красиво. Но, к сожалению, пользователь в основной своей массе туповат и не сможет настроить подключение по VPN. Потому временами приходится выставлять rdp наружу.

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

Минимальная настройка VPN для L2TP или IKEv2 в Windows 8 и выше — одна строчка PowerShell, которую можно выложить на корпоративной wiki, отправить пользователю в мессенджере или по почте, ввести самому в сеансе удалённой поддержки…
После этого пользователю остаётся сделать три клика мыши и ввести свои корпоративные логин/пароль.
Не все такие уж «корпоративные».
Для l2tp иногда приходится править реестр.
Куча мест, где я настраивал rdp-сервера, не предполагают дальнейшей поддержки пользователей. То есть поломки чиню, если требуется, но вот каждому помогать настраивать подключение не собираюсь.

Чем больше накрутишь безопасности, тем менее удобно всем этим пользоваться.
И тем больше пользователи будут пытаться её обойти, делая всякие дыры в заборе.

Потому необходимо соблюдать баланс. Одно — когда вы большая контора с соответствующими оборотами, кучей сотрудников и уязвимых мест. Тут на вас будет и промышленный шпионаж наезжать, и власти, и вообще кто попало в надежде поживиться.
И другое — когда вы небольшой магазинчик с сервером на три-пять юзеров. Тут ваши враги — только боты да сами юзеры. От ботов — всё вышеописанное помогает, от юзеров — запреты на запуск программ (а в идеале — вообще удалённо отдавать одну только 1С, без доступа к рабочему столу).

Соглашусь про баланс полностью.

Однако вместе с балансом нужно учитывать и дальнейший возможный рост. Не, ну если контора не имеет планов роста - вопросов нет, но обычно планы есть. И тут проблема, что эти костыли (первоначальные решения) потом тянутся при росте этой конторы с девизом "пока не время переходить", а потом переходит в "уже поздно что-то менять, 100 чел на старой схеме, дорого и долго процессы перестраивать". И начинается вся эта поддержка легаси схем с кровавыми слезами и фразой "лучше бы сразу сделали норм".

Так надо учитывать размеры конторы. Если там работает три человека и планируется рост до пяти через два года — нахрена им решение, которое до 1000 человек масштабируется?

Ну перегибать на 1К не стоит, конечно, но 30-100 ориентироваться уже нужно. Как раз примерно такой же аргумент был в конторе бывшей, где и выстрелили себе в ногу таким же образом. Потом тут удаденщик, там удаленщик, и вот нас уже 15 накопилось, не успел и глазом моргнуть, вышел из отпуска, уже и и пол сотни. Хотя в планах тоже было всего лишь 8 на конец года

Или можно вспомнить старый-добрый cmak:) но я бы конечно рекомендовал ssl vpn (вроде sstp, anyconnect, openvpn в конце концов) - минимальны проблемы с прохождением трафика у разных провайдеров и домашних роутеров

sstp я чаще всего зухелевский использую, когда пров даёт приватный IP, а на реальный заказчик раскошеливаться не хочет. Проще его тогда убедить купить какой-нибудь недорогой кинетик и через тамошнее облако настроить sstp vpn.

Доходит до того, что сидя с ноутом в офисе они по привычке всё равно заходят на сервер терминалов через vpn.

Можете начать с "дефолтного", каждый пользователь устанавливает https://openvpn.net/client-connect-vpn-for-windows/ путём скачать - нажать "далее" - "далее" - "далее" - "готово". Затем открывает свою почту и прямо из письма перетягивает иконку единственного, вложенного .ovpn файла в окошко с программой, где всего одна кнопка Вкл\Выкл, всё, никаких настроек со стороны пользователя, доверие к приложению OpenVPN Inc. значительно больше, чем к .exe с гитхаба, секьюрность по взрослому, порт сервера защищён "tls-auth", каждый пользователь "уникален", при необходимости можно управлять маршрутизацией у самого клиента "push route". "Чего ж тебе еще надо, собака? К\ф Иван Васильевич меняет профессию"

каждый пользователь устанавливает

Самостоятельно пользователь способен установить только вируса. :) Это раз.
Админить этот openvpn кто будет? Это два. Создать пользователя на сервере терминалов обычно может и тот мальчик, который ходит 1С обслуживать. А вот добавить пользователя в openvpn?

Я не говорю, что vpn надо избегать — наоборот, это самое правильное решение. Выдать пользователю служебный ноутбук, отобрать все права, настроить трёхфакторную аутентификацию. Это всё правильно и красиво. И я тоже пытаюсь такой вариант сделать. Но это я могу сделать только у «своих» пользователей, которые у меня на поддержке. А вот одноразовым нужно максимально простое и дубовое решение.

Я использую VeeamPN - там пользователи просто создаются и просто отключаются. Программа бесплатна.

Интересно, но для "просто и дубово" не катит. Это к ней надо виртуалку запускать, дополнительные инструкции писать...

Я разворачиваю из .ova шаблона и прописываю в настройках маршруты и DNS сервера. Все. За 20 минут можно настроить.

Я разворачиваю из .ova шаблона

Разворачиваете где? На сервере виртуальных машин наверняка.
Для этого его надо иметь. Уметь настраивать. И т.п.

На гипервизоре esxi. Да там все довольно просто по сравнению с Kubernetes, который я сейчас изучаю.

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

Есть IDDS от Cyberarms. Старенькая, но зато работает под 2008 без лишних танцев с бубнами.

Аналогично rdp defender. Только что код закрыт.. в отличие от решния ТС один ip забаненый - одно правило в фаерволе

Использую ssh, проброс порта. В частности набор: Bitvise SSH Server + PuTTY
Bitvise SSH Server для некоммерческого использования - бесплатен. Брандмауэр - маршрутизатор.

Украдено подсмотрено здесь (10-летней давности, но у меня работает):

#Checks for IP addresses that used incorrect password more than 10 times
#within 24 hours and blocks them using a firewall rule 'fail2ban'

#Check only last 24 hours
$DT = [DateTime]::Now.AddHours(-24)

#Select Ip addresses that has audit failure
$l = Get-EventLog -LogName 'Security' -InstanceId 4625 -After $DT | Select-Object @{n='IpAddress';e={$_.ReplacementStrings[-2]} }

#Get ip adresses, that have more than 10 wrong logins
$g = $l | group-object -property IpAddress | where {$_.Count -gt 10} | Select -property Name

#Get firewall object
$fw = New-Object -ComObject hnetcfg.fwpolicy2

#Get firewall rule named 'BlockAttackers' (must be created manually)
$ar = $fw.rules | where {$_.name -eq 'fail2ban'}

#Split the existing IPs into an array so we can search it for existing IPs
$arRemote = $ar.RemoteAddresses -split(',')

#Only collect IPs that aren't already in the firewall rule
$w = $g | where {$_.Name.Length -gt 1 -and !($arRemote -contains $_.Name + '/255.255.255.255') }

#Add the new IPs to firewall rule
$w| %{
  if ($ar.RemoteAddresses -eq '*') {
    $ar.remoteaddresses = $_.Name
  }else{
    $ar.remoteaddresses += ',' + $_.Name
  }
}

#Write to logfile
if ($w.length -gt 1) {
  $w| %{(Get-Date).ToString() + ' ' + $_.Name >> '.\blocked.txt'}
}

Раньше использовал скрипт с пробросом порта через ssh . В итоге юзер подключался типа на localhost :) . Неудобно админить ключи юзеров оказалось и не могли с андроидов и ай-хрени подключаться.

Позже - просто открытие порта по icmp-кнокинг. Подключайся с чего хочешь. Но индивидуально юзеров админить нереально и проблемы с подключениями из плохого интернета.

В итоге нарисовал сайт на django с авторизацией через домен. Пользователю показаны кнопочки в соответствии с его группами в AD . По нажатию внешний ip временно добавляется в адрес-лист, генерится рдп-ярлык и скачивается пользователем. Если кнопка не рдп-сервера, а компа юзера, предварительно WoL на комп. - По моему мнению, очень неплохой компромисс получился между удобством и защитой.

Sign up to leave a comment.

Articles