Как защитить ssh в CentOS / RHEL / Fedora

Необходимость обеспечения безопасности sshd

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

В системных журналах /var/log/secure можно увидеть записи, аналогичные приведенным ниже для многих распространенных имен пользователей (таких как «admin», «guest», «test» и «root»):

Oct 28 11:11:08 hostname sshd[13412]: Illegal user admin from 172.16.59.10

Oct 28 11:11:12 hostname sshd[13412]: Failed password for illegal user admin from 172.16.59.10 port 33762 ssh2

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

Атака брутфорса – это та, в которой пароль неоднократно угадывается, пока не будет найден правильный.

Как обезопасить демона SSHD?

Есть много способов сделать SSH более безопасным.

Здесь мы обсудим некоторые рекомендации.

Использование TCP Врапперов

Самый простой способ защитить демон SSH – это выборочно запретить доступ к нему с помощью функций из пакета tcp_wrappers-libs.

Этот пакет установлен по умолчанию.

tcpwrappers настраиваются через файлы /etc/hosts.allow и /etc/hosts.deny.

Чтобы полностью запретить доступ к демону SSH, добавьте следующий текст в /etc/hosts.deny:

# vi /etc/hosts.deny

sshd: ALL

Это полностью отключит доступ к демону SSH с любого клиента.

Если есть несколько хостов, которым нужно разрешить подключение, добавьте следующие строки в /etc/hosts.allow:

# vi /etc/hosts.allow

sshd: 192.168.0.1, trusted.one-domain.com, 192.168.23.0/24, *.trusted.net

Это позволит подключаться с IP-адреса 192.168.0.1, имени хоста trust.one-domain.com, сети 192.168.23.0/24 и домена * .trusted.net при запрете любых других подключений.

Помните, вам нужно запретить и разрешить хост / сети.

Использование iptables

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

Но что произойдет, если у вас есть служба SSHD, работающая через Интернет, или в неуправляемой (враждебной) сети, такой как site2site vpn с провайдером?

Вы можете получить больше контроля над доступом с iptables.

Также iptables может дать вам больше гибкости и надежности.

Вы можете перечислить свой набор правил с помощью команды «iptables -nL –line-numbers», чтобы увидеть, какие правила уже существуют, это правила по умолчанию, которые пришли с новой установкой CentOS / RHEL 6:

# iptables -nL --line-numbers

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination         

1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           

3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 

5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 



Chain FORWARD (policy ACCEPT)

num  target     prot opt source               destination         

1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 



Chain OUTPUT (policy ACCEPT)

num  target     prot opt source               destination

Затем вы можете добавить или удалить правила.

Следующие примеры в цепочке INPUT вставят правило в iptables.

Помните, что вам нужно поставить правило на определенную позицию, т.е. Строка 3, просто над правилами DROP по умолчанию, вы можете указать это следующим образом:

# iptables -I INPUT 3 -p TCP -i eth0 -s 192.168.1.39 --dport 22 -j ACCEPT

Выполнение следующей команды от имени root приведет к удалению всего доступа SSH к 192.168.1.22:

# iptables -I INPUT [line-number] -p tcp -i eth0 -s 192.168.1.22 --dport 22 -j DROP

Пожалуйста, обратитесь к man iptables для дополнительных опций и использования, или autohelp iptables –help для краткого резюме:

# man iptables

# autohelp iptables

Если вы хотите включить определенный хост, вы можете запустить следующую команду, чтобы разрешить доступ:

# iptables -I INPUT [line-number] -p tcp -i eth0 -s 192.168.1.39 --dport 22 -j ACCEPT

Кроме того, одним из лучших вариантов использования брандмауэра в случае службы SSH в небезопасной сети является применение контроля скорости передачи по незащищенным источникам; чтобы сделать это, вам просто нужно использовать:

# iptables -I INPUT [line-number] -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH 

# iptables -I INPUT [line-number] -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 12 --rttl --name SSH -j LOG --log-prefix 'SSH-HIT-RATE: '

# iptables -I INPUT [line-number] -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 12 --rttl --name SSH -j DROP

# iptables -I INPUT [line-number] -p tcp --dport 22 -m state --state NEW -j ACCEPT # on the default fresh-install ruleset this rule is already in place, you can ignore

Эти 3 правила устанавливают скорость прохождения 12 новых попыток подключения в минуту, вам необходимо настроить эти значения в соответствии с вашими потребностями.

Все журналы этого правила появятся в файле /var/log/messages, префикс «SSH-HIT-RATE» используется для облегчения поиска связанных записей.

Пожалуйста, обратите особое внимание, когда вы проверяете свои новые правила.

Если вы допустили некритическую ошибку, вы можете вернуться к предыдущей сохраненной конфигурации, используя «service iptables force-reload».

Когда конфигурация была завершена, вы можете сохранить правила брандмауэра с помощью «service iptables save».

Использование /etc/ssh/sshd_config

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

Вот некоторые из лучших практик конфигурации SSHD:

Наиболее рекомендуемое действие, особенно в качестве защиты от атак методом “брутфорса”, должно состоять в том, чтобы предотвратить вход root напрямую через SSH.

Для этого вам нужно изменить строку, которая гласит:

# vi /etc/ssh/sshd_config

#PermitRootLogin yes

следующему виду:

# vi /etc/ssh/sshd_config

PermitRootLogin no

Это изменение потребует, чтобы вы сконфигурировали sudo или использовали su для получения привилегий в качестве пользователя root в сеансе ssh пользователя без полномочий root.

Кроме того, вы можете настроить ssh-ключи для пользователя root и использовать опцию ниже, чтобы позволить пользователю root войти в систему только с ключами.

# vi /etc/ssh/sshd_config

PermitRootLogin without-password

Измените определенный порт, отличный от порта по умолчанию.

Можно изменить его на любое случайное число от 1025 до 65535, так как злоумышленники предположат, что порт 22 будет использоваться для протокола ssh.

Найдите эту строку в /etc/sshd/sshd_config:

#Port 22

Измените это на что-то вроде этого:

Port 1101

Номер порта 1101 просто является примером.

Теперь вам нужно получить доступ к этому серверу через порт 1101 при подключении по ssh:

$ ssh someuser@ssh-server:1101

Убедитесь, что сервер принимает только протокол SSH версии 2:

# Protocol 2,1     ### hash this entry and make below entry to allo only ssh v2.

Protocol 2

Измените время, которое пользователь может проводить с открытым приглашением для входа в систему (значение в секундах):

# Default value is 120 seconds.

# Adjust this value according your needs.

LoginGraceTime 30

Это сокращает некоторые DoS-атаки, которые можно выполнять, имитируя медленный вход в систему.

Сторонние приложения

Чтобы заблокировать доступ к хостам, пытающимся атаковать систему методом брута, можно использовать следующие дополнительные сервисы сторонних пакетов:

Они работают на разных уровнях, обеспечивая разный подход к конкретному событию.

 



2018-12-25T16:53:57
Закрытие уязвимостей

5 мифов о депрессии, о которых нужно забыть

 

По данным Всемирной организации здравоохранения от депрессии страдают около 300 миллионов человек во всем мире. Депрессия не щадит никого, поражая и детей, и людей трудоспособного возраста, и пожилых. Несмотря на то, что заболевание является очень распространенным, люди до сих пор находятся во власти заблуждений и нередко стигматизируют депрессию. Из-за этого пациенты часто не решаются обращаться за медицинской помощью, опасаясь осуждения или непонимания.

Вот лишь некоторые из распространенных мифов про депрессию, о которых нужно забыть как можно скорее. Читать

Включение и использование удалённого рабочего стола Windows 10

Протокол удаленного рабочего стола в Windows 10/8/7 предоставляет графический интерфейс пользователю, когда он подключает свой компьютер к другому компьютеру через сетевое соединение с помощью клиентского программного обеспечения подключения к удаленному рабочему столу . В то же время на другом компьютере должно быть запущено серверное программное обеспечение служб удаленных рабочих столов .

Подключения к удаленному рабочему столу Windows позволяют пользователям подключать любой ПК с Windows к другому через сеть. Это устройство для обмена данными нового века, которое помогает вам просматривать и получать доступ к другому компьютеру, не присутствуя там физически. Рабочий стол и папки и файлы хост-компьютера будут видны подключенному компьютеру. Эта функция облегчает жизнь системному администратору, командам технической поддержки и конечным пользователям, пытающимся работать из дома или получать доступ к персональному домашнему устройству с работы.

В этом посте мы увидим, что вы можете включить или отключить подключение к удаленному рабочему столу через панель управления или настройки Windows, а также как использовать удаленный рабочий стол для подключения к ПК с Windows 10.

Как включить Remote Desktop?

1. Через панель управления

Откройте окно «Свойства системы» через панель управления. Или же откройте окно командной строки, введите SystemPropertiesRemote.exe и нажмите Enter, чтобы открыть вкладку «Удаленное» в окне «Свойства системы».

Под Remote Desktop вы увидите три варианта:

  • Не разрешать удаленные подключения к этому компьютеру
  • Разрешить удаленное подключение к этому компьютеру.

Кроме того, вы также увидите следующую опцию:

  • Разрешить подключения только с компьютеров, на которых запущен удаленный рабочий стол с проверкой подлинности на уровне сети (рекомендуется).

1] Параметр «Не разрешать удаленные подключения к этому компьютеру»

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

2] Параметр «Разрешить удаленные подключения к этому компьютеру»

