Порт SSH — как изменить и перенаправить

загрузка...

Многие, кто имел дело с SSH знают, что нельзя оставлять настройки протокола, которые прописаны там по умолчанию. Их необходимо заменять на другие более безопасные конфигурации, которые оставят меньше лазеек для взломщиков. Об этом написано уже множество статей и инструкций. И об этом часто ведутся споры в Интернете: стоит ли оставлять настройки по умолчанию или все же изменить их? К примеру, нужно ли менять порт, указанный по умолчанию, на любой другой? Именно об актуальности такой замены и пойдет речь в данной статье.

Какие настройки SSH по умолчанию стоит заменить

К сожалению, интернет-среда буквально пропитана мифами и легендами. После появления очередной «утки» все программисты реагируют, а со временем люди уже забывают, что это всего лишь миф и продолжают делать все по предписанным правилами, которые, возможно, и не правила вовсе. И как же разобраться в этой пучине надуманных законов и ложных советов? Лучший помощник в этом вопросе — это практика и мудрость опытных программистов.

Как правило, большинство настроек по умолчанию в файле конфигураций протокола SSH необходимо заменить.

К примеру, вам стоит сразу же отредактировать данные по root-пользователю. Никак нельзя его подпускать к серверу SSH — это чревато необратимыми последствиями. Мало того, что хакер может проникнуть к вам на компьютер через аккаунт суперадминистратора, так и вы сами способны нанести вред серверу SSH, ведь у root неограниченные права. Никак нельзя допускать кому-либо выполнять команды sudo удаленно, а по умолчанию суперадмину дозволено входить на сервер SSH. Так что начните с того, что запретите ему доступ.

Другая ненадуманная настройка, которая стоит по умолчанию, и ее нужно отредактировать, — это способ аутентификации. Никак нельзя оставлять старый метод авторизации путем стандартного ввода пароля. Вы для того и используете протокол SSH, чтобы обезопасить себя от прецедентов взлома паролей. В SSH есть и более умные способы аутентификации. Возьмите тот же открытый ключ — такую систему авторизации практически невозможно взломать, так как вы ничего при входе на сервер вводить не будете — аутентификация пройдет посредством сверки публичного ключа на компьютере. Единственный способ взломать такую защиту — это напрямую вломиться в квартиру пользователя, и завладеть его компьютером с публичным ключом.

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

загрузка...

Но стоит ли менять порты? Точнее стоит ли менять стандартный порт, который прописан в SSH по умолчанию? Как известно, это значение равно — Port 22. И по поводу этой строки у многих программистов возникает масса вопросов. Одни уверенно твердят, что нельзя поддавать себя такой опасности и лучше просто заменить порт. Другие говорят, что и Port 22 — это нормально и ничего страшного произойти не может, если игнорировать стандартный порт в настройках.

Как утверждают бывалые пользователи SSH, нет большой разницы, установлен ли у вас Port 22 в файле конфигураций или любой другой порт. Куда важнее то, как вы защищаете ваш сервер SSH. Если это слабая парольная защита, то вполне вероятно, что наступит момент, когда пароль, пусть и зашифрованный, будет перехвачен взломщиками и они свободно проникнут к вам на сервер. И нестандартный порт в таком случае не сыграет защитной роли — он будет не в силах закрыть пробоины, которые вы сами и оставили.

Кроме того, ходят слухи, догадки и даже утверждения о том, что Port 22 вовсе не стоит заменять на другой порт. А все потому, что Port 22 считается универсальным и его уже используют большинство серверов. Если вы сисадмин, и хотите настроить сервер для массового использования, то применение другого значения вместо Port 22 может навредить процессу взаимодействия с клиентом. Ведь все привыкли, что в командах нужно писать именно Port 22. А в случае замены придется каким-то образом сообщать клиентам об этом, что весьма неудобно.

putty_1_img

Еще одна неприятность, которая подстерегает тех, кто решился заменить port 22 на другое значение — это возможные сбои в работе. Все-таки, не зря разработчики протокола SSH выбрали именно Port 22 для стандартных настроек. Видимо, этот порт лучше других подходит для обеспечения взаимодействия сервера и клиента, и если заменить port 22 на другой, можно поплатиться потерей функциональности, вплоть до потери возможности работать с сервером. Но если вы все же не боитесь приведенных предостережений, то разберем следующие вопросы: как изменить port 22 и как создать forwarding (переадресацию) портов.

Как изменить стандартный порт

