LXF160:Рубрика сисадмина
|
|
|
По рецептам доктора Брауна
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Содержание |
Защита человека
Обезопасить серверы недостаточно. Нужно позаботиться и о пользователях.
Итак, вы ответственно относитесь к защите своих серверов: регулярно выполняете обновления безопасности, настроили брандмауэр, отключили вход в систему от имени root и задали сложные пароли.
Но закручивание гаек на серверах не гарантирует безопасности корпоративных данных, если сотрудники вашей компании текут как решето. В детстве мама не велела вам брать конфеты у незнакомцев. Но многие организации не дают этого простого совета, чтобы обезопасить своих сотрудников в киберпространстве. Если у вашей компании нет программы обучения основам безопасности, не убедить ли босса начать ее?
Институт SANS (www.sans.org) – частная американская компания, и у нее немало ресурсов вам в помощь. В верхней части диапазона – большое портфолио курсов (и с преподавателем, и онлайн) для профессионалов в сфере безопасности, обычно стоимостью в 4000 долларов. Но у этого сайта есть родич (www.securingthehuman.org), где масса бесплатных материалов: например, опрос для сотрудников по теме безопасности из 25 пунктов (типичный вопрос: «Как часто вы берете информацию из офиса и работаете с ней на домашнем ПК?»), или примеры презентаций, вводящих в курс обучения пользователей основам безопасности (в т. ч. программа для детей), и удобная таблица параметров для оценки, есть ли от программы прок – часто это простые вопросы вроде «Сколько сотрудников запирают свой компьютер перед уходом с работы?» А если вам нужно напугать свое начальство, чтобы оно поддержало вас, на сайте SANS есть ссылки на страшилки из новостей.
Наконец, на сайте www.sans.org/tip_of_the_day.php вы получите совет безопасности дня; на 1 мая 2012 года он был «Закрывайте доступ к компьютеру перед тем, как контракт с работником заканчивается или вы говорите ему, что он уволен».
Пароли и политики
Во многих организациях используются странные ритуалы управления паролями и политиками. Вот несколько простых практических советов.
Сколько у вас паролей? Один на домашнем ноутбуке, другой на рабочем компьютере. Затем – учетная запись вашей почты и на корпоративном почтовом сервере. Пара учетных записей в социальных сетях, Amazon, ebay, PayPal, интернет-банке и этой штуке под названием “verified by Visa”. Это по меньшей мере дюжина, даже не считая все серверы, которыми вы управляете. Общее количество вполне может быть в два раза больше. Для многих из этих учетных записей в качестве логина используется почтовый адрес, который не является секретом. Поэтому от забвения вас отделяет только пароль.
Выбираем надежные пароли
Выбор хорошего, надежного пароля – пожалуй, единственная важная вещь, которую можно сделать, чтобы сохранить учетную запись в безопасности. Хороший пароль должен быть:
» Достаточно длинным и сложным, чтобы противостоять и словарным атакам, и атакам методом грубого перебора
» Запоминаемым
» Таким, что его можно правильно набрать с первой попытки
Удовлетворить всем трем пунктам довольно сложно. Некоторые практические советы вы можете найти во врезке «Четыре шага к хорошему паролю». Надежность пароля оценивается по его длине и употреблению символов различных групп. Возьмем средний пароль из восьми символов. Если он состоит только из строчных букв, комбинаций будет около 200 миллиардов. Если используются буквы в верхнем и нижнем регистрах, цифры и специальные символы (всего около 96 символов), это 7 квадриллионов комбинаций. На сайте www.passwordmeter.com находится приложение, которое оценивает прочность произвольного пароля.
Самые отъявленные параноики из нас, конечно, дважды подумают, прежде чем отправить свой надеждый пароль недоверенному сайту, особенно такому, который не использует HTTPS. В Linux есть модули PAM, которые помогут увеличить надежность пароля. pam_cracklib обнаружит пароли, поддающиеся словарным атакам, а pam_passwdqc задаст минимальную длину пароля на основе количества различных групп символов, используемых паролем.
Политики
Есть мнение, что следует взять один надежный пароль и пользоваться им везде. Я бы не назвал это хорошей идеей. Есть сайты, которым вы доверяете и которые заботятся о сохранении пароля в секрете (например, интернет-банк). Но создавать учетные записи приходится и на многих других сайтах. Где гарантия ответственности их подхода, и умеют ли они обеспечивать защиту от SQL-инъекции и других атак? Наверняка у вас есть учетные записи, в которых в качестве логина используется адрес электронной почты. Если одни и те же логин и пароль используются на некритичном сайте и их крадут, потому что вы подключились со взломанного клиента или взломали их сервер, это компрометирует все остальные учетные записи.
Меня также слегка нервируют сайты, предлагающие задать контрольные вопросы для восстановления пароля. Это полезная возможность, но, насколько я знаю, сложность вопроса не проверяется. Поэтому в общем надежнее иметь как минимум два пароля: один для всякой ерунды, и второй – для действительно важных сайтов.
К сожалению, выбором двух сложных паролей история не заканчивается. Во многих организациях применяется политика возраста пароля, и пользователей заставляют периодически менять пароли. Логика изначально состояла в том, чтобы менять пароли чаще, чем их можно было бы взломать методом грубого перебора. Может, 30 лет назад в мире мейнфреймов это и имело смысл. Но с тех пор компьютеры стали мощнее, и время атаки методом грубого перебора значительно сократилось. В любом случае, есть и другие технологии, с которыми плохие парни могут узнать ваш пароль, например, фишинг. Мне кажется, что если вы будете менять пароль каждые 30 дней, а взламывают его три недели, тот факт, что у злодеев останется всего неделя на разграбление вашей жизни, прежде чем вы снова смените пароль – слабое утешение. Если вы действительно хотите реализовать механизм возраста пароля в Linux, можно воспользоваться полями из /etc/shadow для задания срока службы пароля и абсолютной даты истечения учетной записи. Лучший способ задать эти параметры – команда change; детали можно узнать на странице руководства. Впрочем, знайте, что самая популярная среди сотрудников реакция на требование смены пароля – добавление цифры в конец пароля и увеличение этой цифры.
Грубый перебор...
Если у злоумышленника есть доступ к свертке пароля (в Linux это доступ к /etc/shadow), то он сможет выполнить атаку методом грубого перебора в оффлайн-режиме. Можете оценить, сколько времени понадобится на взлом пароля по его длине, длине набора символов, из которых он составлен, и вычислительной мощности в распоряжении взломщика.
Чтобы дать вам представление о цифрах, для пароля из восьми символов нижнего и верхнего регистра существует 53 триллиона комбинаций, и на быстром компьютере его можно взломать за 62 дня, а на суперкомпьютере – за 15 часов. Подробности имеются на сайте www.lockdown.co.uk/?pg=combi.
Конечно, вряд ли кто-то разорится на аренду 15 часов суперкомпьютера, чтобы взломать ваш пароль в Facebook. Более вероятно, что пароли будут украдены с помощью мониторинга нажатий клавиш на скомпрометированном компьютере или перехвачены со взломанного сайта. Проведение такой атаки путем попыток входа в систему вряд ли завершится успешно, особенно по сети. С одной стороны, это гораздо медленнее, чем сгенерировать пароль, получить свертку и сравнить ее со сверткой в /etc/shadow. С другой стороны, это оставляет обширный след в файлах системных журналов. А в Linux есть утилиты вооде fail2ban – с их помощью можно заблокировать IP-адреса, откуда производятся неудачные повторные попытки входа в систему.
...и грубое невежество
В реальности люди часто выбирают в качестве паролей клички собак, и становятся легкой добычей злоумышленников, пользующихся словарными атаками. Программы, выполняющие эту работу, становятся все умнее, обычно используя сочетания “root” (словарного слова) и короткого суффикса, такого как “!” или “123”. Некоторые также проверяют замену букв на цифры, с которой “hotel” становится “h0t3l”. А некоторые пытаются получить записи из адресной книги, почтового архива или другие текстовые строки с жесткого диска.
Например, Брюс Шнайер [Bruce Schneier] проанализовал 100 000 паролей, полученных фишинговым сайтом MySpace. Он обнаружил, что 12 % паролей состояли из словарных слов с цифрой – самым популярным был “password1” (см. www.schneier.com/essay-144.html). Это своего рода прогресс: десять лет назад самым популярным паролем был “password”. Шнайер написал о надежности паролей, пожалуй, больше чем кто-либо другой. В 2006 году он сказал, что любой пароль, достаточно простой для запоминания, можно взломать на современных компьютерах.
Но взглянем правде в глаза: выбрать и запомнить разные сложные пароли для каждого сайта почти невозможно, особенно если вы будете менять их каждый месяц (кто-нибудь на самом деле это делает?). Одно из решений – воспользоваться «бумажником паролей», программой, которая хранит все пароли в зашифрованном виде под одним главным паролем.
Несколько лет назад меня всерьез обеспокоило то, что данные всех моих учетных записей хранятся в маленькой черной книжечке, и я написал для этого небольшую утилиту. По сути, это скрипт-обертка gpg и grep, но ей я хотя бы доверяю. Собственную программу писать не пришлось, потому что графических менеджеров паролей Linux больше, чем вы можете представить.
Например, KeePassx (www.keepasx.org) может хранить имена пользователей, URL-адреса, вложения и комментарии в базе данных, зашифрованной 256-битным TwoFish или AES. Для доступа к базе данных требуется просто указать главный пароль; вы можете настроить KeePassx так, что для аутентификации, кроме пароля, потребуется и файл. Файл сгодится любой, но если создать файл с длинной случайной строкой и записать его на USB-брелок, то фактически вы обзаведетесь двухфакторной аутентификацией.
Четыре шага к хорошему паролю
Рискуя причинить вам обиду за ваш интеллект, приведу четыре способа выбора надежного пароля.
» Первый способ. Возьмите два не связанных друг с другом слова, например, “goat” и “cleaner”. Вставьте между ними какой-нибудь спецсимвол, например, “goat=cleaner”. Смените пару символов на заглавные, например, “Goat=cleaneR”, и, наконец, превратите одну букву в цифру, например, “G0at=cleaneR”.
» Другой способ – взять выражение и «сжать» его, часть букв сделав заглавными, а часть превратив в цифры. Например, “I wish that I was out in the sunshine” можно превратить в “Iwsht1w0itSs”.
» Третий способ – перемешать слово с последовательностью цифр. Например, из “treacle” и “654321” можно получить “t6r5e4a3c2l1e”.
» Наконец, для тех, у кого не хватает фантазии ни на один из этих способов, предусмотрены разные команды, генерирующие пароли. Обычно нужно что-то проделать с выводом /dev/urandom – например, команда:
tr -dc a-zA-Z0-9 < /dev/urandom | head -c 10
сгенерирует пароль из символов из набора a – zA-Z0 – 9. Он будет длиной 10 символов и до ужаса случайным, так что его наверняка придется записать.
Есть более сложные утилиты, наподобие apg, которые умеряют свой пыл до чего-то удобопроизносимого, если, конечно, вы сможете произнести вслух “ghavTi9graf”. И, разумеется, существуют такие сайты, как freepasswordgenerator.com, которые сгенерируют для вас пароль указанной длины из предложенного набора символов.
Двухфакторная аутентификация
В схеме двухфакторной аутентификации нужно представить два независимых удостоверения своей личности. Чаще всего первое – «то, что вы знаете» (пароль или PIN-код), а второе – «то, что у вас есть» (банковская карта или ключ на USB-брелке). Реже одним из доказательств выступает «то, чем вы являетесь» (например, отпечаток пальца или даже изображение сетчатки глаза). Скажем, в банкомате используется двухфакторная аутентификация – вам нужно вставить карту и ввести PIN-код.
Обратите внимание, что запрос двух паролей НЕ является двухфакторной аутентификацией!
Сетевая файловая система
NFS – протокол общего доступа к файлам в системах UNIX и Linux. Он зрелый, стабильный, простой в администрировании и невероятно полезный.
Попросту говоря, NFS позволяет смонтировать часть файловой системы сервера в файловую систему компьютера клиента. При должной настройке он прозрачен, то есть конечные пользователи не ощущают разницы в доступе к локальным и удаленным файлам. NFS был одной из первых вещей в сетях UNIX (они на много лет опередили сети Linux), с которыми я столкнулся, запуская сеть рабочих станций Sun в Университете Шеффилда. Мы пользовались им для централизации домашних каталогов пользователей на нескольких серверах, и я сомневаюсь, что хоть один из этих пользователей знал, что происходит.
Чтобы превратить компьютер с Linux в файловый сервер NFS, нужно установить демоны mountd, nfsd и portmapper. В моей тестовой системе Fedora 15 все они находились в пакете nfs-utils (он может быть установлен по умолчанию). На сервере файл /etc/exports определяет, какие части файловой системы экспортировать и каким клиентам. Несколько строк из этого файла с пояснениями показаны на рисунке. Если вы пришли из Windows, то эти экспортированные каталоги аналогичны «каталогам с общим доступом», но обратите внимание, что в Windows общему каталогу дается имя (оно может отличаться от имени самого каталога), а в NFS этого дополнительного уровня именования нет. Имя экспортируемого каталога в файловой системе сервера – это имя, под которым его видит клиент.
====Болезнь .d
NFS недавно подхватил болезнь .d, общий симптом современных дистрибутивов Linux, в которых один файл настройки (/etc/exports) превращается в каталог таких файлов (в /etc/exports.d); но если вы хотите поместить все в файл «верхнего уровня» (/etc/exports), такая возможность еще есть.
Специальной клиентской программы (вроде Thunderbird для почтового сервера POP3) на стороне клиента нет; настоящая клиентская часть NFS находится на уровне виртуальной файловой системы, что позволяет смонтировать экспортированную файловую систему NFS в файловую систему клиента. Для монтирования вручную (нужны права root) скомандуйте
- mount -t nfs pluto.example.com:/exports /home
Сделайте монтирование «постоянным», добавив в /etc/fstab строку
pluto.example.com:exports /home nfs hard,intr 0 0
Да вы кем себя воображаете?
При выполнении запроса серверу NFS числовые идентификаторы пользователя (UID) и группы (GID) клиента передаются серверу, где они используются для проверки прав доступа. Это работает прекрасно, если вы используете LDAP (или даже старые добрые «Желтые страницы»), потому что идентификаторы пользователя будут одинаковы на всех компьютерах. Но если нет, может возникнуть ситуация, при которой UID Джона на клиенте будет совпадать с UID Мэри на сервере, и тогда Джон завладеет файлами Мэри. А это нехорошо.
Особый случай – пользователь root. Если я работаю на клиенте от имени root, мой UID на сервере изменяется так, что на сервере я выступаю как пользователь “nfsnobody” (или “nobody”, в зависимости от дистрибутива). Обычно это непривилегированная учетная запись, потому что (простите за злоупотребление отрицаниями) никому (nobody) не принадлежат никакие файлы. И хотя на клиенте я root, на сервере я получу права доступа для всех файлов как «остальные». Отключить этот механизм можно, добавив параметр no_root_squash в /etc/exports (но только если вы полностью доверяете клиентским компьютерам). Добавив параметр all_squash, вы включите этот механизм для всех пользователей.
Узнать больше
На man-странице exports синтаксис файла /etc/exports описан более подробно, чем я показал на рисунке. На man-странице для NFS описаны многие опции, которые можно использовать с командой mount или добавить в файл fstab. В частности, можно исследовать параметры “hard” и “soft”, которые определяют поведение (на стороне клиента), если он пытается получить доступ к удаленному файлу, когда сервер выключен. Параметр “hard” заставит клиента ждать до тех пор, пока сервер не включится. С параметром “soft” клиенту будет отправлена ошибка по истечении таймаута операции чтения или записи.
Статей по безопасности и защите файлов очень много. Они сложноваты, но скрасят вам дождливый день... наверное. |
/pup
/exports
/project
/home/joe joespc (rw)
- (ro)
- .example.com (rw)
199.12.44.0/24 (rw)
Экспортировать /pub всем клиентам, только для чтения
Экспортировать /exports всем клиентам в домене example.com
Экспортировать /projects всем клиентам в сети 199.12.44.0/24
Экспортировать /home/joe одному конкретному клиенту