четверг, 12 ноября 2015 г.

Улучшение безопасности Ubuntu одной строкой

Заинтригованы? Какая такая строка? Она по дефолту? Вау, вау ... палехче =). Добро пожаловать в статью, которая расскажет, как одна строка затрагивает глубинные вопросы и решает их.
Генерация случайных чисел слишком важна, чтобы оставлять её на волю случая.
Роберт Кавью.
В любой операционной системе есть генератор случайных чисел, который по требованию выдаёт числа, называемые псевдослучайными. Их называют псевдослучайными, а генератор - генератором псевдослучайных чисел (ГПСЧ, pseudorandom number generator, PRNG) из-за того, что любой компьютер – это детерминированное устройство по своему определению. Чтобы разбавить (reseed) ГПСЧ современные операционные системы максимально возможно пытаются использовать аппаратуру компьютера: нажатия клавиш, движения мыши, прерывания, сетевая активность, HDD и так далее.
Когда употребляется слово "разбавить" (reseed), то нужно знать о существовании пула псевдослучайных чисел. Ситуация с истощением пула начинает особенно явно проявляться на серверах и особенно сильно в виртуализированных, облачных средах. Гипервизор системы виртуализации эмулирует всё и ситуация только ухудшается.
Что страдает точно? Создание любых криптографических ключей (SSL, SSH, GPG), соли (salt) при создании пользователей, числа последовательности TCP пакетов, UUID (видели UUID="ca83ffa0-1cc7-493a-bb18-14806c9c73a2" ?), любое шифрование по определению.
Надумана ли проблема?
Давайте обратимся к недавней новости о том как облажались авторы Linux.Encoder.1, вредоносного ПО для шифрования файлов в Linux и FreeBSD с целью вымогательства. Они использовали некриптостойкий генератор случайных чисел и оставили неизменным время модификации файла, т.е. данные о векторе инициализации AES. Оставленной информации оказалось достаточно для восстановления исходного ключа AES и позволило обойтись без дешифровки ключа с использованием метода RSA. Случайные значения для ключей и векторов инициализации получались через вызов rand() из стандартной библиотеки, который использует генератор псевдослучайных чисел, отталкивающийся от текущего системного времени. Системное время шифрования было сохранено в метаданных файла (время модификации файла), что позволяет восстановить состояние генератора случайных чисел и сэмулировать процесс формирования ключа на момент вредоносного шифрования.
Кто-то может подумать, что он не готов делать лишнии телодвижения ради "безопасности" и его устраивает дефолтное поведение его ОСи. Тогда позвольте обратить ваше внимание на эту ситуацию с истощением пула с другой стороны - быстродействие!
В Linux системах есть два "файла-устройства":
  • /dev/random - этот файл-устройство предоставляет интерфейс к системному генератору случайных чисел (ГСЧ).
  • /dev/urandom - этот файл-устройство предоставляет интерфейс к системному генератору псевдослучайных чисел (ГПСЧ).
