Pull to refresh
18
0
Send message

Уведомления о входах на сервер (SSH/TERMINAL) дешево и сердито

Reading time2 min
Views20K
Приветствую сообщество. Это первая публикация, далеко не профи-администратора, но просто захотелось поделиться короткой и простой наработкой, которая может оказаться полезной для такого же новичка как я сам.

Сложилось так, что потребовалось контролировать около 30 VDS-ок на Debian, которые мне благополучно «передали» под надзор (а я как бы больше программист, чем *nix-администратор). И первая мысль, что пришла в голову после базовых операций по смене и проверке доступов, была «Если я что-то упустил, хочу оперативно знать о подключениях». Есть рецепты (в том числе на Хабре) связывания события авторизации по SSH и почтовых уведомлений, которые я использовал как базу, но мне хотелось все-таки оперативности и некоторой информативности. В общем получил я в итоге вот такую «систему», которая в течение месяца вполне успешно работает и сообщает мне о любом факте авторизации.

  1. С помощью мануалов по API-телеграм получен токен и чат-ид для бота уведомлений (тут распространяться не буду, это все легко и просто находится в 1-2 строке поисковика).
  2. Создано два скрипта, код от которых будет размещен ниже. В принципе можно все сунуть и в один файл, но т.к. я хотел модульности, то я вынес в отдельный скрипт функцию отправки уведомления в телеграм-бота.
  3. В два файла настроек добавил вызов скрипта регистрации события входа на сервер и перезапустил службу SSH.

На все про все уходит минут 5-10, не больше. Ну а теперь собственно техничка.

PS. Все выполнялось на Debian9 x 64 (если это важно).
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments14

Docker, GitLab, бесплатные SSL-сертификаты и другие плюшки современной веб-разработки

Reading time12 min
Views47K

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


Начинать написание нового материала после столь продолжительного отдыха от этого дела — труднее всего. Но раз цель поставлена — надо идти до конца. Начну немного издалека.


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


Под хабракатом вы найдете Quick Start по использованию Docker на уровне, необходимом для решения конкретных задач, обозначенных ниже, без углубления в "дебри" виртуализации и прочих сопутствующих тем. Если вы до сих пор хотите начать успешно использовать эту современную технологию, тем самым значительно упростив целый ряд процессов: от разработки веб-продуктов и до разворачивания и переноса оных под какое-либо современное оборудование — прошу под кат!


Opening Illustration - Docker

Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments26

Авторизация в VK для людей

Reading time5 min
Views55K

Что случилось?


Здравствуй, дорогой читатель. Если тебе хотя бы однажды доводилось работать с API Вконтакте и при этом писать все на python, вероятно, авторизация приложения заставила тебя сделать несколько приседаний, после которых ног либо не чувствуешь и падаешь в обморок, либо вкачиваешь квадрицепс и все же пробиваешь API, как Ван Дамм.


По какой-то причине этот, казалось бы, самый непримечательный этап поначалу отнимает огромное количество сил и времени. Моя задача: помочь читателям Хабра избежать травм ног.


Далее я предлагаю рассмотреть небольшую библиотеку, позволяющую в одну строчку авторизовать свое приложение для конкретного пользователя и получить access_token. В конце статьи представлена ссылка на github-репозиторий этой библиотеки с quickstart'ом в README-файле.

Читать дальше →
Total votes 22: ↑14 and ↓8+6
Comments7

Пентест-лаборатория Pentestit — полное прохождение

Reading time17 min
Views77K


Компания Pentestit 20-го мая запустила новую, уже девятую лабораторию для проверки навыков практического тестирования на проникновение.

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

К 1-му июня лаборатория была пройдена — все 13 машин и 14 токенов были взяты. Теперь подошло время описать процесс прохождения лаборатории в полном объеме для всех, кто еще не успел пройти лабораторию, кто хотел бы узнать больше об актуальных уязвимостях, или глубже окунуться в мир тестирования на проникновение.

Сразу хочу отметить, что процесс прохождения лаборатории получился довольно трудоемким, а его описание — длинным, но, надеюсь, интересным. Начнем!
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments26

Нюансы Firebase messaging для начинающих

Reading time4 min
Views40K
После публикации на Хабре статьи Артёма Осипова "Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих" возник ряд вопросов, которые удалось решить.

