Как отключить публичный ssh? [закрыто]

Я бы хотел отключить публичный доступ к ssh. Как мне по-прежнему получить доступ к серверу, но заблокировать порт 22? Нужно ли мне создавать еще один экземпляр только для openvpn (это нормально)? Есть ли какой-нибудь учебник, где можно просто "спрятать" ssh за vpn?

1
задан 31 August 2017 в 17:05
6 ответов

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

Port 12345

в / etc / ssh / sshd_config и перезагрузка конфигурации sshd, например

/etc/init.d/ssh reload

У вас может быть более одного активного порта, просто с помощью более чем одной такой строки порта в файле конфигурации.

TomTomTom

3
ответ дан 3 December 2019 в 17:03

Если ваш сервер имеет vpn-соединение, возможно, вы можете установить для своего ssh-сервера ListenAddress локальную конечную точку vpn вместо значения по умолчанию для всех локальных адресов.

1
ответ дан 3 December 2019 в 17:03

У меня есть сервер Debian 8 с общедоступным IP-адресом, а также блокировка и открытый доступ, когда я хочу использовать knockd :

apt-get install -y knockd

в файле конфигурации /etc/knockd.conf :

[options]
    UseSyslog

[openSSH]
    sequence    = 2009,8019,9099
    seq_timeout = 20
    command     = /sbin/iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
    tcpflags    = syn

[closeSSH]
    sequence    = 2000,1449,6712
    seq_timeout = 20
    command     = /sbin/iptables -D INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
    tcpflags    = syn

Теперь вам нужно перезапустить службу с помощью /etc/init.d/knockd restart

Чтобы открыть и закрыть порт ssh, у меня есть один скрипт на моем компьютере:

Открыть

#!/bin/bash

PATH=$PATH:/usr/local/bin

for i in 2009 8019 9099
do
  nmap -Pn -p ${i} --max-retries 0 myremoteserverip
done

Закрыть

#!/bin/bash

PATH=$PATH:/usr/local/bin

for i in 2000 1449 6712
do
  nmap -Pn -p ${i} --max-retries 0 myremoteserverip
done

Теперь последний шаг - заблокировать весь входящий трафик с помощью iptables -P INPUT DROP

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

1
ответ дан 3 December 2019 в 17:03

У вас есть статический IP-адрес, с которого вы подключаетесь? Может просто разрешить SSH от этого. В противном случае также можно использовать VPN. Я сам запрещаю аутентификацию по паролю. Риск того, что кто-то получит мой 4096-битный закрытый ключ RSA, минимален.

0
ответ дан 3 December 2019 в 17:03

Не уверен, что ты хочешь делать.

  1. если вам просто нужно отключить ssh и подключиться к серверу, просто остановите sshd и используйте telnet или что-то еще.

  2. в целях безопасности, ssh-связь с vpn-оболочкой, что означает, что ssh не работает общедоступный, если VPN не небезопасен.

0
ответ дан 3 December 2019 в 17:03

Чтобы изменить порт SSH, вы можете изменить директиву порта в /etc/init.d/sshd_config. Измените значение по умолчанию 22 на что-нибудь еще и перезапустите демон sshd.

Если на вашем сервере настроена служба VPN, вы можете заставить SSH прослушивать только интерфейс VPN.

Отредактируйте / etc / ssh / sshd_config и добавьте эту директиву (при условии, что IP-адрес VPN для сервера 102.168.10.1):

ListenAddress 192.168.10.1

Перезапустить ssh ( перезапуск службы sshd или перезапуск службы ssh , в зависимости от вашего дистрибутива), а ssh будет доступен только изнутри VPN.

0
ответ дан 3 December 2019 в 17:03

Теги

Похожие вопросы