Pull to refresh
0
0
Андрей Кам @decanet

User

Send message

20 вещей, которые я должен был знать в 20 лет

Reading time3 min
Views716K
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
Читать дальше →
Total votes 544: ↑445 and ↓99+346
Comments544

Конкурс ВК: Мессенджер для Android. Как это было!?

Reading time3 min
Views35K
Приятного времени суток!

Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
Читать дальше →
Total votes 164: ↑153 and ↓11+142
Comments64

Краш-репорты в *nix: backtrace, SEGFAULT (и reinterpret_cast)

Reading time5 min
Views5.4K
Привет, уважаемый хабраюзер!

Все разработчики программ рано или поздно сталкиваются с проблемой падения программы у пользователя. Но далеко не все при этом могут получить доступ к конкретному компу, на котором что-то идёт не так, запустить там gdb и повторить падение. И даже получить информацию от пользователя бывает крайне сложно: в багтрекер (или техподдержку) приходит сообщение а-ля «программа падает, что делать?», а вот технической информации, так важной для разработчика, пользователь не прилагает к своему сообщению. Да ещё и не каждый напишет об этом! Просто перестанет пользоваться программой — и всё.

Некоторые ОС предлагают отправить краш-репорт разработчикам. Но! Разработчикам ОС, а не Вам, то есть совсем не тем людям, которым это действительно нужно! И тут на помощь приходят собственные краш-репорты, которая Ваша программа должна бы отправить на Ваш сервер. Но как их сделать? Как правильно обработать SEGFAULT и при этом отправить вразумительную информацию разработчику?
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments42

О производительности сетевых программ

Reading time2 min
Views16K


Заключительная лекция курса «Сетевое программирование в UNIX», который подготовили специалисты SkyDNS и компании «Айдеко», получилась многогранной.

На лекции были рассмотрены две основных темы. Марк Коренберг («Айдеко») и Александр Патраков (SkyDNS) рассказали, как простыми модификациями можно ускорить работу цикла обработки событий и объяснили, как пользоваться флагом EPOLLET.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments0

Защита для NGINX — NAXSI

Reading time3 min
Views38K

Что такое NAXSI ?


NAXSI = NGINX ANTI XSS & SQL INJECTION
Проще говоря, это файрвол веб-приложений (WAF) для NGINX, помогающий в защите от XSS, SQL-инъекций, CSRF, Local & Remote file inclusions.
Отличительными особенностями его являются быстрота работы и простота настройки. Это делает его хорошей альтернативой например mod_security и апачу.

Зачем нужен NAXSI ?

Очевидно, лучше всего защищаться от вышеперечисленных атак правильно написанным кодом. Но есть ситуации, когда WAF (и в частности naxsi), поможет:
  • Низкое качество кода сайта, при отсутствии возможности/ресурсов все выкинуть и переписать нормально.
  • “Закрытый” код, в котором невозможно исправить ошибки.
  • Неизвестное качество кода в важном для бизнеса участке.


Читать дальше →
Total votes 102: ↑100 and ↓2+98
Comments60

BGP: некоторые особенности поведения трафика

Reading time6 min
Views25K


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

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

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments8

Делаем бэкап музыкальной базы vkontakte с помощью Python

Reading time6 min
Views22K
Год назад я захотел в машину флешку с винегретом из музыки, которая была у меня в плейлисте контакта. А там, к слову, почти 1400 треков.

Итак, первое, что я сделал — октрыл список расширений оперы и набрал в поиске «vkontakte». Но вот оказия, все приложения предлагали качать по одному треку, в основном добавляя рядом с ним кнопочку «скачать». В принципе, это удобно, если надо стянуть оттуда один-два трека, но вот если их 1400…

Следующий моим шагом было открытие страницы с музыкой и внимательная медитация над ней, с целью распарсить страницу, выдрав оттуда ссылки и названия. Слегка подумав, я решил, а почему бы снова не использовать вконтактовый API? Ведь опыт использования у меня уже есть (писал десктопный плеер на Qt). Но лепить полноценное приложение, тем более на плюсах или каком-либо другом языке, мне показалось слегка не умным решением. И тут я подумал — черт возьми, есть же python, наклепаю скрипт и стяну все. Итак, выбор сделан, начинаем кодить.

