Как стать автором
Обновить
5
0

Пользователь

Отправить сообщение

Про SSH Agent

Время на прочтение6 мин
Количество просмотров76K

Введение


SSH-agent является частью OpenSSH. В этом посте я объясню, что такое агент, как его использовать и как он работает, чтобы сохранить ваши ключи в безопасности. Я также опишу переадресацию агента и то, как она работает. Я помогу вам снизить риск при использовании переадресации агента и поделюсь альтернативой переадресации агента, которую вы можете использовать при доступе к своим внутренним хостам через bastion’ы.

Что такое SSH-agent


ssh-agent — это менеджер ключей для SSH. Он хранит ваши ключи и сертификаты в памяти, незашифрованные и готовые к использованию ssh. Это избавляет вас от необходимости вводить пароль каждый раз, когда вы подключаетесь к серверу. Он работает в фоновом режиме в вашей системе, отдельно от ssh, и обычно запускается при первом запуске ssh.

Агент SSH хранит секретные ключи в безопасности из-за того, что он не делает:

  • Он не записывает никакой информации о ключах на диск.
  • Он не позволяет экспортировать ваши личные ключи.

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

Но если агент может только подписывать сообщения, как SSH шифрует и расшифровывает трафик?

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

PostgreSQL Antipatterns: меняем данные в обход триггера

Время на прочтение3 мин
Количество просмотров12K
Рано или поздно многие сталкиваются с необходимостью что-то массово исправить в записях таблицы. Я уже рассказывал, как это делать лучше, а как — лучше не делать. Сегодня расскажу о втором аспекте массового обновления — о сработке триггеров.

Например, на таблице, в которой вам надо что-то поправить, висит злобный триггер ON UPDATE, переносящий все изменения в какие-нибудь агрегаты. А вам надо все пообновлять (новое поле проинициализировать, например) так аккуратно, чтобы эти агрегаты не затронулись.

Давайте просто отключим триггеры!


BEGIN;
  ALTER TABLE ... DISABLE TRIGGER ...;
  UPDATE ...; -- тут долго-долго
  ALTER TABLE ... ENABLE TRIGGER ...;
COMMIT;

Собственно, тут и все — все уже висит.

Потому что ALTER TABLE накладывает AccessExclusive-блокировку, под которой никто параллельно выполняющийся, даже простой SELECT, ничего из таблицы прочитать не сможет. То есть пока эта транзакция не закончится, все желающие даже «просто почитать» будут ждать. А мы помним, что UPDATE у нас до-о-олгий…
Читать дальше →

Занимательная мнемотехника: собираем слуховую память из зрительной

Время на прочтение11 мин
Количество просмотров11K


Довольно часто можно слышать, как кто-нибудь говорит про себя: «У меня плохая память». И если мы немного представляем, как работает память, то на этом месте мы должны задать вопрос: «А какая именно?» Дело в том, что существует много видов памяти, и они могут работать (а также ломаться) независимо друг от друга.
Читать дальше →

Cassandra. Как не умереть, если знаешь только Oracle

Время на прочтение6 мин
Количество просмотров23K
Привет, Хабр.

Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Oracle или любой другой реляционной базы вы ничего не видели, эти вещи спасут вам жизнь.

Чем хороша Cassandra? Это NoSQL-база данных, cпроектированная без единой точки отказа, которая хорошо масштабируется. Если вам нужно добавить пару терабайт для какой-нибудь базы, вы просто добавляете ноды в кольцо. Расширить ее на еще один дата-центр? Добавляете ноды в кластер. Увеличить обрабатываемый RPS? Добавляете ноды в кластер. В обратную сторону тоже работает.



В чем еще она хороша? В том, чтобы обрабатывать много запросов. Но много — это сколько? 10, 20, 30, 40 тысяч запросов в секунду — это немного. 100 тысяч запросов в секунду на запись — тоже. Есть компании, которые говорили, что они держат 2 млн. запросов в секунду. Вот им, наверное, придется поверить.

И в принципе у Cassandra есть одно большое отличие от реляционных данных — она вообще на них не похожа. И об этом очень важно помнить.
Читать дальше →

Методики уменьшения размеров образов Docker

Время на прочтение10 мин
Количество просмотров39K
Задавались ли вы когда-нибудь вопросом о том, почему размер Docker-контейнера, содержащего всего одно приложение, может находиться в районе 400 Мб? Или, может быть, вас беспокоили немаленькие размеры образа Docker, содержащего единственный бинарник размером в несколько десятков Мб?



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

Docker Tips: Очистите свою машину от хлама

Время на прочтение8 мин
Количество просмотров183K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Docker Tips: Clean Up Your Local Machine" автора Luc Juggery.


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

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

Имитируем сетевые проблемы в Linux

Время на прочтение15 мин
Количество просмотров35K
Всем привет, меня зовут Саша, я руковожу тестированием бэкенда. У нас, как и у многих, реализована сервис-ориентированная архитектура. С одной стороны, это упрощает работу, т.к. каждый сервис проще тестировать по отдельности, но с другой — появляется необходимость тестировать взаимодействие сервисов между собой, которое часто происходит по сети.

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


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

Замена дисков меньшего объёма на диски большего объёма в Linux

Время на прочтение17 мин
Количество просмотров17K
Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным.



В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot. В обоих случаях диски, на которые переносим данным, уже установлены в сервер. Файловая система, используемая для корневого раздела — ext4.


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

23 минуты. Оправдание тугодумов

Время на прочтение3 мин
Количество просмотров193K
Я всегда думал, что я – тупой. Точнее, что я — тугодум.

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

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

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

Просто культура в тех компаниях, где я начинал работать, была модерновая. Ну, как там это бывает – «совещание должно закончиться принятием решения». Вот чего придумали на совещании, то и принимается. Даже если решение — полная фигня.
Читать дальше →

Как оценить уровень владения английским языком

Время на прочтение4 мин
Количество просмотров127K


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →

Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика

Время на прочтение7 мин
Количество просмотров36K
Дисклеймер

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

Так вышло, что мне нужно было организовать резервное копирование postgresql базы данных. Никаких облаков — держи SSH и сделай, чтобы все работало и не просило денег. Что мы делаем в таких случаях? Правильно, пихаем pgdump в cron, каждый день бэкапим все в архив и если совсем разошлись — отправляем этот архив куда-нибудь подальше.

В этот раз сложность состояла в том, что по планам база должна была расти примерно на +- 100 МБ в день. Разумеется, уже через пару недель желание бэкапить все pgdump'ом отпадет. Тут на помощь приходят инкрементальные бэкапы.

Интересно? Добро пожаловать под кат.
Читать дальше →

Как не утонуть в рутине, или Наш опыт сравнения AWR-дампов при проведении нагрузочного тестирования

Время на прочтение8 мин
Количество просмотров8.3K
Всем привет! Меня зовут Людмила, я занимаюсь нагрузочным тестированием, хочу поделиться тем, как мы выполнили автоматизацию сравнительного анализа регрессионного профиля нагрузочного тестирования системы с БД под СУБД Oracle вместе с одним из наших заказчиков.

Целью статьи является не открытие «нового» подхода к сравнению производительности БД, а описание нашего опыта и попытка автоматизировать сравнение полученных результатов и
снизить количество обращений к DBA Oracle.


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

Минимальная установка CentOS/Fedora/RedHat

Время на прочтение2 мин
Количество просмотров18K
Не сомневаюсь, что благородные доны — администраторы Linux — стремятся максимально минимизировать набор устанавливаемых на сервер пакетов. Это экономичнее, безопаснее и вселяет в администратора ощущение полного контроля и понимания происходящих процессов.

Поэтому типичный сценарий начальной установки операционной системы выглядит как выбор минимального варианта, а далее — наполнение необходимыми пакетами.



Однако, минимальный вариант, предлагаемый установщиком CentOS, оказывается не совсем минимальным. Есть способ уменьшить размер начальной установки системы стандартным документированным способом.
Читать дальше →

Samba DC в качестве второго контроллера в домене AD Windows 2012R2 и перемещаемые папки для клиентов на Windows и Linux

Время на прочтение10 мин
Количество просмотров51K
image

Осознание того, что я попал в импортозамес пришло не сразу. Только когда из вышестоящей организации свежие поставки ПК стали стабильно приезжать с дистрибутивом «Альт Линукс» на борту, я заподозрил неладное.

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

  • DC1 — Windows Server 2012R2
  • DC2 — Альт Сервер 8.2
  • File Server — Windows Server 2012R2
  • PC1 — Windows 7
  • PC2 — Альт Рабочая станция 8.2
Читать дальше →

Использование базы данных лога Mikrotik для пресечения брутфорса

Время на прочтение5 мин
Количество просмотров12K
Добрый день.

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

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

Цель: Динамическое управление правилами фаервола Микротик для пресечения сетевых атак с перебором пароля.

