LINUX.ORG.RU
ФорумTalks

root.yandex.ru

 ,


4

7

В этот раз Олимпиада будет командная.
Кто нибудь хочет со мной поиграть? :)

url: http://root.yandex.ru/usr/share/man/man1/rules/

ps: яндекс.олимпиада - соревнования между админами онлайн и иногда в реальном времени. дают всякие таски на знания nix систем. соответсвенно, чем больше скилл - тем больше шансов выиграть. в команде может быть ДО 15 человек, набор можно считать открытым :)
http://root.yandex.ru/teams/ команда регнута, имя ей - Lor :)

root@yandex:~# egrep "^I{1,3}\." /etc/awards

I. 256 000.00 рублей
II. 128 000.00 рублей
III. 64 000.00 рублей.

Вики страничка для ивента: www.linux.org.ru/wiki/en/Ya.root
Команда: true_admin, realloc, AndreyKl, AITap, router, DELIRIUM, scott_tiger, Ttt, imul, tailgunner, exception13, Xenius.

Участники! Не забывайте написать свою инфу на вики страничке.

★★★★★

Последнее исправление: tazhate (всего исправлений: 20)
Ответ на: комментарий от true_admin

идеи есть? не может же он код _всей_ страниц в регулярку засовывать, скорее ищет какие то элементы?

xtraeft ★★☆☆
()

На память:

Задание 1 Программа, которая не компилируется, даст вам подсказку…

Задание 2 Кто-то сломал наш замечательный сайт на Drupal. Пожалуйста, восстановите его. Все, что осталось от БД, находится в /root/drupal/.

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

Задание 4 Мы не уверены, что вы помните про LILO, но c GRUB'ом вы точно должны быть знакомы. Что еще важно для загрузки системы?

Задание 5 Настройте web-сервер, который бы отдавал текущее время по https с точностью до минуты в формате YYYY-MM-DD-HH-MM по адресу https://<ВашIPвVPN>/time

Content-Type должен быть text/plain, а часовой пояс: MSK (UTC+4).

Задание 6 Необходимо возвращать все то, что отправлено на порт 31337/tcp.

Задание 7 Настройте DNS-server так, чтобы он

1. возвращал 127.0.0.(X*2) в ответ на любой A-запрос на разрешение имени X.root.yandex.net, где X: 0..127

2. 'root' на TXT-запросы для тех же имен узлов

Задание 8 Настройте правила firewall для входящих TCP соединений следующим образом:

1. При попытке подключения на порт 9999 ответных пакетов отправляться не должно

2. При попытке подключения на порт 8888 в ответ должен отправляться пакет icmp: port unreachable

3. Входящие соединения на порт 7777 должны успешно устанавливаться только в том случае, если соединение инициируется с порта, больше либо равного 7777. В противном случае в ответ должен отправляться пакет icmp: port unreachable

Задание 9 Мы где-то потеряли жесткий диск. Или даже несколько.

Задание 10 Пару дней назад мы обнаружили рутовую ssh-сессию с неизвестного IP. Мы оборвали соединение и отключили сервер от сети.х.шъ

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

это какой то ад :)
это пхп поделие надо было ставить на финальный левел. 24 часа - на все таски?

xtraeft ★★☆☆
()
Ответ на: комментарий от tazhate

ip-адрес взлома командой last не выводится?

mky ★★★★★
()
Ответ на: комментарий от xtraeft

если хочешь и у вас еще запал не угас, кинь адрес конфы на xtraeft@gmail.com

lorya@conference.jabber.ru

tazhate ★★★★★
() автор топика

Молодцы, решили 10-е задание. Как олимпиада закончится, напишите хотя бы что требовалось сделать то.

mky ★★★★★
()
Ответ на: комментарий от mky

Молодцы, решили 10-е задание. Как олимпиада закончится, напишите хотя бы что требовалось сделать то.

Я могу и сейчас написать:
Найти руткит. Он лежит на самом видном месте, ключ для проверки тупо в его ткстшнике. Тупо и банально :(

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Задания олимпиады будут выполняться на Red Hat-совместимом дистрибутиве ОС Linux.

нафик-нафик :). Ну ладно, зарегался :)

true_admin ★★★★★
()
Ответ на: комментарий от tazhate

Участвовать могут студенты и молодые специалисты

тоже не подхожу под определение

exception13 ★★★★★
()
Ответ на: комментарий от router

router, exception13, я думаю зарегатся можно кому угодно. Просто цель этой олимпиады набрать кадров и пропиарить курсы. Вот поэтому и указан target audience. А учавствовать, я думаю, можно кому угодно :).

true_admin ★★★★★
()
Ответ на: комментарий от tazhate

Интересная идея, но опять жутко неудачное время. Постараюсь alloc'нуть место в своём расписании и для этой олимпиады.

AITap ★★★★★
()
Ответ на: комментарий от true_admin

++

Я примерно такую же картину видел 2 года назад на стремном событие под названием IT-планета, вся суть которой сводилась к тому чтобы настроить $service_name за определенное время и без доступа к интернету.

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

Marchael
()
Ответ на: комментарий от tazhate

На сайте никакой конкретики.
27-го в четыре утра я уезжаю на объект, поэтому как будет со временем не знаю, скорее всего никак, особенно с утра.

imul ★★★★★
()
Ответ на: комментарий от true_admin

Не круто получается. И даже вроде как жульничество.

Можно всем регаться и кооперироваться частично, по сложным вопросам. В финале все против всех. :3

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

И даже вроде как жульничество.

да это по приколу, мне их стипендия и курсы не нужны. А для фана почему бы и нет? Впрочем, ладно, можно и по отдельности, потом поспрашиваем друг у друга что как решалось :)

В финале все против всех. :3

ну я в финал точно не попаду, я не в мск.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Забавно будет, если первые места в отборочном назанимают анонимусы, а в финал не пойдут. Мне нравится, буду участвовать }:->

router ★★★★★
()
Ответ на: комментарий от router

Хм. Я бы от курсов-то не отказался, другое дело, что их ещё надо выиграть.

Посмотрим в общем. Что у меня там по расписанию будет ещё.

Hoodoo ★★★★★
()
Ответ на: комментарий от tazhate

Да ну нафиг, одиночное соревнование не так весело.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от tazhate

Не, в сольном выступлении мне не светит. Да и неинтересно.

tailgunner ★★★★★
()
Ответ на: комментарий от tazhate

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

realloc ★★★★
()

ПРЕАМБУЛА
Grub'а несовершенство обнаружил Master Foo. Дао познавший сможет поднять упавшее.

На ближайшие 24 часа в ваше распоряжение предоставляется вычислительный кластер. Кластер состоит из 30 узлов, которые занимаются вычислениями и мастер-узла, на который заходят пользователи. Ваша задача — сделать вычисления на нём удобными и приятными для пользователей, выполнив следующие задания.

ЗАДАНИЕ 1
Вычислительные узлы кластера получают настройки по DHCP. Чтобы администраторы не запутались, узлы стоит назвать по порядку: slave1, slave2, … slave30, а главный узел следует назвать master. Узлы должны быть доступны по имени и межу ними должны ходить пинги.

Доступ к внешней сети возможен только с master. Все остальные узлы находятся в своей внутренней сети и выхода во внешнюю сеть не имеют. Исправьте этот недостаток, настройте узлы так, чтобы для них была доступна внешняя сеть. Настройте вход пользователя root по ssh с мастера на остальные узлы без запроса пароля. Вопрос, доверяет ли пользователь хосту, также не должен появляться.

ЗАДАНИЕ 2
Нашим пользователям хочется запускать свои задачи на вычислительных узлах. Для распределения ресурсов кластера между пользователями на master'е установлен slurm. Сделайте так, чтобы пользователи могли запускать задачи с его помощью. Пока будет достаточно, если запускать задачи сможет только пользователь root.

ЗАДАНИЕ 3
Системные логи со всех узлов должны собираться в файл /var/log/nodes на узле master, а сообщения со словом «useless» в файл /var/log/useless и не попадать в /var/log/nodes.

ЗАДАНИЕ 4
Для того, чтобы запустить задачу, приходится копировать исполняемые файлы и входные данные этой задачи на вычислительные узлы. По окончанию счёта результаты должны попасть обратно на master, что очень неудобно.

Сделайте каталог /home общим, используя распределённую файловую систему Ceph. Файлы должны храниться не менее, чем на пяти узлах. На узле master файлы храниться не должны. При чтении файла из /home должна монтироваться ФС, если она уже не была примонтирована.

Если это задание выполнить не удастся, допускается использовать NFS для того, чтобы сделать /home общим. В таком случае, данное задание не будет засчитано.

Примечание: файл /home может быть символической ссылкой.

ЗАДАНИЕ 5
Позволять пользователям работать от имени root нехорошо, они нечаянно могут сломать кластер. Лучше создавать свой аккаунт для каждого пользователя. Что может быть проще?

Вот только есть одна проблема — аккаунты должны быть общими на всех узлах. Предыдущий администратор делал так: заходил на каждый узел, делал useradd <name>, passwd и вводил два раза пароль. Некоторые узлы были сломаны и он записывал на первом попавшемся листочке пару логин:пароль для того, чтобы добавить её позже. Затем в кластере добавилось пять узлов и он не смог найти все листочки, чтобы добавить пароли на этих узлах. Зато эти листочки нашли злоумышленники и воспользовались ими для добычи биткойнов. Пришлось менять все пароли и администратора.

Настройте общую базу данных пользователей используя LDAP. Пользователи будут добавляться командой ldapadd <username> users.

ЗАДАНИЕ 6
Настройте пользователям ssh-доступ на вычислительные узлы из master node.

Пользователя не должны спрашивать ни про пароль, ни про то, доверяет ли он хосту.

Естественно, пользователи должны иметь возможность заходить на узлы только под своими именами.

Если у пользователя на данном узле задача не запущена, то его пускать не должно(если он не root).

Пользователи будут создаваться, используя ldapadduser и chpasswd, заходить на master, используя ssh и аутентификацию по паролю, и запускать задачи, используя slurm.

P.S. Не удаляйте ключи из authorized_keys - они нужны для проверки.

ЗАДАНИЕ 7
Огромное число задач, запускаемых на вычислительных кластерах по всему миру, используют MPI. Наверное, большинство.

Установите одну из реализаций MPI, а именно, MPICH2 на вычислительные узлы. Задачи, использующие MPI должны запускаться через slurm. Пример последовательности команд для запуска MPI-приложения находится в /root/mpi/run.sh

Задачи будут запускаться из /home/root/ от имени пользователя root.

ЗАДАНИЕ 8
Настройте puppet на узлах так, чтобы он применял класс check всем узлам раз в минуту.

ЗАДАНИЕ 9
Прошлые администраторы кластера не использовали систем мониторинга. Поднимите на master node мониторинг nagios3 и убедитесь, что по адресу http://<host>/cgi-bin/nagios3/status.cgi?hostgroup=nodes&style=detail отображается статус сетевой доступности вычислительных узлов кластера, а по адресу http://<host>/cgi-bin/nagios3/status.cgi?hostgroup=nodes&style=hostdetail отображались статусы доступности вычислительных узлов с точки зрения slurm (узел доступен, если находится в одном из следующих состояний: ALLOC|ALLOCATED|COMP|COMPLETING|IDLE|UNKNOWN). Статистика должна быть доступна неавторизованному пользователю.

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

ЗАДАНИЕ 10
Сделать доступным домашние каталоги пользователей по smb с авторизацией через логин/пароль.

ОБРАТИТЕ ВНИМАНИЕ:
Наши сервера не оборудованы атомными часами. Поэтому время на них периодически разбегается.

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

Часы должны синхронизироваться с помощью ntpd и не более чем за пять минут.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

Ответы прямо сюда постить? :) Олимпиада ещё идёт.

8 задание ерунда, просто азы. Единственная особенность - поменять интервал применения манифеста с 1800 сек до 60. Параметр runinterval в puppet.conf. А сам класс можно вешать хоть на каждый узел ( что геморрой и как правило не нужно ), хоть использовать наследование, хоть повесить на дефолтную ноду ( в данном случае сойдёт )

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от tazhate

задание 9. С nagios, к сожалению, не работал. Пинг делается штатными средствами, slorm я бы прикрутил через ncsa/send_ncsa, а данные slurm парсил perl'ом

router ★★★★★
()
Ответ на: комментарий от router

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

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

ЗАДАНИЕ 3 реализуется штатными средствами syslog-ng/rsyslog, а быстро раскидать конфиг по нодам удобно через puppet ( поэтому я с него бы и начал, т.е. с задания 8 )

router ★★★★★
()
Ответ на: комментарий от tazhate

Вот задание 6 делает меня грустным пандой. Это ж надо ldap поднимать и искать подходящие схемы

router ★★★★★
()
Ответ на: комментарий от true_admin

Это удар ниже пояса. Да и кто подобную хрень поставит на кластер? :) Ну, тогда бы гуглил

router ★★★★★
()
Ответ на: комментарий от true_admin

Кстати, что лучше использовать для пары нод - ocfs2 или glusterfs? При условии что общее блочное устройство создать не проблема

router ★★★★★
()
Ответ на: комментарий от router

тебе надо чтобы диски в сети всегда были и смонтированы? я юзаю сейчас drbd с обычным ext4, тупо переключая их хартбитом.

tazhate ★★★★★
() автор топика
Ответ на: комментарий от tazhate

тебе надо чтобы диски в сети всегда были и смонтированы?

Да, на обоих нодах rw

router ★★★★★
()
Ответ на: комментарий от router

ocfs2 мне не понравился (вот уже не помню чем, наверно тем что при concurrent access скорость ппц падает из-за блокировок), glusterfs не пробовал :(.

Лох я в стораджах. Мне вообще идея централизованного хранилища не нравится.

PS я наверно нагнал на ceph. Я пытался pohmelfs завести, но оно было мертво.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Я пытался pohmelfs завести, но оно было мертво.

Судя по названию, оно не труп, а просто так пахнет

router ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.