И тут на сцене появляется Android и одна старая ситуация, которая разделила людей на два лагеря, считающих друг друга сумасшедшими, не признающими очевидное. Системные компоненты и Java машина использовали активно /dev/random и легко его исчерпывали. При исчерпании /dev/random, в котором к случайным числам выдвигаются более строгие требования нежели urandom, начинались лаги графического интерфейса (UI). Все думали, что слаб CPU, а оказалось что дело всё таки в исчерпании пула. Один из разработчиков с форума XDA-Developers перекомпилил rngd и сделал не безопасное с точки зрения криптографии копирование-пополнение из /dev/urandom в /dev/random. Результат — потрясающее ускорение интерфейса Android с почти полным исчезновением лагов! Тяжеловесные приложения стали легко переключаться между собой. Родилась программа Seeder, которую половина восхваляла, а другая считала плодом эффекта плацебо!
"Что происходит? Или мы все тут сумасшедшие, или мы случайно наткнулись на какой-то неуловимый баг в ядре. Нужно дополнительное изучение этой темы", — писал Стив Кондрик (Steve Kondik), мейнтейнер CyanogenMod. С того времени, разработчики Android клятвенно заверяли, что в новых версиях Андроид эта ситуация исправлена и необходимость в Seeder отпала.
Я не хочу сказать, что решив проблему с истощением пула, всё сразу залетает, как сраный веник. Хотел лишь показать вам, как глубинная работа по обеспечению вашей безопасности в рамках HTTPS (для примера) может обернуться истощением пула, ожиданием его наполнения и в итоге торможением. Вы админ? Копируете огромные файлы backup с помощью scp? Открыто много терминалов SSH к своим серверам?
Если вы просто поставите Pollinate - sudo apt-get install pollinate , то ваш пул будет разбавляться с официальных серверов Canonical, обладающими аппаратными генераторами случайных чисел высокого качества. Для десктопных машин с доступом в Интернет - на этом всё! Вбейте в Терминале и понаблюдайте работу sudo pollinate -r && sleep 5 && sudo grep pollinate /var/log/syslog
Если вы админ (особенно виртуальных серверов) Ubuntu Server, то можете поставить в своей сети свой Pollen сервер и сослаться на него, подправив /etc/default/pollinate.
Что делать если ваш Pollen сервер не имеет доступа к Интернет и ему негде взять для клиентов качественные случайные числа? Тут я вам не помощник. Я читал про аппаратные генераторы случайных чисел и слышал о программах для систем Linux, которые помогут разбавить ГСЧ информацией из реального мира, например с микрофона, выведенного на улицу. Насколько это изврат, я не знаю. Думаю многим будет влом заниматься этим, а вот поставить Pollinate и/или Pollen дело 1 строки, как и обещал!
Canonical правильно делает, что занесла себе плюсик в разделе безопасность.

Источник

среда, 11 ноября 2015 г.

Запись видео с экрана Ubuntu. Установка и настройка Simple Screen Recorder в Ubuntu


В этой статье я хочу рассказать о записи видео с экрана в Ubuntu с помощью программы Simple Screen Recorder.

Есть довольно огромный зоопарк программ, которые могут записывать видео с экрана компьютера. Перепробовав кучу, все они меня чем то не устраивали, то видео корежилось, то настройки выбирать трудно и надо читать кучу материала. Хотелось простой и функциональной.
И в итоге я попробовал Simple Screen Recorder. Эта программа более чем устроила и я бы хотел в этой статье рассказать именно о ней.

Пример записи видео с помощью Simple Screen Recorder.



Записал тестовое видео и выложил на Youtube. Как видно, звук с компьютера из игры тоже записывается.

Установка Simple Screen Recorder в Ubuntu.

Откройте терминал и выполните следующие команды:
sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get install simplescreenrecorder
Так же, если у Вас 64 битная система, чтобы записывать 32 битные OpenGL приложения, можно поставить дополнительные библиотеки, с помощью следующей команды:
sudo apt-get install simplescreenrecorder-lib:i386
Программа установлена, теперь вы её можете найти среди установленных приложений.

Удаление Simple ScreenRecorder из Ubuntu. 

Для удаления данной программы откройте терминал и выполните следующие команды:
sudo add-apt-repository --remove ppa:maarten-baert/simplescreenrecorder
sudo apt-get update
sudo apt-get remove simplescreenrecorder simplescreenrecorder-lib:i386

Пример настроек для записи видео с экрана компьютера с помощью Simple Screen Recorder.

Не стал делать описание программы, лучше показать на примере.

Запустив программу, вас встретит окно приветствия:


Как видно, программа полностью переведена на русский язык.

Настройки записываемого экрана.

Жмём продолжить и попадаем на первое окно настроек:


Хочу сразу же обратить внимание на Профили, советую пользоваться ими. Чтобы не вводить постоянно настройки.

По другим настройкам проблем вообще возникнуть не должно.
Выбираем нужную область записи.
Если записываете видео уроки, то выставляете галочку "Записывать курсор".
Выбираете записывать или нет звук и выбираете источник звука.
По умолчанию, звук записывается только с вашего микрофона.
Чуть ниже расскажу, как записывать звук самого компьютера.
Частоты кадров "30" более чем достаточно.

Итак, выбрали область, которую хотим записать, выбрали остальные настройки и двигаемся дальше.

Настройка записываемого видео.

Теперь перед нами настройки записи видео:


