Как закрыть порт 22

Правила раздела Windows

1. Указывайте версию Вашей ОС.2. Запрещается размещать запросы и ссылки на кряки, серийники и т.п., а также вопросы нарушения лицензии ПО и его взлома.3. Не разрешается давать советы из разряда «Поставь Linux».4. Переустановка ОС — крайнее и безотказное лекарство, которое знают все. В таких советах никто не нуждается.5. При публикации скриптов пользоваться тегами code. Тип подсветки кода выбирать строго в соответствии с языком публикуемого кода.6. Прежде чем задать вопрос, обязательно загляните в и следуйте написанным рекомендациям для устранения проблемы. И если не помогло, а поиск по разделу не дал результатов — только тогда задавайте вопрос на форуме.7. Вопросы, связанные с проблемами ПО, задавайте в разделе Программное обеспечение

как закрыть порт 22?

0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

Если в Linux требуется ограничить доступ к определенному порту, например к порту ssh (22 порт) при этом оставив доступ к этому порту с одного или нескольких ip адресов с этим помогут правила iptables.

Первые два правила iptables добавляют в цепочку INPUT разрешение на подключение к порту 22 с указанных ip адресов, третье правило iptables закрывает доступ к порту 22 для всех остальных ip адресов.

Для просмотра всех правил добавленных в iptables воспользуйтесь командой:

iptables -L -n —line-numbers

В итоге получим ответ по всем цепочкам с правилами:

Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp — 134.249.114.157 0.0.0.0/0 tcp dpt:22
2 ACCEPT tcp — 185.220.3.222 0.0.0.0/0 tcp dpt:22
3 DROP tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy ACCEPT)
num target prot opt source destination

Читайте также:  Ftp thunderbird

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

Если нужно удалить определенное правило iptables, например второе правило и предоставить доступ к VPS серверу с ip адреса 185.220.3.222 выполните команду:

iptables -D INPUT 2

После чего можете повторно проверить список всех правил командой iptables -L -n —line-numbers

Для очистки всех цепочек iptables от всех правил выполните команду:

С помощью iptables можно закрыть полностью или ограничить доступ, например к какому-либо TCP/UDP порту на вашем сервере, можно закрыть доступ к вашему серверу с какого-либо адреса или наоборот, разрешить доступ к какому-либо порту/протоколу только с определённого ip.
Вариантов очень много.

Итак создаёт простой фильтр для ограничения доступа к ssh (Допустим у вас ssh слушается на стандартном порту 22):
# сбрасываем все настройки iptables:
sudo iptables -F
# открываем доступ для уже установленных соединений (или для пакетов приходящих в ответ на запросы с вашего сервера).
# В данном примере правило не нужно, но лучше его иметь всегда, чтобы не потерять доступ к серверу.
sudo iptables -A INPUT -m conntrack —ctstate RELATED,ESTABLISHED -j ACCEPT
# Открываем доступ к серверу с адреса 192.168.56.2 к TCP порту 22:
# -j ACCEPT – разрешить доступ.
sudo iptables -A INPUT -s 192.168.56.2/32 -p tcp —dport 22 -j ACCEPT
# Открываем доступ с определённого диапазона адресов. Например, с диапазона адресов вашего провайдера домашнего Интернета:
sudo iptables -A INPUT -s 172.26.0.0/16 -p tcp —dport 22 -j ACCEPT
# Закрываем доступ к порту ssh/22 с любых других адресов:
sudo iptables -A INPUT -p tcp —dport 22 -j DROP

Если у вас есть виртуальный сервер, то доступ к нему в случае какой-либо проблемы вы сможете получить через консоль.
Если доступа к консоли нет, то сервер можно просто перезагрузить в личном кабинете(обычно такая возможность есть). После перезагрузки iptables обнулятся.

Читайте также:  Резервное копирование и восстановление сайта на 1С-Битрикс

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 256 packets, 24466 bytes)
num pkts bytes target prot opt in out source destination

Шаг первыйИзменяем номер порта ssh. Самое простое и очевидное, что можно сделать. Для этого открываем в текстовом редакторе (например, в nano) файл /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

# What ports, IPs and protocols we listen forPort 4117

sudo service ssh restart

Шаг второйОтключаем учетную запись суперадминистратора (root). Сразу оговорюсь, что в Ubuntu учетная запись root по умолчанию отключена. Однако многие хостинг-провайдеры, у которых арендуются выделенные сервера, включают учетную запись root в операционных системах Ubuntu. Если вы используете выделенный сервер, то учетную запись root можно и нужно отключить. С точки зрения защиты ssh это усложнит перебор паролей — ведь кроме пароля теперь нужно будет знать еще и имя пользователя. Отключение учетной записи root в Ubuntu происходит при выполнении команды удаления пароля суперадминистратора:

sudo passwd -l root

Шаг третийНастраиваем вход в систему по ключу и отключаем вход по паролю. Намного безопаснее использовать не пароли, а ключи RSA. Сначала нужно на клиентском компьютере, с которого вы будете заходить по ssh на удаленный сервер, сгенерировать закрытый и публичный ключи.

# Change to no to disable tunnelled clear text passwordsPasswordAuthentication no

sudo aptitude install denyhosts

PURGE_DENY = 3h

sudo service denyhosts restart

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

Читайте также:  Окружение виртуального хостинга - Специальные темы - Полное руководство по Yii 2.0 на русском

Ее суть заключается в том, что на сервере запускается специальная служба knockd, которая «слушает» подключения по всем портам, и при получении некоей ожидаемой последовательности подключений выполняет заранее заданную администратором команду. Такая технология дает дополнительную возможность по удаленному управлению сервером. Остается только закрыть порт ssh и задать службе knockd такую команду, которая заставит файерволл открыть порт ssh при получении определенной последовательности подключения к портам сервера. Далее я опишу как максимально просто и быстро сделать это в Ubuntu.

Шаг пятыйНа удаленном сервере все ниже перечисленные действия следует производить с особой осторожностью, так как есть риск потерять связь с сервером в случае ошибки. Сначала нужно установить пакет knockd. Вместе с ним также установится утилита knock, с помощью которой можно будет «простукивать» порты на удаленном сервере.

sudo aptitude install knockd

sudo ufw allow 22sudo ufw enable

# control if we start knockd at init or not# 1 = start# anything else = don’t start## PLEASE EDIT /etc/knockd.conf BEFORE ENABLINGSTART_KNOCKD=1

sudo service knockd restart

sudo aptitude install knockdknock 4561:tcp 7127:udp 5934:tcp 3901:udp

sudo ufw status

sudo ufw delete allow 22

Оцените статью
Хостинги