Шифрование и секретность в Linux

         

Шифрование и секретность в Linux

В эпоху электронных коммуникаций приходится уделять особое внимание вопросам конфиденциальности и защиты данных. Едва ли не каждый день приходится слышать о новых жертвах хакеров или пробелах в системе безопасности приложений, которым вы привыкли доверять.
В то же время шифрование обмена данными стало вполне обыденным явлением. На всех солидных коммерческих сайтах пересылка конфиденциальных данных (номера кредитной карты, домашнего адреса) защищается при помощи протокола SLL (Secure Sockets Layer).
Самый распространенный тип компьютерных преступлений вообще не связан со «взломом». Многие беспечные пользователи доверяют пересылку информации по Интернету таким протоколам, как POP и FTP. При этом пользователь может непреднамеренно передать свое имя и пароль в текстовом (не зашифрованном) виде.
Пересылка конфиденциальных данных в текстовом виде означает, что любой злоумышленник с программоп-сниффером (приложение, перехватывающее сетевой трафик между двумя сторонами) теоретически сможет получить доступ к секретной информации. Все сказанное относится и к области баз данных.
Удаленное подключение к PostgreSQL без шифрования данных открывает потенциальные возможности для злоупотреблений. Если хакер установит сниффер в вашей сети или в сети между клиентом и сервером, к которому вы подключаетесь, он сможет получить полный доступ ко всей информации, хранящейся в PostgreSQL.
Мы рассмотрим три общих способа шифрования данных между PostgreSQL и клиентом.
Встроенная поддержка SSL. Поддержка SSL в PostgreSQL активизируется при компиляции с ключом --with-ssl. Это позволяет psql (или любому клиенту, написанному с учетом возможности подключения к PostgreSQL через SSL) установить защищенное подключение к PostgreSQL.
SSH/OpenSSH. Сеанс SSH (Secure SHell) позволяет создать туннель (tunnel) к удаленному серверу — при условии, что демон SSH (например, sshd) установлен в системе и доступен для подключающегося пользователя. Для этого в системе, в которой работает PostgreSQL, создается учетная запись для каждого пользователя.
Stunnel. Приложение Stunnel создает шифрованный туннель для обмена данными между клиентом и сервером PostgreSQL. Для пользователей, не имеющих прямого доступа к удаленному серверу, Stunnel можно настроить на работу в клиентской системе.

Аутентификация и шифрование
Аутентификация клиентов занимает центральное место в PostgreSQL. Без нее пришлось бы либо пожертвовать возможностью удаленного подключения, либо слепо разрешать каждому, кто подключается к серверу, выборку и даже модификацию данных. PostgreSQL предоставляет в ваше распоряжение несколько механизмов аутентификации клиентов, и вы как администратор базы данных должны выбрать тот механизм, который лучше подходит для вашей системы.

Управление базами данных
В этой главе будут рассмотрены некоторые вопросы управления СУБД PostgreSQL, в том числе запуск и завершение серверного процесса PostgreSQL, инициализация файловой системы, а также создание, удаление и сопровождение баз данных. Кроме того, рассматриваются вопросы архивации и восстановления данных из базы.

Управление пользователями и группами
Каждому пользователю PostgreSQL назначается внутренний системный идентификатор (sysid) и пароль, хотя пароль не всегда обязателен для подключения (это зависит от файла конфигурации pg_hba.conf, о котором говорилось в главе 8). Системный идентификатор связывает объекты базы данных с владельцем (так называется пользователь, которому разрешено предоставлять и отзывать права доступа к объекту).

PL/pgSQL
Поддержка языков программирования реализуется отдельным объектом базы данных. Таким образом, прежде чем использовать язык PL/pgSQL, необходимо включить его поддержку в базу данных (по умолчанию PL/pgSQL устанавливается вместе с PostgreSQL). В этом разделе описана процедура включения PL/pgSQL в существующую базу данных

JDBC
Прежде чем использовать JDBC, следует построить драйверы JDBC для PostgreSQL. Для этого необходимо иметь исходные тексты драйверов на языке Java, входящие в полную поставку PostgreSQL и в пакет opt. Их также можно загрузить с сайта PostgreSQL

LXP
Атрибут start инициализирует целочисленный счетчик цикла, который увеличивается на 1 при каждой последующей итерации. Если в теге определен атрибут end, цикл прекращается после достижения числа, указанного в этом атрибуте. Если же определен атрибут endbefore, цикл прекращается на одну итерацию раньше. Таким образом, атрибуты end и endbefore в этом отношении функционально эквивалентны операторам = и таких языков программирования, как РНР и С

