Pull to refresh
2
0
Анатолий Егоров @alxrt

User

Send message

Организация SSH-доступа по одноразовым паролям

Reading time4 min
Views6.9K
В любой серьезной компании иногда возникает необходимость в том, чтобы сотрудник, уехавший в отпуск, срочно выполнил свои должностные обязанности. Рассмотрим ситуацию, когда компании необходим конкретный сотрудник, например, системный администратор, который в данный момент возлежит на пляже в тысяче километров от душного офиса. Допустим даже, что этот сотрудник согласен выполнить неожиданно свалившуюся ему на голову работу и на курорте есть интернет-кафе. Но вот проблема: кафе располагается в темном переулке, на его компьютерах стоят популярная ОС, трояны, кейлоггеры и прочие хактулзы, так что набирать пароль root'а от главного сервера компании на подобных машинах довольно неразумно.

Существует несколько решений этой задачи. Например, можно использовать одноразовые пароли, а именно систему s/key, использующую для генерации паролей алгоритмы md4 и md5. Об этой системе и будет рассказано далее.
Читать дальше →
Total votes 95: ↑93 and ↓2+91
Comments45

Оптимизация MySQL запросов

Reading time4 min
Views124K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →
Total votes 143: ↑132 and ↓11+121
Comments142

Реализация отказоустойчивого файлового сервиса на базе SAMBA

Reading time14 min
Views21K
Статья рассказывает об организации отказоустойчивого файлового сервера на базе пакета Samba. Для понимая материала нужно иметь общее представление об администрировании ОС Linux, а также иметь опыт работы с обычной версией Samba.



Samba – это сервис CIFS, разработанный для того чтобы обеспечить семантику протокола CIFS (и соответственно доступ с машин под управлением Windows) к среде, использующей POSIX файловую систему. Основная функция Samba – преобразовать богатую семантику, которую используют клиенты на базе Windows к значительно более бедной семантике файловой системы POSIX.

Читать дальше →
Total votes 95: ↑86 and ↓9+77
Comments48

Индикация о новом сообщении Gmail через Arduino

Reading time2 min
Views6.5K
Неделю назад получил бандероль с Freeduino 2009 — полный аналог Arduino Duemilanove.


Хочу показать простенький пример. В данном примере Arduino будет Вас информировать о новых сообщениях на Gmail. Так как, пока не приобрел LCD дисплей, в качестве индикации будет моргать светодиод.

Приложение состоит из 2-х частей. Первая часть на ПК — скрипт на Python, который с помощью cron запускается каждые n минут, проверяет сообщения и отправляет количество непрочитанных писем по последовательному порту в Arduino. Вторая часть на Arduino — скейтч, который проверяет значение отправляемое с ПК и если писем больше нуля то начинает моргать светодиод.

Читать дальше →
Total votes 62: ↑48 and ↓14+34
Comments45

Правильная организация файлов или наше спасение в наших руках

Reading time4 min
Views44K
imageЯ не открою Америку, если скажу, что способ организации файлов в современных ФС мягко говоря не совсем удобен для конечного пользователя. И действительно: иерархическая модель представления данных на основе файлов и каталогов, не менявшаяся уже несколько десятков лет, просто не способна соответствовать современным потребностям в хранении большого количества разнородного контента. И если с музыкальной информацией все более-менее хорошо, благодаря таким медиа-библиотекам, как iTunes или Amarok, то с файлами остальных форматов ситуация до сих пор остается очень печальной.
Читать дальше →
Total votes 81: ↑56 and ↓25+31
Comments136

Установка и настройка rTorrent в Debian

Reading time6 min
Views64K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →
Total votes 71: ↑57 and ↓14+43
Comments35

Не стоит прогибаться под изменчивый мир или создаем свою атмосферу

Reading time4 min
Views4K
Очередное эссе из разряда «нечеткой логики».

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

Вообще, это интуитивное понятие — атмосфера — и поэтому описать его строго сложно. Это скорее ощущение. Атмосферы бывают сильные и слабые, доброжелательные, враждебные, тоскливые и т.д. Это что-то вроде внутреннего настроя и состояния нескольких человек. Чем больше народу в одной атмосфере, тем она сильнее. Яркий пример: похороны. Все находятся в состоянии подавленности и грусти, даже если не очень этого хотят!

Есть несколько важных моментов:
1. Атмосферу можно создать в-одиночку
2. Атмосферу можно «сломать»
3. Деструктивные атмосферы имеют свойство самоусиливаться (например, агрессивная толпа)

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

Разберем несколько примеров.

ГАИшник. (Мой любимый пример.)
Ситуация первая: вас тормозит на посту работник ГАИ. Ваши эмоции? Если вы торопитесь часто возникает мысль «Какого фига! Я же ничего...», она перерастает в раздражение, которое трудно скрыть и это чувствует ГАИшник. Теперь поставьте себя на его место: было бы вам приятно если бы вас на работе ни за что ни про что поливали эмоциональной грязью (раздражение я считаю именно такой субстанцией)?
Читать дальше →
Total votes 123: ↑101 and ↓22+79
Comments60

