Защищаемся по SSH

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



Изменяем пароль доступа по SSH.

Заходим на сервер с правами root при помощи программы Putty и меняем пароль суперпуперпользователя root присланный нам от хостинг компании (какой-нибудь типа 7Sw&IjKf^1y?Q) на более внятный нам. Несколько рекомендаций:

Команда passwd написанная в консоли Linux дает вам возможность смены пароля пользователя.

[root@name-of-your-server ~]# passwd

В ответ на команду passwd вы увидите сообщения системы с предложением ввода вашего нового пароля (в нашем случае для пароля root).

Changing password for user root.
New password:

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

Retype new password:

Если в качестве нового пароля вы зададите слишком легкий или слишком короткий по мнению системы пароль, то перед сообщением о повторном вводе нового пароля отобразятся сообщения сопровождающиеся фразой BAD PASSWORD.

BAD PASSWORD: is too simple
BAD PASSWORD: it is WAY too short
BAD PASSWORD: it is based on a dictionary word

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

Когда все сделано верно по завершении система уведомит сообщением:

passwd: all authentication tokens updated successfully.

Важно, если вы забудете пароль root то только переустановка системы поможет вам его вернуть!

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

Sorry, passwords do not match.

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

[root@name-of-your-server ~]# passwd username 

Вам опять понадобиться ввести новый пароль, подтвердить его нажав Enter, затем повторить ввод нового пароля и снова Enter.

Некоторые советуют глупости предлагая держать все пароли в уме, когда паролей и PIN-кодов становиться много в них можно запутаться, а создавать один универсальный пароль это самая большая глупость. Можно иметь один пароль к разным сайтам потерю доступа к которым для вас не критично, но пароль SSH к серверу должен  быть уникален. Я рекомендую пароли обязательно записывать, куда решать вам, но крайне не желательно на компьютер имеющий доступ в Интернет.

 Зачем нужен такой дурацкосложный пароль объясню. Во-первых, в сети уже выложены и постоянно обновляются куча хэшей или иными словами разгаданных паролей. Хэш - это специальным образом математически вычисленное значение чего-либо. Конечно пароли в системе Linux не лежат только в хэш виде и тем более в открытую, хеш пароль пользователя в операционной системе Linux зашифрован  и хранится в файле /etc/shadow. Теоретически есть вероятность, что у вас украдут файл /etc/shadow и расшифруют до уровня хеш значения, а хэш уже ломать не придется, если он окажется уже разгаданным. Во-вторых современные сервера, а еще ужаснее целые сети зараженных компьютеров, так называемые ботнеты, способны подбирать пароли, которые еще вчера казались не поддающимися взлому. В-третьих методы взлома с использованием социальной инженерии популярны даже больше чем все остальные, потому что доступны не только хакерам, но и "полу-хакерам", скрывающимися к примеру за фотками симпатичных блондинок на сайтах знакомств или в Фейсбуке, с которыми вы возможно и не желая, но в порыве флирта можете похвастаться своим сервером.

Изменяем порт SSH.

В современном мире чаще ломают пачками, к примеру для этого создается програмка-парсер, она запускается на сервере взломщика или зараженном компьютере и поочередно ищет жертвы в сети, когда ему жертва присматривается она начинают свою работу хищника по взлому. Так вот, для того чтобы вас такие хищники даже не заметили достаточно закрыть 22 порт SSH. Нет порта SSH и нет проблем! С такой могучей идеей можно отказаться и от компьютеров в борьбе с вирусами, но все гораздо проще: мы закрываем 22 порт, про который все и вся знают, что это порт подключения SSH, а вместо него задаем другой порт.

Я рекомендую задавать порт SSH пятизначный до значения 65000. Почему такие далекие порты, это чтобы вы случайно не заняли нужные другим службам порты, к примеру 80 или 443 - это порты сервера для работы веб-сайтов крутящихся на нем. Конфигурационный файл службы отвечающей за работу протокола SSH находится по пути /etc/ssh/sshd_config. Открываем файл

[root@name-of-your-server ~]# vi /etc/ssh/sshd_config

В открывшимся файле увидим строку #Port 22 - знак # комментария говорит о том, что строка в настоящее время не задействована. Чтобы начать редактировать в редакторе нужно нажать на клавиатуре большую букву I, то есть сочетание клавиш shift+i, как первая буква английского слова Insert - вставить. Убираем знак # комментария, чтобы задействовать нашу строчку и изменяем цифру порта SSH на другой, к примеру 33442. После чего сохраняем результат. Клавиша ESC - выход из режима редактирования, :wq - закрытие файла и внесение изменений, с английского write - записать и quit - выйти. Если строку Port 22 в открывшемся файле sshd_config вы не найдете просто добавьте её в этот файл

Делаем рестарт службы SSH, в Linux это служба sshd

[root@name-of-your-server ~]# service sshd restart

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

PS Настройки приведены на примере операционной системы Centos



HiTechBlog.net 2013-2024