Вот здесь уже больше настроек и начинают "разбегаться глаза".
Простой пользователь, далекий от монтажа и записи видео, может растеряться, что же ему выбрать.
Но не стоит бояться, еще один плюс этой программы, что если навести курсор на какую-либо настройку, то во всплывающем сообщение вам покажется минимальная и понятная справка:




С такими подсказками не составит труда выставить все настройки для записи видео.

Опять же, советую пользоваться Профилями, чтобы не выставлять каждый раз настройки заново.
Обязательно нужно выбрать путь, куда будет сохраняться видео файл. Имя файла не нужно вводить заново постоянно, видео файлы будут сохраняться с добавлением времени старта записи в ту папку, что указали.

И теперь уже можно записывать видео с экрана.

Окно записи видео с экрана компьютера.


Здесь также всё интуитивно понятно.
Можно включить предпросмотр и проверить, что микрофон работает и область для записи выбрана верно.
Также советую настроить горячие клавиши, чтобы включать запись (Иначе придется в видеоредакторе обрезать старт видео или будет выглядеть некрасиво).

После того, как остановите запись (также горячими клавишами) жмём сохранить.
В выбранном ранее каталоге будет файл записанного видео с экрана.

Как видите, программа простая в настройке, интуитивно понятная, с подсказками.

Как записать звук компьютера.

Есть проблема, что звук записывается только с микрофона, то есть, если вы записываете игру, то звука из игры на видео не будет.

На официальном сайте есть статья по этому поводу:

Я, думаю, что вы заметили в видео, которое я показал вначале, что там звук из игры есть.

Из этой статьи я воспользовался самым простым вариантом.
Во-первых, на первом окне настроек выбираем Pulse Audio для захвата звука.
Открываем терминал и выполняем следующую команду:
pactl load-module module-loopback
В результате звук с компьютера будет подаваться на микрофон. И кстати вы будете слышать себя, если будете говорить в микрофон.

Отключается это следующей командой:
pactl unload-module module-loopback
Вот в принципе и всё, что хотелось рассказать.

На официальном сайте еще есть интересные статьи по программе на английском языке:
Recording for YouTube
Recording Steam games

Если у вас есть опыт записи видео с экрана на Ubuntu, поделитесь в комментариях опытом.

Как вернуть классический системный трей в Ubuntu 14.04 и выше. Индикатор - системный трей для Unity Ubuntu 14.04 и выше - Indicator Systemtray.

Не так давно, разработчики Unity добавили собственный системный трей или системную панель. Некоторые разработчики приложений не обеспечили (или просто не захотели обеспечить) поддержку нового системного трея Unity. В итоге, не отображаются в системном трее такие приложения как, Pidgin, DeadBeef, а также, криво отображается Viber и многие другие.

В данной статье я расскажу, как это исправить. А именно с помощью установки индикатора Indicator Systemtray в Ubuntu 14.04 и выше.

Обзор индикатора системного трея Indicator Systemtray.

Эта программа представляет собой обычный индикатор на системной панели, который содержит те иконки индикаторы приложений, которые не поддерживают новый системный трей Unity.


Если нажать левой кнопкой мыши, то будет отображено содержимое:


Кроме того, можно отобразить эти индикаторы приложений на самой панели, для этого нужно щелкнуть колесиком мышки (у ноутбука: одновременно нажатием левой и правой клавиши тачпада) по изображению самого индикатора:


Но эти ярлыки располагаются группой статически и  расстояние может не удовлетворить вас:


Нужно на индикаторе Indicator Systemtray, колесиком мышки прокручивая, отрегулировать нужное вам расстояние.
Кроме того расстояние можно задать в терминале, выполнив следующую команду:
gsettings set net.launchpad.indicator.systemtray static-x 700
Где 700 - расстояние слева монитора. Подбирать своё. Это удобнее чем долго крутить колесиком :).

Ну и если нажать правой или левой кнопкой мыши на индикаторе(когда индикаторы других программ не внутри данного индикатора), то можно сменить фон значков:

Вот и всё, что он из себя представляет.

Установка Indicator Systemtray в Ubuntu 14.04 и выше.