Итак, теперь переходим от дискуссии к непосредственной практике — нужно изменить стандартный порт на другой. Сразу возникает вопрос: а на какой порт менять 22-й? Неужели нет разницы в этой цифре? На самом деле разница есть, потому и нужно быть предельно аккуратным при замене номера порта. Хотя многие советуют ставить рандомное значение для этого параметра, лишь бы оно не превышало верхний предел 65535 — выше уже нет портов. То есть вы можете поставить к себе в настройках порт 12345 и любой другой, и от этого якобы ничего не случится. Но на деле все гораздо сложнее.

Когда вы используете сервер SSH, вполне возможно, что у вас подключены и другие службы. К примеру, если пользуетесь SSH протоколом для удаленного управления сайтом. В таком случае вам нужно предварительно убедиться в том, что выбранное значение порта не противоречит другим службам. В частности, вам стоит учесть порты подключения к базам данных MySQL, к FTPD, HTTPD и к другим подобным функциям сайта. В ином случае после изменения порта вы обнаружите ошибку либо при попытки настроить подключение по SSH, либо в работе сайта, что очень нежелательно, особенно для уже состоявшихся ресурсов с большой аудиторией, которая не готова ждать.

Теперь, когда вы осознали всю ответственность, которую берете на себя, решив изменить стандартное значение порта, можете приступить к его замене. Номер порта указан в файле конфигураций — /etc/ssh/sshd_config. Чтобы его заменить, воспользуйтесь терминалом для вызова этого файла — введите следующую строку: nano /etc/ssh/sshd_config. После открытия файла через поиск или вручную найдите строку Port 22 и поменяйте цифру 22 на другое значение, которое по вашим наблюдениям является свободным. Многие рекомендуют не менять строку Port 22, а закомментировать ее и снизу прописать другой Port с новым значением. Сделать это несложно, так что вы тоже можете так поступить.

kak-smenit-port-dostupa-k-ssh-1

Если у вас не получается самостоятельно проверить, какие порты в данный момент заняты различными службами, тогда можете воспользоваться специальной командой. Зайдите в терминал и введите следующую строку: netstat -tupln | grep LISTEN. Перед вами появится список задействованных портов и вам останется лишь придумать свое значение, которого нет в приведенном перечне. После того, как закомментируете текущее значение порта и добавите строку с новым, не забудьте сохранить изменения и перезапустить сервер. Без перезагрузки нововведения не вступят в силу. Для перезапуска введите в терминал команду /etc/init.d/ssh restart, либо если у вас sshd, то пропишите /etc/init.d/sshd restart.

vnc

Как сделать forwarding и перенаправить порты

Функция forwarding необходима для двух целей: во-первых, чтобы организовать переброс различных ip-адресов и портов и создания туннелей, а во-вторых, агент forwarding позволяет клиенту переходить между серверами. Начнем со второго предназначения агента forwarding — он нужен, если у вас не один сервер и вы не хотите каждый раз проходить авторизацию заново, а желаете используя один и тот же публичный ключ перемещаться с сервера 1 на сервер 2. Чтобы настроить такой forwarding, вам необходимо изменить настройки файла конфигураций — прописать следующую строку в нем: ForwardAgent yes.

Теперь разберемся с туннелями между хостами и тем, как при помощи forwarding настроить переброс с одного ip-хоста с определенным портом на другой. А сделать это весьма просто. К примеру, если вы хотите настроить 2220 порт для переброса ip-адреса 97.86.77.66 на 10.12.11.13 мы вводим следующую строку: ssh -f -N -R 2222:10.12.11.13:22 username@97.86.77.66. Где буква -f это и есть функция forwarding. Теперь, когда пользователь введет запрос для получения доступа к локальному хосту 97.86.77.66, сработает переброс (forwarding) и он будет перемещен на 2222-й порт 10.12.11.13. Аналогично этому принципу можно настроить forwarding для перебрасывания любого ресурса куда угодно, к примеру, для перенаправления в Сеть.

port-forwarding-2

Что касается целей создания туннелей, они могут быть самыми разнообразными. Поскольку SSH использует шифрование данных, то туннелирование может понадобится для передачи различных зашифрованных файлов, например, IMAP IRC или VNC. Туннелирование позволит вам принимать на сервер различные типы трафика. Кроме того, часто перенаправление портов и IP-адресов используют для обхода плохо настроенных маршрутиризаторов, сетевых анализаторов трафика и прочих ограничителей. Но учитывайте, что после добавления переадресации, возможно, понадобится изменить настройки некоторых программ, через которые вы осуществляете соединение по SSH каналам.

Похожие статьи

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here