Pull to refresh
1
0
Alexey Vazhnov @vazhnov

Linux, Ansible

Send message

Самодельный сканирующий лазерный дальномер

Reading time13 min
Views76K

image
В этой статье я расскажу о том, как я делал самодельный лазерный сканирующий дальномер, использующий триангуляционный принцип измерения расстояния, и об опыте его использования на роботе.

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

Еще раз о том, как не сделать из своей сети «решето»

Reading time20 min
Views344K
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.

Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
Читать далее
Total votes 53: ↑53 and ↓0+53
Comments98

Памятка для офисного сисадмина

Reading time4 min
Views117K


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

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

Далее кратко и без воды:
Читать дальше →
Total votes 48: ↑40 and ↓8+32
Comments267

Как перезагрузить сервер?

Reading time6 min
Views133K
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.
Читать дальше →
Total votes 93: ↑86 and ↓7+79
Comments82

Серверы IBM/Lenovo и сторожевой таймер: эпизод II

Reading time6 min
Views9.5K
Более чем полгода я потратил на совместное с аппаратной и программной технической поддержкой IBM расследование по поводу работы сторожевого таймера на серверах IBM/Lenovo в Linux. Начало этой детективной истории было описано в моей статье SLES 12, сторожевой таймер и серверы IBM/Lenovo. Сейчас, похоже, ситуация разъяснилась, и можно дать конструктивные рекомендации счастливым обладателям железа IBM/Lenovo xSeries.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments6

Ubuntu. Русификация консоли в 2016 году

Reading time14 min
Views83K
Для меня было некоторым откровением узнать, что в 2016 году, в одном из крупных дистрибутивов GNU/Linux существуют проблемы с локализацией. А точнее, с локализацией текстовой консоли. Кто пользуется текстовой консолью в 2016 году? Не надо забывать, что есть множество дистрибутивов, базирующихся на Ubuntu и не все из них используют графическое окружение. Назову два примера: Ubuntu Server и Clonezilla.

Выглядит проблема так:



И присутствует в текущем релизе Ubuntu 15.10 и в бета-версии Ubuntu 16.04. Тем, кому интересно узнать причины проблемы и как можно её решить — прошу под хабракат.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments88

pyLCI — внешний интерфейс для Raspberry Pi и других Linux-устройств

Reading time6 min
Views15K
Привет!



Сегодня я хочу показать вам проект, над которым я работал последние пару лет и наконец выпускаю первую пригодную для использования версию. Это pyLCI — Python-based Linux Control Interface, внешний интерфейс для компьютеров с Linux, который позволяет взаимодействовать с системой посредством символьных дисплеев и кнопок. С помощью написанных под этот интерфейс приложений можно выполнять большое количество задач, связанных с администрированием и настройкой системы, а также запускать различные скрипты и выполнять команды. И всё это — не завися от монитора с клавиатурой!

А ещё мой интерфейс:
  • Дешёвый
  • Простой
  • Легко расширяемый
  • Универсальный

Заинтересованы? Прошу под кат.

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments30

Простые опыты с ребенком дома

Reading time8 min
Views81K

Пример очень неудачного опыта, пояснение в разделе “о технике безопасности”

К моему предыдущему посту было множество комментариев по части экспериментов с детьми. Тогда я пообещал написать отдельный пост о простых увлекательных опытах. Сейчас я это обещание выполняю. Данная статья будет вводной, в ней я расскажу только о самых популярных и известных экспериментах которые легко выполнить дома с ребенком.
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments164

Как IPv6 помогает роутеры ломать

Reading time5 min
Views125K
image

Предисловие


Проснулся я сегодня с мыслью, что огромное количество инструкций по настройке NAT советуют использовать строку вида:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Многие понимают проблемы этой конструкции, и советуют добавлять:
iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Но, зачастую, забывают задать таблице FORWARD действие DROP по умолчанию, или добавить правило REJECT в конец таблицы.
На первый взгляд, вроде бы, все кажется нормальным. Однако, это далеко не так. Дело в том, что если не запретить маршрутизировать трафик из WAN-порта в WAN-порт, кто-нибудь из вашей WAN-сети (предположим, что провайдер садит весь подъезд в одну /24) может маршрутизировать трафик через вас, просто прописав ваш IP в качестве шлюза. Все современные SOHO роутеры это учитывают, а вот неопытный администратор, который делает роутер под обычным linux, может не знать или забыть об этом. В подсети моего провайдера таких роутеров не оказалось, и мой план по захвату мира провалился. Однако, статья совсем не об этом.

Магические двоеточия


Как вы, может быть, знаете, многие современные программы и сервисы биндятся на IP :: (два двоеточия), а не на 0.0.0.0, как было раньше. IPv6 адрес :: значит то же самое, что и IPv4 0.0.0.0, т.е. «слушаем все интерфейсы». Многие считают, что если программа слушает ::, то этот сокет может принимать только IPv6-соединения, однако это далеко не так.
В IPv6 есть так называемое отображение IPv4-адресов в IPv6 диапазон. Если программа слушает сокет ::, а к ней обращаются из IPv4-адреса 1.2.3.4, то программа получит соединение с адреса ::ffff:1.2.3.4. Этого можно избежать, сделав:
sysctl -w net.ipv6.bindv6only=1

Но это нужно далеко не всегда, т.к. обычно удобно, что программа слушает один сокет, а получать соединения может по двум протоколам сразу. Практически во всех дистрибутивах, IPv6-сокеты ведут себя именно так, т.е. bindv6only=0.
Читать дальше →
Total votes 115: ↑113 and ↓2+111
Comments36

Поняв Docker

Reading time14 min
Views222K

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


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker
Total votes 92: ↑83 and ↓9+74
Comments245

Metronome IM и Jappix: многофункциональный Jabber, без сложностей в настройке

Reading time12 min
Views20K

Что если я расскажу вам как без особых усилий поднять свой собственный jabber-сервер со всеми новомодными фичами, такими как: архивация, синхронизация сообщений между клтентами, уведомления о прочтении, публичные чаты и многое другое…
Так же поделюсь с вами замечательным Jabber-клиентом который не менее интересен, он поддерживает аудио и видео звонки, имеет неплохой интерфейс и работает прямо из браузера.
То и другое вы получите абсолютно бесплатно, так-как и сервер и клиент лицензируются по свободнлй лицензии.

Речь пойдет об Metronome IM и Jappix.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments13

Научные мультфильмы, что показывать детям без вреда для них?

Reading time4 min
Views78K
image
Объяснение закона гравитации из мультфильма «Физика для самых маленьких»

У меня растет два очень любознательных сына в возрасте три и пять лет. Они очень любят научные мультики, особенно по физике и астрономии, как только в их руки попадает планшет, маленькие пальчики начинают быстро перебирать видеоролики из YouTube в поисках интересного контента. И что же они там находят? Поскольку я не только отец двоих детей, но еще и существенную часть жизни посвятил методике преподавания физики для маленьких детей, я знаю, что показывают детям учителя, а также заботливые родители и добрые бабушки. Скажу сразу, не все из этого стоит показывать детям.
Осторожно! Под катом горькая правда
Total votes 42: ↑38 and ↓4+34
Comments176

50 лучших цитат про Linux

Reading time5 min
Views110K
Доброго дня!

Наверное, многим известно, что 25 августа — день рождения Linux. Именно сегодня, 23 года назад, Линус Торвальдс отправил свое знаменитое письмо. В этот знаменательный день я хотел бы порадовать русскоговорящее сообщество переводом подборки цитат, которого, как выяснилось, до сегодняшнего дня в полном объеме не существовало.
Под катом — кладезь мудрости, сарказма, иронии и косяков перевода. Добро пожаловать!
Читать дальше →
Total votes 149: ↑126 and ↓23+103
Comments115

Копирование разделов жёсткого диска средствами GNU/Linux: как обойтись загрузочной флешкой там, где раньше нужен был Акронис

Reading time12 min
Views204K
С тех пор как до меня дошла благая весть о существовании операционной системы под названием GNU/Linux, которую используют все настоящие программисты, я несколько раз пытался заменить ей детище Билла Гейтса и несколько раз потерпел неудачу.

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

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

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

В большинстве случаев это было не фатально. Вместо привычного foobar всегда можно послушать музыку на Rhythmbox. Вместо Microsoft Office есть OpenOffice. Да, его совместимость с продуктом корпорации зла порой оставляет желать лучшего, но им вполне можно пользоваться для решения повседневных задач среднестатистического пользователя. Обо всяких Файрфоксах, Операх и Хромах я вообще молчу.

Но в некоторых случаях приходилось перезагружать компьютер, выбирать в меню загрузчика пункт Microsoft Windows и делать всё по старинке. Такой задачей было например снятие образа логического диска в целях переноса на другой физический носитель, потому как текущий уже изрядно поистрепался.
Читать дальше →
Total votes 56: ↑48 and ↓8+40
Comments59

Information

Rating
Does not participate
Location
Wroclaw, Польша
Date of birth
Registered
Activity