Команды PostgreSQL
Описание каждой команды за редким исключением делится па три части: синтаксис, описание и примергл. В первой части приводится общий синтаксис команды, объясняется смысл параметров и возможные результаты выполнения команды. Во второй части приводится краткий обзор основных применений команды. В последней части дается хотя бы один практический пример ее использования.

Типы расширенных кодировок
Перечислены расширенные кодировки, поддерживаемые PostgreSQL версии 7.1.x. Эти типы кодировок доступны только в том случае, если при конфигурировании PostgreSQL был задан ключ --enable_multibyte (см. главу 2). Если расширенная кодировка не нужна, укажите тип SQL_ASCII.

Linux -сборник рецептов

Итак, вы принадлежите к числу относительно неопытных пользователей Linux. Вы установили Linux, вам удалось войти в систему, пошарить в Интернете, отправить и получить электронную почту... а дальше что? Несмотря на успешное выполнение некоторых простейших задач, вы чувствуете себя словно пилот самолета, летящего на автопилоте. В вашем распоряжении масса замечательных возможностей (во всяком случае, так вам сказал ваш знакомый, большой знаток в области Linux), но как за них взяться? Что где находится и как работает? Что это за штуковина под названием grep, о которой так часто говорят? И как наладить работу Samba? И где находится эта документация?
Мир Linux/Unix отлично документирован. Нет, я серьезно! Вы сможете найти ответ на любой вопрос; нужно только знать, где искать. Man-страницы, info-страницы, файлы README, документация в формате HTML, сами программы... Не нужно быть великим программистом, чтобы отыскать полезную информацию в исходных текстах, потому что все необходимые сведения часто содержатся в комментариях.
Среди тысяч виртуальных сообществ Интернета всегда найдется одно (или несколько) для конкретной программы из Вселенной Linux. Почти у каждой программы, какой бы малой она ни была, существует собственный список рассылки. У каждого дистрибутива Linux имеются свои списки рассылки и форумы пользователей. Я уже не говорю о многочисленных книгах и журналах. Получается, что настоящая проблема с документацией Linux — не ее нехватка, а получение нужной информации без долгих и самоотверженных поисков.
Предполагается, что читатель является администратором отдельного компьютера или локальной сети и может получить привилегии root в случае необходимости. Может быть, вы стремитесь в полной мере управлять работой своего Linux-компьютера, или создать свой собственный почтовый или веб-сервер, или создать небольшую сеть. А может, вы — системный администратор Windows, которому неожиданно потребовалось подключить Windows-клиентов к серверам Linux... или включить серверы Linux в существующую сеть... или интегрировать компьютеры с Linux и Windows в одной смешанной сети.
А может, вам вообще нет дела до Windows, и вы просто хотите освоить системное администрирование Linux.
Для Linux существуют тысячи программных пакетов. Почти все они делают чтото полезное, поэтому заранее понятно, что рассмотреть все темы (или хотя бы их большинство) попросту невозможно. Решения о том, какой материал включить в книгу, а какой оставить за пределами рассмотрения, принимались в соответствии с моими представлениями о базовых навыках администрирования Linux (возможно, у вас эти представления будут другими).
В мире существуют тысячи дистрибутивов Linux. Свои дистрибутивы создают отдельные компании, кампусы и даже просто группы единомышленников. Тем не менее дистрибутивы делятся (пусть и не очень четко) на две большие категории: системы на базе RPM, представленные в книге Red Hat и Fedora, и системы на базе apt, представленные Debian. Семейство Debian бурно развивается и пополняется такими представителями, как Knoppix, Xandros, Libranet, Unbuntu и Linspire.

Man и info универсальные руководства Linux
Практически у каждой программы, написанной для Linux, имеется своя man-страница. Как правило, man-страницы не предназначаются для освоения программы новичками. Они создаются для других целей: документирование синтаксиса команды, описание всех параметров и ключей, а также общедоступность. Даже если вы окажетесь на компьютере, полностью отрезанном от внешнего мира, в вашем распоряжении всегда будет информация из man-страниц.


Установка и сопровождение в системах на базе Debian
В данном случае исправление конфликтов зависимостей потребует едва ли не полной перестройки системы. Чаще проблемы ограничиваются несколькими пакетами. В этом случае начинайте удалять наименее важные из них, пока конфликты зависимостей не будут разрешены, а затем переустановите все пакеты, которые вам нужны. Если apt-get -u dist-upgrage отображает какие-либо задержанные (held) пакеты, от них лучше избавиться. Пакеты удерживаются из-за конфликтов зависимостей, которые не удается разрешить apt. Попробуйте воспользоваться следующей командой для поиска и исправления конфликтов