Открываем терминал и выполняем следующие команды:
sudo apt-add-repository ppa:fixnix/indicator-systemtray-unity
sudo apt-get update
sudo apt-get install indicator-systemtray-unity

Всё, теперь нужно перезапустить сеанс или перегрузить компьютер. Только тогда появится новый индикатор на системной панели Unity.

Удаление Indicator Systemtray из Ubuntu.

Для удаления выполните следующую команду в терминале:
sudo apt-get --purge remove indicator-systemtray-unity

Установка и настройка Viber в Ubuntu (64 bit)

В данной статье хочу рассказать про программу Viber, которая позволяет бесплатно отправлять текстовые сообщения и звонить другим пользователям Viber на любые устройства в любой сети и стране. А также о том, как исправить индикатор программы для трея Unity Ubuntu.


Об "убийце Скайпа из Беларуси".

Viber для Linux позволяет бесплатно отправлять текстовые сообщения и звонить другим пользователям Viber на любые устройства в любой сети и стране! Viber синхронизирует ваши контакты и сообщения с вашим мобильным устройством.
  • Отправка текстовых сообщений, фотографий и стикеров.
  • Групповые беседы.
  • Бесплатные звонки другим пользователям Viber.
  • Полная синхронизация между вашим мобильным устройством и компьютером с Linux.
  • Переадресация текущих звонков между вашим мобильным устройством и компьютером.
  • Не нужны регистрация, пароли и приглашения.
Вот так выглядит интерфейс программы:



Для того, чтобы пользоваться Viber, нужно сперва его установить на мобильный телефон.
В программе для компьютера интерфейс не русифицирован пока что.

Что понравилось в Viber, что он не тормозит на телефоне, как Skype. Очень легкий и шустрый клиент, что на компьютере, что на телефоне.

Программа Viber есть только для 64 битного Линукса. Опять про 32 бита забыли...

Установка Viber в Ubuntu (64bit).

Чтобы установить Viber в Ubuntu (64 bit), скачайте деб пакет программы с официального сайта по следующей ссылке:


После этого установить через Центр приложений Ubuntu или другим удобным для вас способом.
Ссылка взята с официального сайта Viber, там же можно загрузить программу и для других ОС:



Настройка Viber в Ubuntu.

1. Как исправить индикатор Viber в трее Ubuntu.

Прежде, чем воспользоваться инструкцией ниже, советую почитать следующую статью:

В ней решается проблема с индикатором Viber и инструкция ниже окажется бесполезной.



После запуска Viber в Ubuntu, индикатор находится в левом верхнем углу, что мешает нормально закрывать окна программ и не удобно открывать сам Viber:


Давайте же исправим это.
Нужно установить Viber Wrapper Indicator, который заменит этот индикатор.
Откройте терминал и выполните следующие команды:

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install viberwrapper-indicator

После установки, в Dash появится новый ярлык для запуска программы:


Вот именно его и нужно выбирать для открытия программы и тогда будет нормальный индикатор в системном трее:


Можно удалить старый ярлык приложения, чтобы в Главном меню Dash его не было:
sudo rm /usr/share/applications/viber.desktop
Кроме того, если хотите, чтобы Viber запускался с правильным индикатором при старте системы, нужно убрать галочку "автостарта при запуске системы" в настройках самой программы:


Затем ищем в Главном меню Dash ищем программу "Автоматически запускаемые приложения", открываем и добавляем новую:


В поле Имя вписываем любое удобное значение, к примеру Viber.
В поле Команда надо вписать:
viberwrapper-indicator
Жмём добавить. Всё. Теперь при старте системы будет запускаться Viber с правильным индикатором в системном трее.

2. Настройка положения уведомлений.

Если вам не нравится, что уведомления показываются не в том месте, то можно это настроить.
Переходим в настройки программы (значок шестеренки) и на вкладке "Notifications" выбираем положение уведомлений:


3. Если не работает звук. 

Выберите правильные устройства на вкладке Audio & Video в настройках программы:



Вот и всё.
Приятного общения!

Дополнительные пункты в меню правой кнопки Nautilus Ubuntu 14.04

sudo add-apt-repository ppa:nae-team/ppa

sudo apt-get update

sudo apt-get install nautilus-actions nautilus-actions-extra

nautilus -q