Удалось добиться отправки Push-уведомления с вибрацией и со своим звуком + уведомление в статус баре имеет большую иконку и рядом вмещается весь текст. И неважно активно приложение или висит в фоне — при клике на уведомление Main Activity всегда обновляется и несет в себе параметры из уведомления.

Итак, в layout activity_mail.xml добавим два TextView: один для заголовка уведомления и один для текста.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments4

Push уведомления в Android с помощью Firebase Cloud Messaging для начинающих

Reading time2 min
Views136K
Не так давно Google купили Firebase и теперь на странице с описанием GCM нас встречает радостная новость о том, что пора бы мигрировать на Firebase.
...GCM users are strongly recommended to upgrade to FCM, in order to benefit from new FCM features today and in the future.

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

Нам понадобится:

  • Android Studio
  • Код демо-проекта с github
  • 20 минут свободного времени
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments18

Простая автоматизация процесса управления актами о браке на SharePoint с примерами и картинками

Reading time15 min
Views15K

Вступление


Эта статья ориентирована на тех, у кого есть SharePoint и кто не знает, что с ним делать. :)

Много везде говорят о бизнес-процессе, но мало кто подразумевает под этим действительно процессный подход, скорее представляют себе некоторый черный ящик, где, в лучшем случае, есть вход и выход, иногда даже структурированный – определено, что имеем на входе и на выходе. Фактически, если в ящике за процесс отвечают более двух человек — легкий хаос вам обеспечен, а с ростом количества вовлеченных обеспечен и экспоненциальный рост энтропии. :)

Процесс в управлении организацией — это совокупность действий, повторяемых во времени, с конкретным началом и концом, целью которых является создание ценности для внешних и внутренних клиентов. По сути – преобразование ресурсов на входе в продукт на выходе, продукт может быть любым – как материальным, так и неосязаемым знанием. Преобразование в ящике может быть предельно простым, не требующим декомпозиции, а может быть очень сложным, вовлекающим в работу много сотрудников и времени, имеющим множество условий и зависимостей. Вопрос уровня декомпозиции процесса лежит в плоскости рациональности, целесообразности и здравого смысла, мне нравится методологический принцип «Бритва Оккама», который гласит, что «Не следует привлекать новые сущности без крайней на то необходимости», там, где можно обойтись без формализации действия — формализовывать действие не стоит. :)
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments20

Анализ Android малвари-матрешки

Reading time10 min
Views17K
После написания статьи про анализ малвари с avito, несколько моих twitter-читателей откликнулись и прислали SMS, которые получили после публикации объявлений на avito.


Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments4

Исследование распространенной малвари под Android

Reading time16 min
Views37K

Часто вирусы для android приходят к нам при помощи рассылок. Раньше это были СМС, а теперь еще и современные мессенджеры. Мне было интересно посмотреть, что же сейчас на рынке вредоноса, поэтому зарегистрировалась и подала пару объявлений на avito.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments59

Установка VNC сервера, и настройка его работы поверх SSH

Reading time6 min
Views192K

Да, отчего-то не все клиенты хотят работать в таком удобном и черном терминале, панель полностью не удовлетворяет их эстетические потребности, и вообще — «где мой такой любимый и удобный VNC?».
вопрос привычки и вкуса

В данной статье будет рассмотрен пример установки и настройки VNC server и графической оболочки (GUI) на примере OC Debian 8 jessie.

читать дальше
Total votes 24: ↑18 and ↓6+12
Comments15

Быстро поднятое не считается упавшим. Повышаем отказоустойчивость встраиваемых систем

Reading time9 min
Views34K
image