Защищаем SSH от брутфорса на любом порту

Reading time3 min
Views113K
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества:
— дает мне больше попыток для набора правильного пароля
— но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?
Читать дальше →
Total votes 114: ↑106 and ↓8+98
Comments139

Настройка и понимание Bacula

Reading time6 min
Views153K
Иногда проснувшись утром отчетливо понимаешь — что то не так. Хотя ты побрился и даже ни разу не порезался, кофе не выкипел, на улице солнечное утро, добрался до работы быстро и без приключений, вроде бы все хорошо, а все равно что то не так. Но войдя в офис ты видишь общую панику, истеричные вопли, о том, что все пропало и «весь офисный планктон» умрет, а ты находишься во главе тех кто погибнет.
Оказывается ночью отказали файловый и почтовый серверы. И тут понимаешь, что не с проста утро началось так хорошо. Работы предстоит достаточно, но данные надежно сохранены, ибо ты позаботился об их резервном копировании.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments46

NDA (non-disclosure agreement, соглашение о неразглашении)

Reading time3 min
Views152K
Также известное как соглашение о конфиденциальности является юридическим контрактом, по крайней мере, между двумя сторонами, который обрисовывает в общих чертах конфиденциальный материал, знание, или информацию, которой стороны желают поделиться друг с другом в определенных целях, но желают ограничить доступ к третьими лицами. Это — контракт, через который стороны соглашаются не раскрыть информацию, закрытую соглашением. NDA создает конфиденциальные отношения между сторонами, чтобы защитить любой тип конфиденциальной информации.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments18

Визуальные эксперименты

Reading time1 min
Views1.3K
Тут как-то обсуждали про крутую рисовалку, которая многих привела в восторг =), в том числе и меня.

Так вот, на сайте www.escapemotions.com/experiments.html на радость всем любителям прикольных визуальных штук выложена подборка интересных интерактивных экспериментов.

image