Открываем Geany и пишем первые строчки… И вот тут-то моя фантазия и желание лепить комбайны из ничего опять разыгрались. Дальше под катом.
Читать дальше →
Total votes 42: ↑23 and ↓19+4
Comments43

Взломать Wi-Fi за 10 часов

Reading time12 min
Views1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


Читать дальше →
Total votes 304: ↑294 and ↓10+284
Comments164

Работающий трансформатор с деревянным сердечником, или простая грозозащита для компьютеров и телевизоров

Reading time10 min
Views98K
У великого русского поэта Тютчева не было компьютера и сети, иначе он бы не писал: «Люблю грозу в начале мая». В последние годы актуальность грозозащит стала поменьше — оптика, беспроводные технологии, но все же все же.
Если к вам в квартиру заходит кабель, и этот кабель — не оптический, гроза представляет угрозу для вашего оборудования.

Если у вас есть телевизор и он подключен к общей сети — кабельное ТВ, коллективная антенна (вдруг) — к чему угодно, что находится за пределами квартиры, гроза представляет угрозу для телевизора, (причем даже бОльшую, чем для компьютера).
Будем защищаться
Total votes 129: ↑125 and ↓4+121
Comments78

Миллион посетителей на WordPress против сервера

Reading time3 min
Views21K
Мой сервер, который и будет героем последующего повествования — это обычный арендованный у FirstDedic сервер среднего класса с процессором DualCore Xeon E3110 3.00Ghz. Оперативной памяти было установлено 4 Гб, жесткий диск 500 Гб. На сервере был установлен nginx 1.01 в качестве frontend, и apache 2 в качестве backend, с запуском скриптов в режиме CGI.

История приключилась с сайтом, который был размещен на моем сервере, собственно, не сайт, а чужой личный блог. Ранее на блоге наблюдались пики трафика до 10000 в сутки, но с подобной нагрузкой сервер справлялся на ура абсолютно без оптимизации на стандартных файлах конфигурации.
Читать дальше →
Total votes 70: ↑56 and ↓14+42
Comments38

Прокачиваем PPTP-сервер или чем заменить Poptop

Reading time3 min
Views22K


Введение


На сервере доступа в качестве pptp-сервера стоял проверенный Poptop последней стабильной версии (1.3.4). И все бы ничего, да вот только после повышения скоростей на тарифах производительность cервера начала проседать под увеличившейся нагрузкой. Причем очень значительно, так как этот pptp-сервер работает в режиме пользователя, а не ядра. Постоянные копирования пакетов и непосредственно с этим связанные операции переключения контекста, на выполнение которой также расходуются вычислительные ресурсы, вызвали серьезную деградацию производительности сервера при увеличившемся объеме передаваемого трафика. Необходимо было действовать.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments19

История еще одного электровелосипеда своими руками

Reading time8 min
Views194K

Предисловие


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

(много картинок)
Читать дальше →
Total votes 118: ↑114 and ↓4+110
Comments107

Mosh — SSH 2012 года

Reading time1 min
Views9K
Mosh — замена(или дополнение) SSH. Он быстрее и отзывчивее, особенно на линках с высокой задержкой, например, в мобильных сетях. Набираете символ, и моментально видите его на экране, так же, как и в локальном терминале. Почему? Потому, что в Mosh реализован так называемый local line editing, который не дожидается ответа от сервера, а сразу все отображает на экране. Работает даже в полноэкранных приложениях, вроде vim или emacs. И это далеко не единственный плюс!
Читать дальше →
Total votes 81: ↑75 and ↓6+69
Comments82

Загружаем Kaspersky Rescue Disk 10 по сети

Reading time12 min
Views26K
Предлагаемая к ознакомлению статья расскажет как из популярного инструмента лечения от компьютерных вирусов сделать загружаемый по сети (pxe-bootable) вариант. Материал будет полезен системным администраторам, работникам сервис-центров и, возможно, кому-то еще, кому часто приходится реанимировать зараженные вирусами компьютеры.

Статья актуальна для версии Kaspersky Rescue Disk 10.0.31.4 (последняя на момент публикации версия).

Постановка задачи



Задача сводится к нескольким пунктам:
  1. Адаптировать Kaspersky Rescue Disk 10 (далее просто KRD10) к загрузке по сети.
  2. Предусмотреть локальное зеркало обновлений, из которого можно было бы периодически обновлять антивирусные базы, не скачивая каждый раз свежий iso-образ.
  3. Изменить кое-какие настройки антивируса по-умолчанию. Например, проверка архивов подчас занимает много времени, а каждый раз снимать перед сканом одну и ту же галку в настройках утомительно.
  4. Максимально автоматизировать выполнение перечисленных выше пунктов, сведя количество необходимых к нажатию кнопок до минимума.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments6

Модуль nginx для борьбы с DDoS

Reading time6 min
Views67K
Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Читать дальше →
Total votes 142: ↑140 and ↓2+138
Comments43

Прячем Bash скрипты

Reading time2 min
Views17K
Очень часто на фрилансе бывает, так что заказчик просит сделать некоторую работу, получив тестовую версию, принимает её и отказывается платить
Я на фрилансе достаточно часто делаю скрипты под заказ, администрирование серверов и тд, автоматизация неких процессов на сервер, уловив основную идею написания, как правило, заказчик пропадает, решив что это все так просто и не за что платить.
Столкнувшись с понятием Обфуска́ция в С, решил поискать аналогичное решение и для своего любимого Bash.
Читать дальше →
Total votes 73: ↑65 and ↓8+57
Comments24

Лаборатория Касперского просит помощи сообщества

Reading time1 min
Views1.4K
Куда-то с хабры пропали ссылки. Их запретили, да? Значит я сейчас сделаю что-то нехорошее…

Лаборатория Касперского просит помощи сообщества:
«Мы хотели бы обратиться к сообществу разработчиков и попросить любого, кто знает средства разработки, языки или компиляторы, генерирующие подобный Фреймворку код, связаться с нами или оставить комментарий к посту.»

UPDATE: Ребята, мопед не мой! Нет смысла присылать догадки мне в письма — я даже передать не смогу…
Total votes 87: ↑63 and ↓24+39
Comments44

Егор, прекрати взламывать Github!

Reading time1 min
Views32K
Несколько часов назад программист из Санкт-Петербурга Егор Хомяков сделал коммит в мастер-бранч Ruby on Rails (скриншот)



В личном блоге Егор написал, что обнаруженная им уязвимость позволяет делать pull/commit/push в любом репозитории на Github. Свой поступок он объяснил раздражением от того, что мейнтейнеры Rails игнорировали баг, о котором он сообщил, и поэтому Егор теперь решил протестировать его на первом попавшемся проекте.

P.S. В связи с этими событиями Github сегодня внёс изменения в политику безопасности сайта, добавив туда раздел Responsible Disclosure of Security Vulnerabilities.
Total votes 297: ↑257 and ↓40+217
Comments166

Собираем свою Bluetooth машинку с управлением на Android

Reading time4 min
Views36K
На последней сессии я как обычно тщательно готовился к экзаменам (то есть не знал, чем себя занять), и как по счастливой случайности, у меня образовалась радиоуправляемая машинка, большая и красивая, хотя и явно рассчитанная на детей. Поигравшись минут десять, я захотел ее модернизировать, а именно вместо неудобного джойстика с радиусом действия в 3 метра использовать коммуникатор с bluetooth. И удобнее, и дальность действия больше, и явно видны дальнейшие улучшения, о которых, как впрочем и о процессе прикручивания коммуникатора к детской машинке, и пойдет речь в данной статье.



Читать дальше →
Total votes 45: ↑39 and ↓6+33
Comments18

Information

Rating
Does not participate
Location
Архангельск, Архангельская обл., Россия
Registered
Activity