Год назад выполнял довольно интересную работу по разработке встраиваемого компьютера для одного предприятия, занимающегося электроникой. Компьютер ничего принципиально интересного не представлял: процессор Cortex A-8, работающий на субгигагерцовых частотах, 512Mb DDR3, 1Gb NAND, легковесная сборка Linux. Однако устройству, в который компьютер встраивался, а значит и ему самому, предстояло работать в довольно жестких условиях. Широкий температурный диапазон (от -40 до +85 градусов Цельсия), влагостойкость, стойкость к электромагнитным излучениям, киловольтные импульсы по питанию, защита от статики в 4 кВ и много чего интересного, что хорошо описано в различных ГОСТах на спецтехнику, – это все про него. Одно из основных требований заказчика – срок выработки на отказ не менее 10 лет. При этом производитель обеспечивает гарантийный ремонт изделия в течении пяти лет, потому вопрос не риторический, а денежный и серьезный. В изделие была заложена соответствующая элементная база. Прибор с честью прошел испытания и получил требуемые сертификаты, но разговор не про то. Проблемы начались когда была изготовлена установочная партия, и устройства разошлись по отделам и КБ для создания прикладного ПО. Пошли возвраты с формулировкой: «Чего-то не загружается».
Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments6

ATtiny85: прототип беспроводного сенсора

Reading time14 min
Views62K

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





Цель — создать сенсор работающий, условно говоря, в коробке с искусственным освещением и передающий температуру и статус освещения с немедленной реакцией на изменение освещения: включилось, отключилось, мигнуло. Сенсор решено было сделать мобильным и питать от элемента CR2032, иначе говоря, при разряде до 2.7V (предел для датчика TMP36), можно рассчитывать на 200mAh.



Микроконтроллер ATtiny85 имеет всего 5 портов ввода/вывода и возможность отключить RESET в пользу дополнительного порта. Данный бюджет был распределён следующим образом:



  • 3 порта — радиомодуль NRF24L01+, спецификация требует пять портов, но в данном случае это не приемлемо и будет использована 3-х пиновая конфигурация;
  • 1 порт — датчик освещения на базе фототранзистора BPW17N;
  • 2 порта — температурный датчик на базе TMP36, второй порт нужен для подачи питания, чтобы иметь возможность отключать датчик при необходимости.


Элементная база определена, можно приступать к проектированию.



Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments22

Android. Автозапуск приложения при загрузке: теория и практика

Reading time7 min
Views95K
Простой поиск на stackoverflow.com показывает, что тема получения сообщения ACTION_BOOT_COMPLETED остается актуальной и по сей день. Как видно, многие новички сталкиваются с проблемой: они не получают в своих приложениях сообщение ACTION_BOOT_COMPLETED. В этой статья я попробую резюмировать данные из официальной документации, опыт многих разработчиков из stackoverflow.com, а также свой опыт. Итак, как же победить этого «коварного врага» под названием «ACTION_BOOT_COMPLETED»?
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments7

Как реализовать SOAP- сервис для работы с таблицами Google через SQL

Reading time5 min
Views15K
Была задача — в ходе подготовки демки одного из решений надо было показать, что клиентскую информацию можно сохранять где угодно — в простом случае, например, в таблицах Google, в более сложном (после полугодового «внедрения»и многомиллионного бюджета) в CRM клиента. В используемой нами WSO2 ESB есть коннектор к таблицам Google — но реализовать требуемый функционал на нем оказалось не очень простой задачей — и тогда я на это забил.

Но вот недавно, разбираясь с новыми фичами WSO2 Data Services Server обнаружил, что в нем можно легко реализовать SOAP-сервис для работы с таблицами Google (который потом можно подцепить где угодно). Причем работа с данными в таблице осуществляется через привычный всем SQL.
О том, как это сделать, и хочу рассказать под катом.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments2

Установка плагина onlyoffice-alfresco (контрольный лист — шпаргалка)

Reading time2 min
Views8.5K
10 ноября 2015 стал доступен плагин для редактирования документов в Alfresco Share при помощи онлайн-редакторов OnlyOffice. Код плагина распространяется под лицензией GPL.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

Строим свое собственное отказоустойчивое облако на базе OpenNebula с Ceph, MariaDB Galera Cluster и OpenvSwitch

Reading time20 min
Views108K


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


Темы сами по себе очень интересные, так что даже если вас не интересует конечная цель, но интересует настройка какого-нибудь отдельного компонента. Милости прошу под кат.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments20

Создание космической браузерной игры. Первый опыт

Reading time8 min
Views36K
В этой статье речь пойдет о первом опыте создания космической браузерной игры. О начальных шагах, первых результатах, о совершенных ошибках и наиболее интересных трудностях разработки, с которыми приходилось столкнуться. Мы будем рады, если читатели Хабра найдут в этой статье интересную для себя информацию.

