Д. Колисниченко - Ubuntu 10. Краткое руководство пользователя
□ toshiba — ноутбук Toshiba;
□ 3stack — ноутбук Toshiba Tecra A8-103 (кроме параметра model нужно еще задать параметр probe_mask=8).
Если вариант auto не сработает, попробуйте уточнить модель. После перезагрузки вы услышите звук. Если звук не будет чистым (с шумами), откройте файл /etc/modprobe.d/blacklist и добавьте в него строку:
blacklist snd_pcsp
После этого проблем со звуком быть не должно.
Тем не менее, у некоторых моделей бывают проблемы со звуком после пробуждения компьютера из режима сна. Как вылечить это, я пока не знаю.
Глава 25
Безопасность в Ubuntu
25.1. Безопасная работа в Ubuntu
Вспомните главу 2, когда мы очень легко получили права root, используя загрузочный LiveCD. Точно так же доступ к вашей системе может получить и злоумышленник. Алгоритм прост: загружается с LiveCD, получает права root, делает все, что хочет, с файлами на жестком диске — ведь у него есть права root. Даже если у злоумышленника нет LiveCD Ubuntu, он может использовать любой другой LiveCD или просто установить другую операционную систему.
Чтобы избежать подобной ситуации, следует:
□ сделать жесткий диск первым загрузочным устройством в BIOS;
□ установить пароль на доступ к BIOS;
□ можно также установить пароль и на загрузку компьютера, но это не очень удобно — при каждой перезагрузке нужно будет вводить пароль.
Правда, и эти меры не являются панацеей — при желании можно просто вытащить на минуту батарейку BIOS или использовать специальный джампер для сброса настроек (так будет быстрее), и все параметры вместе с вашими паролями будут сброшены. Теперь можно делать с компьютером все, что угодно. Надеюсь, что до этого не дойдет. Но и вы сами должны принять некоторые меры по обеспечению безопасности своего компьютера. Он должен располагаться в безопасном месте, желательно также, чтобы он вовсе не оставался без присмотра. Иначе злоумышленник может даже не извлекать батарейку BIOS, а сразу вытащить жесткий диск и взять оттуда все, что ему нужно.
Теперь поговорим о паролях. Ранее для шифровки паролей использовались алгоритмы DES или его развитие 3DES, которые легко можно было расшифровать. В современных дистрибутивах, а наш Ubuntu таким и является, пароли пользователей шифруются с помощью алгоритма MD5 — его расшифровать вообще невозможно. Правильность пароля определяется так: пароль шифруется и полученный шифр сравнивается с уже имеющимся. Если они совпадают, значит, пароль правильный. Видите, как система заботится о наших данных? Но заботимся ли мы о них? Если вы назначили пароль типа 123456, то можно сказать, что вы совсем не помогаете системе обеспечивать безопасность своих данных. Такой пароль подбирается за пару минут с помощью обычного перебора («brute force attacks»).
Как осуществляется подбор? Предположим, что у нас есть пароль из трех цифр, и мы знаем, что эти цифры не превышают 3. Тогда мы получим 3! (три факториал — если кто-то забыл школьный курс математики) возможных комбинаций, а именно: 123, 132, 213, 231, 312, 321, то есть шесть. Если предположить, что можно использовать цифры от 0 до 9, а длина пароля не превышает 9 символов, тогда вариантов будет уже 362 880. Про буквы и специальные символы говорить вообще не хочется.
Отсюда вывод: чем сложнее ваш пароль: длиннее, содержит цифры, специальные символы, разный регистр букв — тем сложнее его подобрать.
Каким должен быть идеальный пароль?
□ минимальная длина пароля — 8 символов;
□ пароль должен содержать символы разного регистра, например, PasSWorD;
□ кроме символов желательно, чтобы пароль содержал цифры, например, 5PasSWorD6;
□ пароль должен содержать специальные символы, например, знак подчеркивания (5PasS_WorD6);
□ пароль должен быть сложным для подбора и легким для запоминания, чтобы вы его не записали где-нибудь, где его могут прочитать.
Отсюда следует, что пароль 5PasS_WorD6 — практически идеальный. Цифры 5 и 6 легко запоминаются — они следуют по порядку: 5 — в начале, 6 — в конце. Специальный символ разделяет две значимые части слова — тоже легко запомнить его местонахождение. А вот регистр символов придется запомнить… Можно, конечно, немного упростить задачу, например, изменив пароль до 5PASS_word6. Так пароль тоже будет идеально легок для запоминания и труден для подбора.
Повседневные операции следует выполнять от имени обычного пользователя. Если нужно выполнить административное действие, используйте команду sudo, а не входите под именем root. Пусть учетная запись root будет вообще отключена. Так безопаснее.
Кроме этого выполните следующие действия:
□ запретите изменять меню GRUB во время загрузки (см. разд. 25.2) — ведь злоумышленник может изменить параметры ядра и получить права root;
□ отключите ведение истории команд в консоли (см. разд. 25.3) — чтобы никто не смог просмотреть введенные вами команды;
□ отключите использование комбинации клавиш <Ctrl>+<Alt>+<Del> в консоли (см. разд. 25.4) — чтобы никто не смог перезагрузить компьютер без вашего ведома;
□ установите антивирус (см. разд. 25.5) — хотя вирусы в Linux являются довольно редким явлением, но безопасность лишней не бывает.
25.2. Настройка загрузчика GRUB2
Как уже отмечалось, начиная с версии 9.10, в Ubuntu используется загрузчик GRUB2 вместо обычного GRUB. По сравнению с GRUB, новый загрузчик одновременно и проще в обращении, и сложнее в настройке. Настраивать GRUB2 придется реже, но к его сложной настройке надо будет привыкать, — практически все современные дистрибутивы перешли на GRUB2.
В GRUB можно было задать общий пароль для всех загрузочных меток, а также установить пароль только на некоторые загрузочные метки. В GRUB2 можно сделать то же самое, но, кроме самого пароля, понадобится указать еще и имя пользователя, что усложняет злоумышленнику взлом системы, поскольку ему нужно будет знать не только пароль, но и имя пользователя. Защита отдельных загрузочных меток, как правило, используется редко, чаще устанавливается пароль на все метки сразу, что и будет продемонстрировано в этой главе.
Сначала установим простой (незашифрованный) пароль, а затем зашифруем его, чтобы никто не смог его прочитать, загрузившись с LiveCD. Прежде всего откройте файл /etc/grub.d/00_header:
sudo nano /etc/grub.d/00_header
В конец файла добавьте строки:
cat << EOF
set superusers="den"
password den 1234
EOF
Здесь имя пользователя den, пароль — 1234.
Теперь обновите GRUB2:
sudo update-grub
Можно также напрямую редактировать файл конфигурации GRUB2 — grub.cfg. В него следует добавить вот такие строки:
set superusers="user1"
password userl passwordl
password user2 password2
Обратите внимание, что командами password заданы два пользователя: user1 и user2 с паролями password1 и password2 соответственно. Но пользователь user1 является суперпользователем, то есть может редактировать загрузочные метки GRUB2, а обычный пользователь (user2) может только загружать метки. Таким образом, у пользователя user1 получится передать ядру новые параметры, а пользователь user2 сможет только загрузить Linux с параметрами по умолчанию.
Можно даже задать условие, что метку Windows будет загружать только пользователь user2:
menuentry "Windows" — users user2 {
set root=(hd0,2)
chainloader +1
}
Теперь разберемся с шифрованием пароля. Команда password поддерживает только незашифрованные пароли. Если вы хотите использовать зашифрованные пароли, то нужно применить команду password_pbkdf2. Например:
password_pbkdf2 den зашифрованный_пароль
Получить зашифрованный пароль можно командой:
grub-mkpasswd-pbkdf2
После программа запросит у вас пароль и сообщит его хэш:
Your PBKDF2 is grub.pbkdf2.зашифрованный_пароль
Пример пароля:
grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5642659211B7FC076F 2D28FEFD71784BB8D8F6FB244A8CC5C06240631B97008565A120764C0EE9C2CB0073994D7 9080136.887CFF169EA8335235D8004242AA7D6187A41E3187DF0CE14E256D85ED97A9735 7AAA8FF0A3871AB9EEFF458392F462F495487387F685B7472FC6C29E293F0A0
Весь этот хэш нужно скопировать в конфигурационный файл GRUB2:
password_pbkdf2 den
grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5642659211B7FC076F 2D28FEFD71784BB8D8F6FB244A8CC5C06240631B97008565A120764C0EE9C2CB0073994D7 9080136.887CFF169EA8335235D8004242AA7D6187A41E3187DF0CE14E256D85ED97A9735 7AAA8FF0A3871AB9EEFF458392F462F495487387F685B7472FC6C29E293F0A0
Если вы не использовали файл 00_header, а редактировали непосредственно файл grub.cfg, то команду update-grub вводить не нужно!
Дополнительную информацию вы сможете получить по адресам: http://ubuntuguide.net/how-to-setup-boot-password-for-grub2-entries и http://grub.enbug.org/Authentication.
25.3. Отключение истории команд
Отключить ведение истории команд очень просто. Для этого введите три команды: