среда, 7 октября 2009 г.

TrueCrypt on ASPLinux (Fedora clone)

Привет!
Недавно озадачился вопросом, как установить на ASPLinux программу TrueCrypt.
Эта программа создает зашищенный криптоконтейнер. Обо всех особенностях долго рассказывать, они хорошо описаны на сайте http://www.truecrypt.org/ , можно и википедии посмотреть.

Чем хороша программа, так это тем, что она мультиплатформенная, т.е способна работать и под Линуксом и под ОС из Редмонда и, даже под макосом. Все вкусности этой программы опять же можно найти на вики, ссылка выше.

Однако, из-за лицензионных соображений, эта программа была исключена из репозитариев многих Linux дистрибутивов. И на сайте доступны версии в пакетах только для OpenSuse и Ubuntu.
Тем не менее, разработчики оставили возможность скачать исходники программы (The complete source code (in C, C++ and assembly)) в том числе и для Linux.

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

Для незнакомых с английским языком я попытаюсь сделать перевод этого Howto. :-)

1. С помощью установщика пакетов yum устанавливаем необходимые пакеты: 
sudo yum install fuse fuse-devel wx_Base wx_GTK wx_GTK-devel
 Возможно у вас, также, как и у меня нужно будет изменить wx_Base, wx_GTK, wx_GTK-devel на wxBase, wxGTK, wxGTK-devel соответственно.

2. Загружаем с сайта исходники прграммы.
3. Разворачиваем архив:
tar -zxvf TrueCrypt\ 6.2a\ Source.tar.gz
4. Переходим в корень:
cd truecrypt-6.2a-source
5. Загружаем RSA Security Inc. PKCS #11 Cryptographic Token Interface файлы:

wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h
wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h
6. Компилируем:
make
 7. Копируем собранный бинарник в /usr/bin :
cd Main
sudo chown root:root truecrypt && sudo cp truecrypt /usr/bin
 8. Копируем файлы иконок:
cd ../Resources/Icons
sudo chown root:root * && sudo cp * /usr/share/icons
Последнее. Устанавливаем параметры для программы sudo, чтобы программа TrueCrypt не обращалась к ней. Это нужно для того, чтобы обычный системный пользователь мог монтировать свои криптоконтейнеры без вызова sudo.
Сделать это можно двумя способами.
1. Менее безопасный путь - отключаем requiretty глобально:

# Defaults specification
#
# Disable "ssh hostname sudo ", because it will show the password in clear.
# You have to run "ssh -t hostname sudo ".
#
Defaults !requiretty

2. Более безопасный путь - в особенности для многопользовательского окружения - создать пользовательский псевдоним WHEELUSERS и добавим пользователя для этого псевдонима:

## User Aliases
## These aren't often necessary, as you can use regular groups
## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
## rather than USERALIAS
# User_Alias ADMINS = jsmith, mikem
User_Alias WHEELUSERS = max

Для тех, кто не понял - max - это имя локального пользователя в системе. Вместо него должно стоять ваше системное имя.
Теперь, создаем запись для созданного псевдонима, отключающую requiretty:

# Defaults specification
#
# Disable "ssh hostname sudo ", because it will show the password in clear.
# You have to run "ssh -t hostname sudo ".
#
Defaults requiretty
# added for truecrypt requiretty complaint
Defaults:WHEELUSERS !requiretty


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

Rkhunter

Давеча столкнулся с небольшой проблемой.
На рабочей машине установлена программа rkhunter. Думаю, вам известно, что это за программа. Если - нет, то можете погуглить. Скажу коротко - о назначении программы говорит её название: rootkit hunter - т.е. "охотник за руткитами".
Программа выдавала вот такую ошибку:
Warning: Suspicious file types found in /dev:
         /dev/shm/sem.ADBE_REL_niv: data
         /dev/shm/sem.ADBE_WritePrefs_niv: data
         /dev/shm/sem.ADBE_ReadPrefs_niv: data

Все остальное было в порядке.
После поиска в сети было обнаружено, что это последствия бага инсталлятора Acrobat Reader 9.1 для Linux. Подробности - здесь. А вот здесь нашлось решение проблемы, спасибо LinuxGuyInVA .
Для тех, кому не хочется ходить по ссылкам (:-), даю код:
For anyone using Adobe Reader (acroread) 9.x, there are some additional exceptions you may want:
  • ALLOWDEVFILE=/dev/shm/sem.ADBE_ReadPrefs_[a-zA-Z]*
  • ALLOWDEVFILE=/dev/shm/sem.ADBE_REL_[a-zA-Z]*
  • ALLOWDEVFILE=/dev/shm/sem.ADBE_WritePrefs_[a-zA-Z]*