В качестве вступления


Ранее, в течение последних 2-х лет, были попытки запуска некоторых браузерных игр малого масштаба, которые собирали менее 1000 игроков, но в этой статье мы их затрагивать не будем. Рассказ пойдет о первом опыте создания браузерной онлайн-игры, которая в будущем будет стремиться выйти в массы.

Идея создания космической игры родилась довольно давно. Почему космической? Отчасти потому, что космическая тема всегда вызывала мой личный интерес, а отчасти, по причине ностальгических воспоминаний от приятного времяпрепровождения за «Космическими рейнджерами», когда-то в далеком прошлом…

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments15

Thinstation, подключаемся к серверу терминалов Linux по XDMCP

Reading time2 min
Views13K
По прочтении постов и мануалов о Thinstation может сложиться впечатление, что предназначена она только для подключения к серверам Windows по RDP всевозможными способами, но я вот всё чаще использую её для организации терминалов подключения к Linux-серверам по XDMCP.
При переходе на версию 5 разработчики решили избавиться от прямого подключения к Х-серверу, которое задавалось опцией "SESSION_#_TYPE=x", теперь они советуют использовать Xnest, а нужен он только для запуска Х-сервера в окошке. Зачем это сделано я так и не понял, только заметил минус в том, что соединение систематически падает и сборка распухает на лишние 1,4 Мб. В последних версиях и так всё больше модулей ядра интегрируют прям в него, в следствие чего образ системы грузится всё дольше и дольше, так что лишние мегабайты нам ненужны.

Что бы не разбираться в причинах и следствиях такого решения разработчиков пришлось писать свой простенький «пакетик» инициализации подключения через стандартный X-сервер без прокладок. Делюсь…
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments2

Утилиты командной строки могут быть в 235-раз быстрее вашего Hadoop кластера

Reading time7 min
Views45K
Примечания tsafin:

Перед публикацией своего цикла статей по MapReduce в Caché, мне показалось важным озвучить данную прошлогоднюю точку зрения из статьи Адама Дрейка «Command-line tools can be 235x faster than your Hadoop cluster». К сожалению оригинальная статья Тома Хайдена, на которую он ссылается стала уже недоступна на сайте Тома, но её, по-прежнему, можно найти в архивах. Для полноты картины предлагаю ознакомиться и с ней тоже.

Введение


Посещая в очередной раз свои любимые сайты, я нашел крутую статью Тома Хайдена об использовании Amazon Elastic Map Reduce (EMR) и mrjob для вычисления статистики отношения выигрыш/проигрыш в наборе данных со статистикой по шахматным матчам, которую он скачал с сайта millionbase archive, и c которой он начал играться используя EMR. Так как объем данных был всего 1.75GB, описывающий 2 миллиона шахматных партий, то я скептически отнесся к использованию Hadoop для данной задачи, хотя были и понятны его намерения просто поиграться и изучить плотнее, на реальном примере, утилиту mrjob и инфраструктуру EMR.
Читать дальше →
Total votes 70: ↑66 and ↓4+62
Comments48

Система бекапов виртуальных машин или как сэкономить деньги организации

Reading time11 min
Views27K
Виртуализация — это очень удобное и грамотное решение для работы современного предприятия со множеством задач. Оно позволяет распределить задачи между различными серверами, а их администрирование разделить между несколькими сотрудниками, отвечающими каждый за свой сервер. Таким образом, создается распределенная IT-инфраструктура предприятия, но сконцентрированная в одном или нескольких физических серверах — виртуализация помогает более грамотно распределить ресурсы современных многопроцессорных систем — расположив на одном физическом сервере несколько виртуальных машин.

Виртуальная машина представлена несколькими файлами, которые располагаются на жестком диске хоста, что позволяет производить над ней такие действия как копирование, удаление, восстановление. Все просто и понятно: есть некие файлы (конфигурация и жесткие диски) они запускаются в неком гипервизоре, и все работает как настоящий сервер. Это действительно экономит деньги предприятию и время админу. В особенности хорошее решение — это кластер, здесь объединяются несколько хостов и при выходе из строя одного виртуальные машины переходят на другой.
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments19

Information

Rating
Does not participate
Registered
Activity