Михаил Флёнов - Linux глазами хакера
- Название:Linux глазами хакера
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2005
- Город:Санкт-Петербург
- ISBN:5-94157-635-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Флёнов - Linux глазами хакера краткое содержание
Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описаны потенциальные уязвимости и рекомендации по предотвращению возможных атак. Дается подробное описание настройки прав доступа и конфигурирования сетевого экрана. Показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных.
Для пользователей, администраторов и специалистов по безопасности
Linux глазами хакера - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
ssh пользователь@сервер
Например, чтобы подсоединиться к серверу flenovm под именем flenov, нужно выполнить следующую команду:
ssh flenov@flenovm
В ответ на это вы можете увидеть сообщение:
The authenticity of host 'localhost(127.0.0.1)' can't be established
RSA1 key fingerprint is f2:a1:6b:d6:fc:d0:f2:a1:6b:d6:fc:d0.
Are you sure you want to continue connection (yes/no)?
Данным сообщением программа информирует вас, что подлинность хоста не была установлена и отображает снимок RSA-ключа. Для продолжения соединения необходимо набрать на клавиатуре "yes". На экране появится уведомление:
Permanently added 'localhost' (RSA1) to the list of known hosts.
Здесь вам сообщается, что ключ добавлен в список известных хостов. Это значит, что в вашей домашней директории, в папке .ssh/появился (или обновился) файл known_hosts с ключом удаленной системы.
Затем предлагается ввести пароль пользователя. Если аутентификация прошла успешно, вы оказываетесь в системе и можете выполнять команды на удаленном компьютере, как будто вы сидите за его клавиатурой.
5.3.6. Вход по ключу
Намного удобнее и даже безопаснее способ авторизации по ключу, а вход по паролю может быть даже заблокирован. Обращение к системе по SSH не совсем безопасно. Злоумышленник может подсмотреть пароль, когда вы будете вводить его в другой программе. Тогда зачем шифровать SSH-соединение, если секретное слово может быть выявлено при работе с другими программами?
Для каждого подключения должны быть свои пароли. Но помнить их все очень сложно, поэтому лучше для авторизации использовать ключи, которые итак защищены, дальше некуда. Нужно сделать только небольшие изменения в конфигурации.
Для начала нужно создать новый ключ. Для этого используется программа ssh-keygen. Ей нужно передать два параметра:
□
-t
— тип ключа. Здесь можно указывать rsa
или dsa
для второй версии SSH или rsa1
— для первой. Для примера будем использовать rsa
ключ;
□
-f
— файл, в котором будет сохранен закрытый ключ. Открытый ключ получит такое же имя, но с расширением pub;
□
-b
— длина ключа, которая может быть минимально 512. По умолчанию установлено значение 1024, оставим его, и не будем указывать этот параметр.
Итак, для генерации ключа выполним команду:
ssh-keygen -t rsa -f ~/.ssh/myrsakey
Обратите внимание, что я указал сохранение ключа в директории .ssh — своей домашней директории (об этом свидетельствует знак "~"). Это директория, в которой SSH будет искать все настройки. Если вы еще не подключались к серверу, то этот путь и ключ отсутствуют. Для исправления ситуации нужно перейти в свою домашнюю директорию и создать папку .ssh:
cd /home/flenov
mkdir .ssh
Если при генерации ключа не указывать файл для его сохранения, то по умолчанию он будет создан в директории ~/.ssh/с именем id_rsa для RSA-шифрования. Для DSA-шифрования файл будет располагаться там же, но с именем id_dsa. Я специально задал имя, чтобы показать, как с ним работать.
Если программа запустилась успешно, то на экране вы должны увидеть следующее приглашение:
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase) :
В данном сообщении говорится, что начат процесс генерации публичного и закрытого RSA-ключей. Вам предлагается ввести пароль или оставить его пустым. Я рекомендую лучше указать достаточно длинный пароль (не менее 10 символов, а лучше фразу). После нажатия клавиши вам предложат подтвердить комбинацию, чтобы исключить ошибки при вводе.
Если все прошло успешно, то вы должны увидеть следующее сообщение:
Your identification has been saved in ~/ssn/myrsakey.
Your public key has been saved in ~/ssh/myrsakey.pub.
В первой строке нас проинформировали о том, что закрытый ключ сохранен в файле ~/ssh/myrsakey, а открытый — в ~/ssh/myrsakey.pub.
Получив ключи, вы должны отправить файл ~/ssh/myrsakey.pubна удаленный компьютер, чтобы SSH-сервер мог использовать его для аутентификации. Для передачи можно смело использовать открытые каналы связи, потому что публичный ключ ничего не стоит без фразы, которую вы ввели, и без секретного ключа. Даже если хакер сможет получить файл myrsakey.pub, пользы от этого не будет никакой.
Администратор сервера должен добавить содержимое публичного ключа в файл .ssh/authorized_keys. Для этого можно выполнить на сервере следующую команду:
cat myrsakey.pub .ssh/authorized_keys
Теперь можно подключаться к серверу, используя публичный ключ для подтверждения личности. Но перед этим убедитесь, что в конфигурационном файле сервера включены следующие директивы:
RSAAuthentication yes
PubkeyAuthentication yes
Для подключения к серверу выполните команду:
ssh -i ~/.ssh/myrsakey
С помощью параметра
-i
мы указываем файл публичного ключа. Если этого не сделать, то будет использоваться id_rsa — файл по умолчанию, его имя задает директива IdentityFile
в конфигурационном файле SSH-клиента.
Теперь сервер будет запрашивать у вас не пароль, а слово, которое вы указали при генерации публичного ключа:
Enter passphrase for key
Если в конфигурационном файле SSH-сервера изменить параметр
PasswordAuthentication
на no
, то пароль проверяться не будет, а связь будет устанавливаться только на основании ключей. Для обеспечения безопасной связи этого достаточно.
5.3.7. X11 в терминале
Использование командной строки для управления удаленной системой позволяет значительно сэкономить трафик. Но иногда нужен графический режим. Я не рекомендую его использовать в целях безопасности и для повышения производительности, но пользователи Windows могут просто не смириться с командной строкой. Если вы любите красивые окна, то SSH-сервер может перенаправить X11 (графическую оболочку ОС Linux) на ваш терминал. Для этого в конфигурационном файле sshd_config должны быть указаны следующие три директивы:
□
X11Forwarding yes
— разрешает переправлять ОС Linux графический режим X11;
□
X11DisplayOffset 10
— первый номер дисплея, доступный для SSH-сервера. По умолчанию 10, и это значение можно так и оставить;
□
X11UseLocalhost yes
— если параметр равен yes
, то в качестве X-сервера будет использоваться локальный. В этом случае клиент будет работать с нашим X11, а служебная информация, передаваемая по сети, будет шифроваться.
Если вы хотите подключаться к графической оболочке Linux из Windows, то вам понадобится программа типа X11 для этой ОС. В качестве примера могу порекомендовать X-Win32-клиент, который можно скачать с сайта http://www.starnet.com/.
Я не рекомендую использовать XII, потому что эта технология отлажена еще очень плохо, и существуют методы подделки и взлома соединения.
Интервал:
Закладка: