Несанкционированное использование команды tc

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

Моя компания также наняла внештатного консультанта devops, который помогает нам в управлении нашей платформой CI/CD. У этого парня около 15 лет опыта и он горячий, и я ему не доверяю.

Мы используем инструмент jenkins CI\CD и установили его на экземпляр aws ec2. Все мои товарищи по команде и консультант devops имеют root-доступ к экземпляру ec2.

Сегодня в 11 утра неожиданно перестал работать пользовательский интерфейс Jenkins. Он загружался очень медленно. Мы перезапустили Дженкинс, увеличили размер кучи и все, что могли придумать, но не смогли найти решение.

Мы тратим от 3 до 4 часов, пытаясь решить проблему. Внезапно этот парень (консультант devops) пришел и исправил проблему за 5 минут. Когда я спросил его, что он сделал, он сказал, что удалил некоторые временные файлы. Будучи скептиком, я немедленно пошел и проверил историю команд

Он выполнил следующие команды

8     tc qdisc del dev eth0 root
229     tc qdisc del dev lo
230     tc qdisc ls
231     tc qdisc del dev lo root
232     echo -n "CPU" "100 99 166"
233     echo -n "CPU" -n "100 190 188" -n
234     yc qdisc del dev eth0 root
235     tc qdisc del dev eth0 root
236     tc qdisc del eth0
237     ifconfig
238     tc qdisc del eth0 root
239     tc qdisc del eth0 root 1
240     tc qdisc del dev eth0 root
241     at now +38 minutes

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

Из вышеприведенных команд похоже, что он удалил некоторые правила, которые вызывали потерю или задержку пакетов в исходящих пакетах.

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

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

2 ответа

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

Чисто из того, что было выполнено, можно предположить, что на месте была система управления движением.

Обратите внимание, что tc используется не только для задержки или потери пакетов, но также для изменения приоритетов трафика и распределения полосы пропускания. Вполне возможно, что то, что парень пытался сделать, должно было быть полезным, но как-то облажалось.

Назовите меня циничным, но что с at now +38 minutes? Это явно требует выполнения некоторых команд и / или сценария через 38 минут. Это не запись в истории Bash, конечно.

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

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

Я не смог распознать, что echo Команды пытались манипулировать. По крайней мере, в командной строке перенаправление не происходит (сама команда предполагает, что его следует поместить в файл где-нибудь).

Я бы посоветовал поискать еще немного, чтобы увидеть, какие текущие qdiscs находятся на месте.

После ответа @Matthew Ife, вы можете посмотреть в at Каталог спула и изучите файлы, доступные там. В моей системе это находится в /var/spool/at/spool и вы можете увидеть, если и что планируется к исполнению в будущем.

Другие вопросы по тегам