Создание учетной записи пользователя командой useradd
Воспользуйтесь командой useradd -m для создания имени пользователя, его домашнего каталога и других переменных окружения; затем назначьте пароль командой passwd -e. До создания пароля учетная запись остается неактивной. Далее приводится простейший вариант вызова. С флагом -m команда создает домашний каталог и копирует в него файлы из /etc/skel: # useradd -m имя_пользователя

Добавление нового загружаемого модуля ядра
При установке сторонних модулей; не входящих в дерево ядра, следует руководствоваться инструкциями производителя. Стандартная процедура включает загрузку исходных текстов, сборку модуля и его загрузку командой modprobe. Некоторые производители (например, nVidia) включают сценарий, который делает все за вас.

Хакеры.Герои компьютерной революции

Как-то незаметно получилось, что за последние годы достаточно большое количество значений слова "хакер": "компьютерный гений--озорник-любитель-специалист-исследователь" постепенно сжалось до "компьютерного хулигана-преступника".
Давайте проведем небольшой тест. Какие ассоциации вызывает у вас слово "хакер?".
Обозлившийся на весь мир прыщавый подросток в периоде полового созревания, пишущий очередной кривой вирус и страстно желающий прославиться при помощи этого на весь мир, в крайнем случае на всю школу.
Очень нехороший молодой человек, непременно в черных очках, упакованный в черную кожу, с дорогой сигаретой в зубах, сидящий с ноутбуком в машине с наглухо тонированными стеклами. Его правая рука сжимает мышь, а левая — большой никелированный пистолет. Если левша, то наоборот.
Обрюзгший мужик неопределенного возраста в толстых очках с роговой оправой (как вариант — очень худой молодой человек, в очках в тонкой металлической оправе), косматый (лысый), небритый и немытый много месяцев (это обязательно), непременно с банкой пива в руке, упаковкой пива на столе и с пакетом чипсов (как вариант — попкорна) в обнимку, пищущий супергениальную программу, дешифрующую древние письмена или сигналы зеленых человечков.

Этика Хакеров
Произошло открытие нового мира, удивительного в своей логике, где понятия не допускали двойных толкований. Только "да" и "нет": "ноль" и "единица" — вот их фундамент. Мира, которым можно было бы управлять по своему желанию и который можно было перекраивать по своему усмотрению. Мир, в котором из небольшого набора элементарных вещей можно было бы строить сколь угодно сложные вещи. Мир, который возвращал вам чувства, которые вы в него вкладывали. Он давал торжество разума, испытывающего радость при виде того, как нечто выполняет действия в точности по тому плану, который вами описан.

Восстание в году
Первый терминал публичного доступа, созданный в проекте Community Memory (Память Сообщества) был крайне неказистой машиной, установленной в людном фойе второго этажа в высоком здании самого эксцентричного города в США – Беркли, Калифорния. То что компьютеры придут наконец к обычным людям именно в Беркли было неотвратимым. Все остальное уже было – начиная от изысканных блюд для гурманов и заканчивая местным истеблишментом.

Секреты
Хакеры из Клуба Самодельщиков либо ушли в бизнес, сделав ноги в какую-нибудь из компаний, которые росли как грибы на начальных стадиях микрокомпьютерного бума, или занимались тем же, что и обычно: то есть хакерством. Теоретики, которые видели в пришествии малых компьютеров средство распространения хакерского духа, обычно не тратили время на оценку ситуации: действительность менялась слишком быстро, чтобы над ней стоило ломать голову.

Фестиваль Apple
Третье Поколение хакеров уживалось с Хакерской Этикой с такими компромиссами, которые заставили бы в ужасе отшатнуться таких людей как Госпер и Гринблатт. У молодежи все сводилось к деньгам – основная линия программирования была неотвратимо завязана на нижнюю часть платежного баланса их издателя. Элегантность, новизна, взрывные эффекты в программном коде – все это еще признавалось, но в качестве нового критерия оценки хакерской деятельности постепенно заняли место впечатляющие объемы продаж.

Роско и его ребята
Гpуппа деpжалась если не на вполне дpужеских, то на паpтнеpских отношениях. Каждый из ее членов обладал опpеделенными знаниями и способностями, необходимы- ми для общего дела. Роско был великолепным пpогpам том и пpиpожденным лидеpом. Сьюзен Сандеp гоpдилась своими познаниями в вычислительной технике, использо- вавшейся в аpмии, а также своим удивительным умением воздействовать на людей, особенно на мужчин.

Пенго и проект "Эквалайзер"
Поздней осенью 1986 года два молодых человека пересели границу на подземке и вышли в Восточном Берлине на Фридрихштрассе. Когда дошло до паспортного контроля, Питер Карл, чернявый невзрачный коротышка немногим более тридцати лет, взял инициативу на себя. Деловито щелкнув пальцами, он шлепнул паспорт перед носом пограничника и заявил, что у него назначена встреча. Его спутник, высокий, бледный, худенький юноша, назвавшийся Пенго, сидел в стороне и ждал проверки. Как понял Пенго, за несколько недель до того Карлу удалось установить первый контакт.

RTM
У Боба хватало такта никогда не сажать Роберта перед собой со словами: "Слушай, я собираюсь прочесть тебе лекцию". Иногда у них' завязывалась дискуссия, касавшаяся какой-нибудь технической проблемы, которая могла тянуться часами или даже днями. -Когда они говорили о своем -- это могло быть слабое место в защите UNIX или монтаж электронной схемы - они не замечали остальных членов семьи. Боб, поскольку он знал больше, иногда бывал неоправданно суров к Роберту и крайне требователен. Невольно слыша их беседы, Энн могла бы сказать, что Боб давит на сына.

Компьютерный андеграунд
Я натолкнулась на новый храбрый мир компьютерных коммуникаций и его темную сторону, подполье, весьма случайно. Это подтолкнуло меня на путешествие, которое последовало за трепетом моего сердца и конфликтом моего желания исследовать этот чужой мир. Возможно оно было сравнимо с желаниями моей тети полвека назад.

Первая страница Нью-Йорк Таймс
У Пада было важное предупреждение для австралийских хакеров: сообщество компьютерной безопасности охотилось за ними. Был конец февраля 1990-го, немного позже того, как Феникс и Электрон захватили Zardoz и только что упустили Deszip. Не в стиле Пада было наводить панику. Но Электрон получил ясное и громкое предупреждение.

Антракс - аутсайдер
Антракс покрутился по привычному пути дефолтовых имен пользователей и паролей. Ничего. Для этой системы требовалась более стратегическая атака. Он вышел из экрана логина и вошёл на другой интернетовский сайт, чтобы хорошенько разглядеть System X с большого расстояния. Он попробовал выполнить команду "finger", чтобы собрать любую информацию, которую System X открывал всему Интернету. Он исследовал в поисках открытия. И он его нашёл. Sendmail.

Основы хакерства
Любой серьезный взлом требует некоторых подготовительных исследований, которые должен произвести хакер перед тем, как усесться за компьютер. Грамотному “взломщику” необходимо владеть определенным объемом информации. Чтобы заняться хакерством, вам, естественно, следует обладать кое-какими сведениями о компьютерах и телекоммуникациях (на уровне идей), но для реального взлома нужен, в первую очередь, телефонный номер, или какой-либо другой путь получения доступа к “вражескому” компьютеру.

Что греховно, а что нет
Я хочу поговорить о некоторых не хакерских методах разрешения хакерских проблем. Бывают случаи, когда по какой-то причине хакеру требуется совершить взлом за какой-то определенный короткий промежуток времени. В таких ситуациях обычные методы, занимающие много времени, не годятся, и тогда приходится прибегать к крайним мерам.

Учебник хакера
Проникнуть в чужую систему и добиться там root привелегий это еще полдела. Как и в известной игре в "Царя горы", завоеванное нужно удержать. Для этого в систему вносятся небольшие изменения, оставляются программы. Это и есть backdoors. Чтобы найти их в своей системе ( А вдруг они там уже есть?! ;-), необходимо понимать способы их создания. В этом документе я не претендую на описание всех возможных backdoors. Вы можете предложить свой способ и пополнить коллекцию.

Действующие лица
Пользователи, как правило, привыкли иметь дело с так называемыми интерактивными программами. Интерактивная программа - это программа, которая получает от пользователя запросы и выдает на них какие-то ответы. "Демон" же с пользователем непосредственно не общается. Дело в том, что часто бывает нежелательно, а иногда и просто невозможно физически открыть интерактивной программе доступ к той информации, которая нужна ей для работы