Михаил Флёнов - Linux глазами хакера
- Название:Linux глазами хакера
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2005
- Город:Санкт-Петербург
- ISBN:5-94157-635-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Флёнов - Linux глазами хакера краткое содержание
Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описаны потенциальные уязвимости и рекомендации по предотвращению возможных атак. Дается подробное описание настройки прав доступа и конфигурирования сетевого экрана. Показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных.
Для пользователей, администраторов и специалистов по безопасности
Linux глазами хакера - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
□
ServerKeyBits
— длина серверного ключа. По умолчанию установлено 768, минимальное значение — 512;
□
SyslogFacility
— задает тип сообщений, которые будут сохраняться в журнале;
□
LogLevel
— уровень событий, которые будут попадать в журнал. Возможные уровни соответствуют системным, которые мы будем рассматривать в разд. 12.5 ;
□
LoginGraceTime
— интервал времени, в течение которого пользователь должен ввести правильный пароль, иначе соединение будет разорвано;
□
РеrmitRootLogin
— определяет, разрешено ( yes
) или запрещено ( no
) входить в систему по SSH-протоколу под пользователем root. Мы уже говорили, что root — это бог в системе, и его возможности нужно использовать аккуратно. Если в систему нельзя входить с такими правами, то и по SSH тем более. Срочно меняйте этот параметр на no
;
□
StrictModes
— указывает, должен ли sshd проверять состояние файлов и их владельцев, пользовательских файлов и домашней директории до ввода пароля. Желательно установить yes
, потому что многие начинающие пользователи делают свои файлы все доступными для записи;
□
RSAAuthentication
— разрешена ли аутентификация по алгоритму RSA. Параметр действует для 1 версии протокола;
□
PubkeyAuthentication
— дозволена ли аутентификация по публичному ключу. Параметр действует для 2-й версии протокола;
□
AuthorizedKeysFile
— файл с публичным ключом, который может использоваться для аутентификации;
□
RhostsAuthentication
— разрешение аутентификации по файлам $HOME/.rhostsи /etc/hosts.equiv. По умолчанию стоит no
, и без особой надобности менять этот параметр не стоит, потому что это небезопасно;
□
IgnoreRhosts
— если параметр равен yes, то запрещается читать файлы ~/.rhostsи ~/.shosts. Без необходимости значение лучше не изменять, потому что это может повлиять на безопасность;
□
AuthorizedKeysFile
— файл для хранения списка авторизованных ключей. Если пользователь входит в систему с имеющимся в этом файле ключом, то его пустят автоматически без ввода дополнительных паролей;
□
RhostsRSAAuthentication
— если этот параметр yes
, то при аутентификации будет требоваться ключ хоста из директории /etc/ssh/ssh_known_hosts. Параметр используется в 1 версии SSH;
□
IgnoreUserKnownHosts
— если параметр равен no, то необходимо доверять компьютерам из списка ~/.ssh/known_hostsпри RhostsRSAAuthentication-аутентификации. Не верьте никому, поэтому параметр лучше всего изменить на yes
;
□
PasswordAuthentication
— если значение равно yes
, то будет требоваться пароль. При использовании авторизации через ключи параметр можно отключить;
□
PermitEmptyPasswords
— по умолчанию установлено no
, что запрещает использование пустых паролей, и изменять это значение не стоит;
□
KerberosAuthentication
— использовать проверку подлинности по протоколу Kerberos. В последнее время именно эта аутентификация набирает большую популярность благодаря своей безопасности;
□
KerberosOrLocalPasswd
— если пароль Kerberos не был принят, то включается проверка локального файла паролей из файла /etc/shadow;
□
KerberosTicketCleanup
— очищать билет Kerberos из кэша при выходе из системы;
□
Banner
— позволяет указать файл, в котором находится текст приветствия, отображаемый пользователями.
5.3.3. Параметры доступа к серверу sshd
Кроме приведенных в листинге 5.1 можно использовать следующие директивы:
□
AllowGroups
— позволить вход в систему только пользователям указанных групп (перечисляются через пробел в одной строке);
□
AllowUsers
— разрешить вход в систему пользователям, имена которых перечислены через пробел;
□
DenyGroups
— запретить вход в систему пользователям указанных через пробел групп;
□
DenyUsers
— запретить вход в систему пользователям, имена которых перечислены через пробел. Этот параметр бывает удобен, когда дано разрешение на вход группе, но нужно отказать в подключении к SSH-серверу одному из ее пользователей.
Я рекомендую вам явно прописать группы или имена пользователей, которые могут входить в систему по SSH.
5.3.4. Конфигурирование клиента SSH
Настройки SSH-клиента содержат еще меньше параметров. В файле /etc/ssh/ssh_configнаходятся глобальные настройки для всех пользователей в системе. Но вы можете для любого из них переопределить произвольный параметр в файле .ssh_configиз директории пользователя. В листинге 5.2 приведено содержимое глобального файла настроек без некоторых комментариев.
Листинг 5.2. Конфигурационный файл /etc/ssh/ssh_config
# Site-wide defaults for various options
# Host *
# ForwardAgent no
# ForwardX11 no
# RhostsAuthentication yes
# RhostsRSAAuthentication yes
# RSAAuthentication yes
# PasswordAuthentication yes
# FallBackToRsh no
# UseRsh no
# BatchMode no
# CheckHostIP yes
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
# Protocol 2,1
# Cipher 3des
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
# EscapeChar ~
Host *
Protocol 1,2
Некоторые из этих параметров мы уже видели при рассмотрении серверного конфигурационного файла. Здесь также присутствует параметр
Protocol
, в котором указываются используемые версии SSH. Только в данном случае не стоит запрещать 1 версию. На безопасность клиента это не повлияет. Зато не будет проблем при подключении к серверу, который работает только на такой версии. Я надеюсь, что это будет не ваш сервер ☺.
Перечислю характерные для клиента команды:
□
Host
— указывает, к какому серверу будут относиться следующие настройки;
□
CheckHostIP
— разрешена проверка IP-адреса с перечисленными в файле know_hosts адресами;
□
Compression
— позволяет ( yes
) или запрещает ( no
) использование сжатия данных;
□
KerberosAuthentication
— позволяет ( yes
) или запрещает ( no
) использование аутентификации по протоколу Kerberos;
□
NumberOfPasswordPrompts
— задает количество попыток ввода пароля. Если пароль не введен верно, то соединение разрывается;
□
IdentityFile
— определяет имя файла, содержащего закрытые ключи пользователя;
□
PasswordAutentication
— указывает на использование аутентификации по паролю.
5.3.5. Пример работы клиента SSH
Теперь рассмотрим на примере, как можно подключиться к удаленному серверу. Для этого используется команда:
Интервал:
Закладка: