[Системное администрирование, Серверное администрирование, Мозг] Для продолжения введите точное число машин (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
За карьеру мне приходилось сисадминить в нескольких больших компаниях. Речь о миллионе Linux-серверов и больше. Когда под вашей опекой столько котиков, иногда нужно произвести действия с большой группой. Время от времени — со всеми сразу.
По моему опыту, компании с таким огромным серверным флотом стремятся создавать инструменты для массового управления. У этих инструментов разные названия, но суть примерно одинаковая: заходишь по ssh как рут, запускаешь команду и, возможно, получаешь какой-то код выхода и/или результат.
В определённых ситуациях это единственный способ быстро потушить пожар — и в такие моменты вы благодарны, что инструмент существует.
Но заметка о другом. Она посвящена другой стороне медали, когда кто-то использует один из этих инструментов и создаёт проблему. Может, он решил быстро накатить на все серверы какое-то изменение, вместо того, чтобы использовать лучшие практики (тесты, пробная обкатка, внедрение для части аудитории, постепенное развёртывание и тому подобное). Возможно, решил сразу отправить на каждую машину новый бинарник, и поэтому все они падают одновременно, не оставляя возможности запустить фактический сайт.
Есть одна вещь, которую я попросила добавить в свои инструменты, чтобы предотвратить определённые виды катастроф. Это нужно для решения конкретной ситуации, когда кто-то по ошибке выполняет команду для слишком большого количества машин. Может, он хотел задействовать стойку тестовых хостов (около 40), но случайно выбрал всех.
Когда у вас появится такой инструмент, сами увидите подобные ошибки.
Моя просьба достаточно простая: если в качестве проверки здравомыслия собираетесь запросить подтверждение, *не* используйте тип Y/N. Вместо этого попросите прочитать с экрана число и ввести его обратно.
Это будет выглядеть так:
<pre>Бла-бла-бла 123456 машин будут затронуты этим. Продолжить?
Введите количество машин для подтверждения:</pre>
Затем для выполнения команды нужно точно ввести «123456».
Идея в том, чтобы человек воспринял это число через свои обычные устройства ввода (я бы сказала «глаза», но некоторые пользуются скринридерами или чем-то подобным), обработал в своей мозговой программе, а затем каким-то образом вернул в компьютер. Несколько дополнительных подобных шагов, надеюсь, должно активировать достаточно серого вещества, чтобы человек остановился, прежде чем отстрелит себе всю ногу гигантским пистолетом, специально заточенным для стрельбы по ногам.
Конечно, если вы слишком часто сталкиваетесь с такой ситуацией и вам действительно нужно задействовать столько машин, то можно просто скопипастить цифру. В этом случае я бы сказала, что вы используете этот инструмент слишком часто и следует подумать об изменении алгоритма действий, чтобы не полагаться так сильно на этот инструмент.
Но в реальной компании бывает не так легко просто «прекратить использовать» инструмент. В такой ситуации как вариант разделить число пробелами, чтобы его нельзя было просто бездумно скопипастить.
Например, вывести число с одним из числовых разделителей вашего языка, например 123,456 или 123.456, или 123 456, или что-то ещё, что вам подходит. Хитрость в том, чтобы не принимать это в качестве входных данных, а требовать, чтобы клиент удалил разделитель и вставил просто цифры.
<pre>Бла-бла-бла 123 456 машин будут затронуты. Продолжить?
Введите количество машин для подтверждения: 123456
ОК! Продолжаем.</pre>
Я видела, как эта техника во многих случаях спасала людей, и делюсь ею здесь в надежде, что она поможет другим. Если вы разрабатываете что-то достаточно мощное, рассмотрите возможность обезопасить систему таким образом.
Только подумайте: цифры соскакивают с экрана, прыгают в человека, скачут туда-сюда в голове — и возвращаются в компьютер. Всё является частью одной сети.
Рейчел Кролл, сисадмин в Facebook
===========
Источник:
habr.com
===========
===========
Автор оригинала: Rachel Kroll
===========Похожие новости:
- [Информационная безопасность] Для руководителей – что такое информационная безопасность
- [Информационная безопасность, Мессенджеры, Законодательство в IT] ЕС рассматривает введение запрета на сквозное шифрование
- [Информационная безопасность, Сетевые технологии] Решения для защиты корпоративной и технологической сети: обзор продуктов Positive Technologies
- [Информационная безопасность, Системное администрирование, Сетевые технологии] Multifactor — российская система многофакторной аутентификации
- [Системное администрирование, Серверное администрирование, DevOps, Kubernetes] Видеокурс «Kubernetes База»: что нового в версии 2.0?
- [Информационная безопасность, Python, Реверс-инжиниринг, Разработка под Windows] Windows: достучаться до железа
- [Системное администрирование, Софт, IT-компании] Создана обертка для Media Creation Tool, с ней можно выбрать нужную для установки версию ОС Windows 10 от 1507 до 20H2
- [Информационная безопасность, Законодательство в IT] Как Роскомнадзор собирает и сливает сведения об инфраструктуре провайдеров
- [Информационная безопасность, Разработка веб-сайтов, IT-компании] База клиентов сайта «РЖД Бонус» утекла в сеть
- [Информационная безопасность, Разработка под iOS, Контекстная реклама, Социальные сети и сообщества] Apple с 8 декабря заставит разработчиков приложений сообщать пользователям, какие данные они собирают
Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_servernoe_administrirovanie (Серверное администрирование), #_mozg (Мозг), #_sistemnoe_administrirovanie (системное администрирование), #_psihologija (психология), #_bezopasnost (безопасность), #_sistemnoe_administrirovanie (
Системное администрирование
), #_servernoe_administrirovanie (
Серверное администрирование
), #_mozg (
Мозг
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:02
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
За карьеру мне приходилось сисадминить в нескольких больших компаниях. Речь о миллионе Linux-серверов и больше. Когда под вашей опекой столько котиков, иногда нужно произвести действия с большой группой. Время от времени — со всеми сразу. По моему опыту, компании с таким огромным серверным флотом стремятся создавать инструменты для массового управления. У этих инструментов разные названия, но суть примерно одинаковая: заходишь по ssh как рут, запускаешь команду и, возможно, получаешь какой-то код выхода и/или результат. В определённых ситуациях это единственный способ быстро потушить пожар — и в такие моменты вы благодарны, что инструмент существует. Но заметка о другом. Она посвящена другой стороне медали, когда кто-то использует один из этих инструментов и создаёт проблему. Может, он решил быстро накатить на все серверы какое-то изменение, вместо того, чтобы использовать лучшие практики (тесты, пробная обкатка, внедрение для части аудитории, постепенное развёртывание и тому подобное). Возможно, решил сразу отправить на каждую машину новый бинарник, и поэтому все они падают одновременно, не оставляя возможности запустить фактический сайт. Есть одна вещь, которую я попросила добавить в свои инструменты, чтобы предотвратить определённые виды катастроф. Это нужно для решения конкретной ситуации, когда кто-то по ошибке выполняет команду для слишком большого количества машин. Может, он хотел задействовать стойку тестовых хостов (около 40), но случайно выбрал всех. Когда у вас появится такой инструмент, сами увидите подобные ошибки. Моя просьба достаточно простая: если в качестве проверки здравомыслия собираетесь запросить подтверждение, *не* используйте тип Y/N. Вместо этого попросите прочитать с экрана число и ввести его обратно. Это будет выглядеть так: <pre>Бла-бла-бла 123456 машин будут затронуты этим. Продолжить?
Введите количество машин для подтверждения:</pre> Затем для выполнения команды нужно точно ввести «123456». Идея в том, чтобы человек воспринял это число через свои обычные устройства ввода (я бы сказала «глаза», но некоторые пользуются скринридерами или чем-то подобным), обработал в своей мозговой программе, а затем каким-то образом вернул в компьютер. Несколько дополнительных подобных шагов, надеюсь, должно активировать достаточно серого вещества, чтобы человек остановился, прежде чем отстрелит себе всю ногу гигантским пистолетом, специально заточенным для стрельбы по ногам. Конечно, если вы слишком часто сталкиваетесь с такой ситуацией и вам действительно нужно задействовать столько машин, то можно просто скопипастить цифру. В этом случае я бы сказала, что вы используете этот инструмент слишком часто и следует подумать об изменении алгоритма действий, чтобы не полагаться так сильно на этот инструмент. Но в реальной компании бывает не так легко просто «прекратить использовать» инструмент. В такой ситуации как вариант разделить число пробелами, чтобы его нельзя было просто бездумно скопипастить. Например, вывести число с одним из числовых разделителей вашего языка, например 123,456 или 123.456, или 123 456, или что-то ещё, что вам подходит. Хитрость в том, чтобы не принимать это в качестве входных данных, а требовать, чтобы клиент удалил разделитель и вставил просто цифры. <pre>Бла-бла-бла 123 456 машин будут затронуты. Продолжить?
Введите количество машин для подтверждения: 123456 ОК! Продолжаем.</pre> Я видела, как эта техника во многих случаях спасала людей, и делюсь ею здесь в надежде, что она поможет другим. Если вы разрабатываете что-то достаточно мощное, рассмотрите возможность обезопасить систему таким образом. Только подумайте: цифры соскакивают с экрана, прыгают в человека, скачут туда-сюда в голове — и возвращаются в компьютер. Всё является частью одной сети. Рейчел Кролл, сисадмин в Facebook =========== Источник: habr.com =========== =========== Автор оригинала: Rachel Kroll ===========Похожие новости:
Системное администрирование ), #_servernoe_administrirovanie ( Серверное администрирование ), #_mozg ( Мозг ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:02
Часовой пояс: UTC + 5