Эта опция, как показано в Windows 10 и Windows 8.1, позволяет пользователям подключаться к вашему ПК независимо от того, какая версия их ПК работает. Эта опция также позволяет стороннему удаленному рабочему столу, например, устройству Linux, подключаться к вашему устройству. В Windows 7 это называется «Разрешить подключения с компьютеров с любой версией удаленного рабочего стола». Называние в Windows 7 объясняется лучше.

3] Параметр «Разрешить подключения только с компьютеров, на которых запущен удаленный рабочий стол с аутентификацией на уровне сети»

Это то, что вам нужно использовать, если на клиентском компьютере есть клиент Remote Desktop Connection. Remote Desktop Client 6.0 сделал это более эксклюзивным.

Выберите нужный вариант и нажмите «Применить».

Чтобы включить подключение к удаленному рабочему столу, выберите Разрешить удаленное подключение к этому компьютеру. Кроме того, рекомендуется разрешать подключения только с компьютеров, на которых работает удаленный рабочий стол только с проверкой подлинности на уровне сети.

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

Если вы не хотите делиться своими учетными данными администратора с другими, нажмите «Выбрать пользователей», чтобы добавить пользователей.

Как только это будет сделано, вы или пользователи теперь сможете подключаться к вашему компьютеру с помощью подключения к удаленному рабочему столу.

2. Через настройки Windows

Эта процедура для людей, у которых есть Windows 10 v1706 и позже.

Перейдите в меню «Пуск» и коснитесь зубчатого колеса, чтобы запустить настройки. Вы также можете нажать клавиши «Windows + I», чтобы открыть настройки Windows. Затем перейдите к «Система» из «Настройки» и найдите опцию « Удаленный рабочий стол » слева в « Система» . Нажмите на нее и подождите, пока загрузится страница «Удаленный рабочий стол».

Подсказка появится. Нажмите Да.

Как только вы это сделаете, вы увидите дополнительные настройки:

Вы можете настроить параметры для следующих параметров:

  1. Держите мой компьютер активным для подключения, когда он подключен
  2. Сделайте мой компьютер доступным для обнаружения в частных сетях, чтобы включить автоматическое подключение с удаленного устройства

Если вам нужны дополнительные параметры, нажмите на Дополнительные параметры.

Здесь вы увидите некоторые дополнительные настройки, которые вы можете настроить.

Примечание. Начиная с версии клиента удаленного рабочего стола 6.0, подключения к удаленному рабочему столу работают только с проверкой подлинности на уровне сети. Если вы не хотите предоставлять учетные данные администратора, перейдите в «Параметры удаленного рабочего стола» и нажмите «Выбрать пользователей, которые могут получить удаленный доступ к этому ПК» и настройте их для себя. Хотя есть варианты, чтобы избавиться от этого ограничения.

Не забудьте нажать кнопку «ОК» в конце всего, чтобы включить подключение к удаленному рабочему столу.



2018-12-25T15:56:53
Вопросы читателей

Pakiti: предоставляет механизм мониторинга для проверки состояния исправлений систем Linux

Pakiti предоставляет механизм мониторинга для проверки состояния исправлений систем Linux.

Он использует модель клиент / сервер: клиенты работают на отслеживаемых компьютерах и отправляют отчеты на сервер Pakiti для оценки.

Отчет содержит список пакетов, установленных в клиентской системе, который подвергается анализу, выполненному сервером.

Сервер Pakiti сравнивает версии с другими версиями, полученными от различных поставщиков.

Обнаруженные уязвимости, идентифицированные с помощью идентификаторов CVE, сообщаются как результат вместе с уязвимыми пакетами, которые необходимо обновить.

Он имеет веб-интерфейс, который предоставляет список зарегистрированных систем.

Собранная информация помогает системным администраторам поддерживать правильное управление исправлениями и быстро определять машину, уязвимую к конкретным уязвимостям.

Обрабатываемая информация также доступна через программные интерфейсы.

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

Установка и использование



2018-12-25T09:22:25
Закрытие уязвимостей

Похмельная тревожность: что нужно знать об этом прямо сейчас

Чувство стыда после слишком веселой вечеринки? Мы все там были. Но если раньше чувства страха, стыда, неловкости и легкой паники считались просто симптомами похмельного синдрома, то теперь у них есть отдельное название — hangxiety (hangover + anxiety). Или, если адаптировать, похмельная тревожность. Читать

Как узнать и изменить MAC- и IP-адрес маршрутизатора

Современные маршрутизаторы шагнули далеко вперёд в сравнении со своими собратьями двух-трёхлетней давности. Большинство настроек подключения к интернету производятся автоматически или при помощи мобильных приложений на смартфонах. Но и после приобретения устройства пользователь может столкнуться с необходимостью его ручной настройки. Два краеугольных камня самостоятельного управления роутером — физический и сетевой адреса. В IT-среде их называют MAC- и IP-адресом.

Читать