Средства: Свежий дистрибутив Linux с rsyslogd v8, crond, СУБД mariadb и собственно сам маршрутизатор Микротик.

Механика: С помощью назначенного задания, выполняется SQL запрос в БД с накопленными и пополняемыми данными трафика и возвращает список исходящих ip-адресов, запускаемый кроном bash скрипт формирует команды Микротика и с помощью ssh соединения, пополняет список адресов для имеющихся правил блокировки.
Читать дальше →

Сколько зарабатывает Хабр + инструкция как узнать сколько зарабатывают другие компании

Время на прочтение3 мин
Количество просмотров75K
Предыстория: после того, как мы с командой в прошлом году закрыли компанию и еще не начали работу над новой, мы решили обновить наш старый, но довольно большой сайт с кулинарными рецептами. Чтобы понять насколько серьезно стоит углубляться в работу над ним, я проанализировал данные по выручке сайтов, которые тоже зарабатывают на рекламе.

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

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

30 секунд CSS

Время на прочтение11 мин
Количество просмотров57K


Предлагаем вашему вниманию коллекцию полезных CSS-сниппетов, в которых вы можете разобраться за 30 секунд, а то и быстрее.

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

RSA, а так ли все просто?

Время на прочтение5 мин
Количество просмотров36K

Прелюдия


Доброго времени суток, уважаемые читатели.
Скорее всего, большинству из вас известно, что из себя представляет асимметричный алгоритм шифрования RSA. В самом деле, этому вопросу по всему рунету и на этом ресурсе в частности посвящено столько статей, что сказать о нем что то новое практически невозможно.
Ну что там, ей богу, можно еще придумать и так все давным-давно понятно. Рецепт приготовления прост:
Два простых числа P и Q.
Перемножить до получения числа N.
Выбрать произвольное E.
Найти D=E-1(mod(P-1)(Q-1)).
Для шифрования сообщение M возводим в степень E по модулю N. Для дешифрования криптотекст C в степень D по все тому же модулю N. Все криптопримитив готов. Берем и пользуемся, так? На самом деле, не так. Дело все в том, что это и в самом деле не более чем криптопримитив и в реальном мире все самую чуточку сложнее.
Читать дальше →

Круговая прокрутка а-ля iPod на тачпаде

Время на прочтение2 мин
Количество просмотров4.3K
Всем известно, что мультитач и прочие удобные трюки тачпадов от фирмы Synaptics, которые стоят практически на всех ноутбуках, зачастую реализуются драйвером тачпада и от аппаратной составляющей мало что зависит. Вот только поддержка их на разных системах разная.
Около полугода назад я, покопавшись в сети, настроил себе нажатие двумя пальцами на правую кнопку мыши, а тремя — на левую, после чего стал переносить руку на мышь гораздо реже. Но хотелось несколько большего.
Порывшись в man synaptics, нашел там интересную вещь под названием CircularScrolling, что в переводе означает «круговая прокрутка». Многим она знакома по плеерам iPod — весьма и весьма удобна при прокрутке длинных документов. Естественно, мне захотелось себе такую же, ибо прокрутка по правому краю не лучший выбор.
Итак, приступим к настройке. Попутно покажу, как реализуется обработка нажатий двумя и тремя пальцами.
Читать дальше →

Ищем причины тормозов БД, используя sys schema в MySQL 5.7

Время на прочтение3 мин
Количество просмотров15K
Есть у нас веб-приложение. Относительно большое и старое — много-много кода, в котором много-много разных запросов к базе данных. При этом мы не гугл, но несколько тысяч запросов в секунду на сервер БД приходится.

Ну и безусловно растёт наше приложение во все стороны — добавляются новые фичи, наворачиваются и усложняются старые, растёт количество клиентов и соответственно количество данных в БД. И в один не очень прекрасный момент приходит понимание, что что-то наше приложение тормозит. А значит надо или найти, что именно нагружает БД, хотя могло бы не нагружать, ну или если ничего такого нет, то взять ещё серверов побольше, да помощнее.

Стандартный совет как найти, что нагружает MySQL — включить slow-query-log и посмотреть, какие запросы будут туда попадать. Но в MySQL 5.7 по умолчанию присутствует куда лучший инструмент — sys schema, которая агрегирует данные из performance schema и позволяет их получить простыми запросами, буквально вида «Ok, MySQL, покажи мне топ запросов по максимальному суммарному времени выполнения»
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность