Добрый день.
Имею настроенный доступ по SSH на маршрутизаторы 1811 из локальной сети с определённых ip:
ip access-list standard MANAGED
permit 10.10.20....
permit 10.10.20....
line vty 0 4
access-class MANAGED in
password 7 что-то там...
login local
transport input ssh
Из глобально во внутреннюю сеть смотрят только пара протоколов через NAT. Вопрос: как настроить доступ по SSH из интернета к самой железке, желательно по нестандартному порту? Второй вопрос: возможна ли авторизация по ключу? Можно ли его экспортировать, как в той же убунте, например?
Заранее спасибо.
По поводу ключей: надо скопировать содержимое id_rsa.pub
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#ip ssh pubkey-chain
R2(conf-ssh-pubkey)#username myname
R2(conf-ssh-pubkey-user)#key-string
R2(conf-ssh-pubkey-data)#$AAQEA6jYlf9MBskhkWov+ZOUDKun0ExQIRj1zfWA/YciO02VS
R2(conf-ssh-pubkey-data)#$XsxM7SqNkRSQOR7y7HBMoxTHV7o+R/uS6A8/mF0A3P/ScRjct
R2(conf-ssh-pubkey-data)#$JrNGACGaFy1njD9PrrvrU4o4hx6XDr6xVXF4sP4OCSXIn+Cp8
R2(conf-ssh-pubkey-data)#$bCnZLmv908AeDb1Ac4nPdsn1OhCPIg6fxZjB7DvAMB8Dbr+7Y
R2(conf-ssh-pubkey-data)#$apEbGE94luIqnBc61HsMd6JCWbQ== myname@mydomain.ru
R2(conf-ssh-pubkey-data)#exit
R2(conf-ssh-pubkey-user)#^Z
Дальше надо чтобы роутер сконвертировал ключ в хэш:
R2#show run | section ssh
ip ssh rsa keypair-name SSH
ip ssh version 2
ip ssh pubkey-chain
username myname
key-hash ssh-rsa C20B739F2645D6850C591C6A11780CB5 myname@mydomain.ru
Вообще, было бы неплохо на этом сайте увидеть что-то вроде цикла статей с best practice по базовой безопасности и SSH.
Публичный адрес есть, но, видимо, я что-то делал не так, ибо при конекте на глобальный адрес меня не пускало, хотя этот адрес был явно указан в ACL MANAGED. Пробовал и второй вариант, тоже не завелось.
Пока использую костыль в виде проброса портов на прокси под дебианом, а уже он разрешён в нужном ACL для подключения к маршрутизатору. Знаю, извращение, но ума пока не дал.
Конфиг доступен по ссылке - https://yadi.sk/i/Tq25hkMJobKvY
Мне вот тут подумалось, а если пробросить порт на loopback, он же вроде всегда включен, а уже его добавить в ACL, разрешающий доступ к железке. Или это колхоз?
ip nat inside source static tcp 10.10.20.9 3389 interface Dialer1 5555
ip nat inside source static tcp 192.168.0.20 8080 interface Dialer1 8080
ip nat inside source static tcp 10.10.20.2 3389 interface Dialer1 3389
ip nat inside source static tcp 10.10.20.2 21 interface Dialer1 21
Да, исключительно без проблем. Беда в том, что буквально только что создал такое правило: ip nat inside source static tcp 1.1.1.1 22 interface Dialer1 2222.
1.1.1.1 здесь loopback. И ожидаемо ничего не заработало. Циска не пускает на себя со своих же интерфейсов. Если пытаться войти с любого другого, разрешённого в MANAGED, находящегося в локальной сети, то без проблем. Я уже всю голову сломал.
Хм, да, ты прав. Проблема именно в access-class MANAGED. Без него пускает всех и ото всюду. Другой вопрос тогда - как защититься от любопытствующих без использования этого ACLа?
А если сказать этим vty 0 4, что теперь к нему применяется access-class MANAGED out, а уже в него добавить все интерфейсы самой циски, чтобы она могла с них осуществлять подключения? В этом есть смысл?
Хм, теперь всё усложнилось немного больше. Адрес, с которого я подключаюсь, - белый айпи моего маршрутизатора. Вполне логично его там видеть, но! Задача состоит в том, что статические адреса у меня только в двух местах, из которых доступ организовать оказалось совсем не проблема, а в остальном - динамические. Встаёт вопрос, как организовать доступ так, что у меня отрабатывал access-class на vti 0 4, и чтобы я мог из вне иметь доступ. Фокус с пробросом портов на loopback не помог. :-\
Может, поднять на маршрутизаторе саб в совершенно отстранённой подсети, включить его в acl MANAGED и уже на него пробрасывать порт? Умеет ли циска натить на саму себя?
Чтобы первоначальная аутентификация была бы не по IP адресу, а по паролю или сертификату.
Есть на сайте внятная статья по настройке VPN?
адреса динамические настолько, что отследить их практически невозможно - используются мобильные операторы, а там многоуровневый нат. Решил, что буду использовать прокси сервер в качестве гейта для доступа к маршрутизатору. Это оправдано тем, что последний включен постоянно и к нему доступ крайне ограниченный.
Кстати, GRE вполне себе решение, особенно если не нужно ничего шифровать. Настраивается быстро, легко. Только вопрос защиты передаваемых данных меня беспокоит.