Автор — 3D-аниматор и дизайнер Peter Blaškovič (http://twitter.com/peterblaskovic). Все эксперименты сделаны на Flash и Processing — этаком «Java-рендере». Для просмотра Java и Flash должны быть установлены и разрешены.

Приятного времяпрепровождения!
Total votes 63: ↑54 and ↓9+45
Comments14

Cogear: взгляд дилетанта

Reading time3 min
Views681
О CMS Cogear я впервые узнал на Хабре, и произошло это абсолютно случайно. Впрочем, случайность оказалась весьма уместной, так как в последнее время я задумался о переводе сайта своего проекта на другую CMS. Следует заметить, что Wordpress при всех своих удобствах оказался весьма прожорливым, и простое желание узнать что-то новое переросло в серьезную необходимость: систематические всплески посещаемости, в том числе и хабраэффект, не оставили мне другого выбора.

Кстати, даже если бы не возникла необходимость, я все равно занялся бы переходом на другую CMS, ибо хочется реализовать мысль о существенном расширении проекта.
Читать дальше →
Total votes 45: ↑27 and ↓18+9
Comments54

«Распределенное управление информационными потоками»/«Distributed Information Flow Control»

Reading time5 min
Views3.5K
Недавно по просьбе своего научного руководителя делал компиляцию и обзор для своей группы некоторых актуальных топиков в сфере безопасности ОС и систем в целом: automated trust negotiation (автоматическое «обсуждение» прав доступа — не знаю как правильно перевести) и information flow control (контроль потоков информации). Хотел запостить эту компиляцию, но к своему удивлению нашел, на мой взгляд, необоснованно мало сведений о DIFC (distributed information flow control/распределенном управлении инфромационными потоками) в .RU и поэтому решил написать эту небольшую статью по DIFC.

Мотивация
Практически единственным способом обеспечивать безопасность и приватность данных в системе принято считать аутенификацию (отвечает на вопрос: «Кто это сказал?») и авторизацию («Что он имеет право делать с этими данными»). Т.е. если программе необходим доступ к некоторым данным, мы фактически имеем 2 варианта: отказать или поверить. Если мы не доверяем этой программе, то теряем возможность работать с ней и возможно лишаемся важной функциональности. Если же мы решаем, что доверяем программе (и/или ее разработчикам), то программа фактически становится «полновластным хозяином» этой информации (или копии). Такой принцип в литературе называют All-Or-Nothing — «Все или ничего».

Естественно, что этот принцип недостаточно гибок и кроме того является основной причиной многих уязвимостей в системах, таких как переполнение буфера. В общем случае, этот принцип не позволяет создавать более интересные приложения, где права доступа не ограничиваются традиционными: «no access», «read only» и «read/write». Оказывается, что существуют системы, которые позволяют намного более гибкие разграничения прав доступа к данным — системы с поддержкой управления информационными потоками. Самой главной особенностью этих систем является то, что они следят за данными на всем протяжении их жизненного цикла в системе. Вспомним, что традиционно система ответственна только за начальный доступ к данным, например, проверку имеет ли программа доступ к файлу, а что после этого программа делает с этими данными систему уже не интересует.

Классический пример. Допустим, что в системе есть 2 пользователя Алиса и Боб. Они хотят назначить встречу, но так чтобы не раскрывать слишком много информации о своем расписании недели. Можно ли в многопользовательской системе Linux/Unix/Windows написать программу таким образом, чтобы она имела одновременный доступ к календарям и Алисы, и Боба и гарантировала конфиденциальность обоих пользователей системы?
И можно ли?!
Total votes 23: ↑19 and ↓4+15
Comments16

Гомоморфное шифрование/ (Fully) Homomorphic Encryption

Reading time2 min
Views6.9K
Так и подмывало озаглавить тему: «Закат компании Гугл близок!», но все-таки слишком уж «желто» было бы.

Теперь к делу. Что такое «гомоморфное шифрование» и причем тут Гугл?

Гомоморфным шифрованием называют такую криптосистему, которая позволяет совершать некоторые математические действия с открытым текстом путем произведения операций с зашифрованным (возможно другое математическое действие или даже ряд операций). Например, RSA гомоморфна для операции умножения (тривиально из самого шифрования).

Удивительно, но до недавних пор не существовало криптосистемы гомоморфной для операций умножения и суммирования одновременно, так называемого полностью гомоморфного шифрования (fully homomorphic encryption), т.к. суммы и умножения хватит, чтобы выразить любую математическую функцию. Главная проблема с предыдущими схемами была в том, что каждая операция добавляет некоторый «шум» в криптотекст (посмотрите на формулу RSA и вспомните определение mod), поэтому через некоторое количество шагов накопленный шум делает расшифровку невозможной. Насколько я помню из презентации, говорилось, что подобные схему все же существуют, но они экспоненциональны по «эффективности».

Крэйг Гэнтри (Craig Gentry, PhD Stanford, IBM Research) опубликовал пример первой такой функции в своей PhD диссертации. Не вдаваясь в подробности (да и не буду делать вид, что на 100% понял все математические выкладки), смысл его решения заключается в том, что он использует двойное шифрование. Т.е. через определенное количество шагов он «снимает верхний слой» (первое шифрование) и «убирает» накопившийся «шум».

Как это работает, я расскажу общими словами и примерами, которые он сам использовал в своей презентации. Кому интересна математика и более формальное объяснение — читать диссертацию.
Остальным под кат
Total votes 118: ↑110 and ↓8+102
Comments58

Как я ловил хакера

Reading time2 min
Views44K
Произошло это в начале 2008 года, когда я еще работал в одном крупном украинском банке инженером в IT-департаменте. Только спала новогодняя праздничная суета, и нагрузка на подразделения техподдержки немного поубавилась, как один из подотчетных мне web-серверов сообщил о заканчивающемся на диске месте. Беглый анализ показал, что стремительно росли логи IIS сервера, на котором крутится один из публичных платежных комплексов банка. Мои опасения оправдались – на сервер началась DDOS атака.
Читать дальше →
Total votes 431: ↑407 and ↓24+383
Comments192

Пишем спецификации. Часть 1. Инструменты — начинаем с простого

Reading time3 min
Views26K
Итак, наконец-то мы решили начать писать спецификации. Поскольку сам процесс для нас новый, пускай хотя бы инструменты будут привычными.
Что мы хотим от инструмента? Пожалуй, все требования сводятся к одному слову — удобство. Ведь нужно иметь очень веские причины, чтобы заниматься чем-то, если это делать неудобно. А ведь нам хочется, чтобы наши коллеги получали удовольствие от написания спецификаций. Как, например, от программирования.
Читать дальше →
Total votes 13: ↑7 and ↓6+1
Comments14

План интеграции на новом месте работы

Reading time2 min
Views5.7K
Рано или поздно каждому из нас приходится оставлять одну работу и отправляться на поиски другой более перспективной и высокооплачиваемой...
Большинство работодателей ценит в сотрудниках не только конкретные навыки, но и обучаемость — способность «осваивать целину». Поэтому чрезвычайно важно проявить себя грамотным специалистом с самых первых дней на новом рабочем месте. Одним из основополагающих качеств менеджера проектов является способность планировать и не только проектную работу, но и свои активности. Вот план интеграции, который я составил как раз перед переходом на новое место, во время двухнедельной отработки. Как говорится, готовь сани летом :)
Читать дальше →
Total votes 67: ↑48 and ↓19+29
Comments21

Leechcraft 0.3.0

Reading time3 min
Views1.6K
Здравствуй, %username%.
Сегодня я хочу рассказать тебе об одном своём проекте, который начался давным-давно с простого желания написать что-нибудь абстрактное, модульное и крутое.

image

Быстро пролетело чуть больше трех лет, и получился LeechCraft. LeechCraft — это модульный кроссплатформенный интернет-клиент. Модульный — все по-настоящему важное выполняется плагинами, а ядро программы только связывает их между собой, да показывает общий для них интерфейс. Кроссплатформенный? LeechCraft постоянно используется автором под Linux, запускается под Windows и, теоретически, может работать под Mac OS X. Однако, за неимением Мака работа под ним не была протестирована.

Читать дальше →
Total votes 93: ↑84 and ↓9+75
Comments110
12 ...
8

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity