• Иллюстрированное руководство по устройству сети в Kubernetes. Части 1 и 2

    • Translation
    Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материалом с наглядными иллюстрациями. В оригинале он разбит на две части, однако в этом переводе мы объединили их в одну статью.



    Вот вы запустили множество сервисов в кластере Kubernetes и пожинаете плоды… или хотя бы собираетесь это сделать. Однако, даже несмотря на существование ряда утилит для настройки кластера и управления им, вам всё же интересно, как всё работает «под капотом». Куда смотреть, если что-то сломается? По себе знаю, что это важно.
    Читать дальше →
    • +38
    • 24.2k
    • 2
  • Рутокен ЭЦП и Open Source



      Мне нравится современный Open Source. Нравится не как идея, а с вполне прагматической точки зрения. Фактом является то, что компания любого масштаба может использовать Open Source приложения в своей информационной системе и получить в результате кроссплатформенные, удобные и бесплатные решения практически любых проблем.

      Мы прилагаем много усилий, чтобы «подружить» Рутокен ЭЦП и различные приложения Open Source. Для этой цели мы добавили поддержку российских криптоалгоритмов (ГОСТ 28147-89, ГОСТ Р 34-11.94 и ГОСТ Р 34-10.2001) и устройств Рутокен и Рутокен ЭЦП в проект OpenSC, а также разработали свою собственную кроссплатформенную библиотеку PKCS#11, работающую на операционных системах Microsoft Windows, GNU/Linux, Mac OS X, FreeBSD и др.

      Читать дальше →
    • «Анатомия анонимных атак» — как работают Anonymous?

        Американская компания Imperva, которая занимается разработкой решений для защиты данных, опубликовала свой 17-страничный отчёт, посвященный исследованию работы известной группы хактивистов Anonymous. Нельзя сказать, что отчёт вскрывает страшные тайны подпольной организации злоумышленников, но, тем не менее, в качестве систематизированной картины он весьма удобен.

        Итак, согласно отчёту, Anonymous — это не группа сверхгениальных хакеров, способных в считанные часы или дни взломать любой сервер и украсть любую информацию. Хотя и имели место прецеденты с успешными атаками на столь солидные организации как StratFor и ряд других, успешность атаки объясняется скорее безалаберностью администраторов ресурсов, а не какой-либо сверхизобретательной технике злоумышленников. Так исследователи считают, что хотя у Anonymous и имеются некоторые специфические приёмы, тем не менее, группа предпочитает широко известные методы — прежде всего, это SQL-инъекции и DDOS-атаки, причём, Anonymous, как правило, сначала пробуют украсть данные, а потом, если это не увенчивается успехом, организуют DDOS на ресурс жертвы.
        Узнать подробности
      • Чем плох GNU make?

          GNU make — широко известная утилита для автоматической сборки проектов. В мире UNIX она является стандартом де-факто для этой задачи. Являясь не такой популярной среди Windows-разработчиков, тем не менее, привела к появлению таких аналогов, как nmake от Microsoft.

          Однако, несмотря на свою популярность, make — во многом ущербный инструмент.
          Читать дальше →
        • Файловый менеджер на PHP, с правами, контролем версий и AJAX-ом

          Особенности файлового менеджера:
          — Можно задавать права доступа на файлы и директории. Права двух типов: есть доступ или нет доступа. Файлы хранятся в недоступной для скачивания по прямой ссылке папке. Скачивание файла происходит с предварительной проверкой пользователя и прав доступа на файл. Любой пользователь файлового менеджера может обладать правами администратора, что указывается при добавлении нового или редактировании существующего пользователя. Администратор может видеть все, в том числе «удалённые» файлы.
          — Контроль версий каждого файла. После загрузки файла он сохраняется с именем, которое не позволяет перезаписать существующие файлы, а его «оригинальное» имя сохраняется в БД. Данный подход разрешает хранить разные состояния файлов.
          — Автоматическое создание превью загружаемых изображений.
          — Файл в менеджере можно сделать доступным для скачивания
          — GPL, код доступен на github



          Читать дальше →
        • Восстановление емкости аккумулятора ИБП

            Подавляющее большинство из нас использует такое крайне полезное устройство, как источник бесперебойного питания. Качество питания не везде идеальное, да и просто мельчайшие проблемы с электропитанием иногда могут дорогого стоить. Потери данных это всегда неприятно, а иногда просто таки фатально. Устройство куплено, установлено под стол, подключено и владелец его находится в полной уверенности, что в любом случае при перебое в электропитании он успеет корректно завершить работу, а может быть и сделать бэкап на флешку. Время идет, бесперебойник периодически дает о себе знать — как заправский сторожевой пес он подает голос при малейших отклонениях в параметрах электросети. Хозяин спокоен и все хорошо. Но в один из дней перебой таки случается и в этот раз ИБП не просто подает голос и сразу переключается с батареи на сеть, в этот раз свет выключили на долго. Мы спокойно копируем файлы (ведь в запасе у нас минут 15, не меньше) и тут бесперебойник начинает пищать совсем часто и все выключается. Как так? Ведь бесперебойник же должен был нас защитить от подобных ситуаций, а он только вселял нам ложную уверенность в нашей безопасности! Почему так произошло?

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

            Читать дальше →
          • Аналог Teamviewer из VNC, SSH и суперклея

              Всем хорош teamviewer, вот только в коммерческих целях он какой-то не бесплатный, о чем не устает напоминать… Да и вообще, не хорошо нарушать лицензию.

              Но удобство запуска quick support впечатляет — клиент запускает маленькую программку, диктует циферки по телефону и вуаля, мы видим его рабочий стол. Никаких VPN, никаких пробросов портов и прочей предварительной настройки. Удобно же?

              В качестве бесплатного аналога вполне подходит VNC, с call-back подключением вполне приемлемо, да вот только когда клиентов много, и компьютер к которому цепляются тоже не один начинаются те же проблемы (хотя и более решаемые). Идея teamviewer лично мне нравится больше. А если нравится, почему бы не сделать свою реализацию…

              Читать дальше →
            • Интересные решения для электронной подписи в браузере

                В одном из комментов к этому топику, отечественный потребитель ЭЦП написал:
                У меня есть мечта… В самом деле — у меня есть мечта, что когда-нибудь в будущем я смогу обойтись без связки «windows + IE» для клиент-банков и прочего софта, который использует крипто-про. СБИС++, например. Блин, я надеюсь, что это когда-нибудь будет.



                Конкретная такая мечта. И сейчас имеются все предпосылки для ее исполнения.

                В топике я немного остановлюсь на решениях Крипто-Про, которые позволяют сделать квалифицированную ЭЦП в браузере действительно удобной.

                А так же опишу одно оригинальное решение от фирмы Криптоком (www.cryptocom.ru), которое позволяет подписывать документы через интернет квалифицированной ЭЦП с помощью практически любого компьютера/браузера без предварительной настройки и без прав сисадмина (для варианта «срочно нужно провести сделку из интернет-кафе турецкого отеля»).

                Читать дальше →
              • Курсы Стенфордского университета


                  Стенфорд запустил онлайн курсы по криптографии. Их будет читать профессор Стэнфорда Dan Boneh 23 января этого года.

                  Лекции состоят из коротких видео лекций, приблизительно по 10 минут, в сумме примерно 2 часа в неделю, покрывающий основы современной криптографии. Присутствует интерактив — онлайн–квизы, домашние задания и лабы. Можно задавать свои вопросы в Q&A Forum. Конечно это всё бесплатно.

                  Так же Стенфордом запущено много разнонаправленных курсов, подобных этому Среди них Anatomy, Human-Computer Interaction, Machine Learning, Computer Security и прочие.

                  На хабре уже поднимали тему удалённых лекций Стенфорда ранее, но как уже было написано в одном и постов:«Реклама благому начинанию не повредит». Первый, второй посты.

                  Советую ознакомиться, очень любопытно.

                  UPD:
                  Привожу ссылки на группы, где люди могут обсуждать данные лекции:
                  https://groups.google.com/forum/#!forum/stanford-online-classes
                  https://groups.google.com/forum/#!forum/stanford_free_ru
                • Щит и Меч в системах ДБО


                    Проблемы с безопасностью в системах дистанционного банковского обслуживания (ДБО) ни для кого не секрет. Там где на кон поставлены деньги, информационная безопасность проверяется на прочность особенно часто. Основной вектор атаки в системах ДБО направлен на клиентское ПО, так как оно выполняется в небезопасной среде. Для защиты клиентского рабочего места в разное время применялись разные методы. Эволюцию средств нападения и средств защиты, используемых в ДБО, я попытаюсь описать в этом топике. В основном будут рассмотрены технические средства защиты клиентской части ДБО.
                    Читать дальше →
                  • Как справляться с запланированной недоступностью веб-сайта

                    • Из RSS
                    Томер Хонен и Каспар Шимански, Команда качества поиска, Дублин

                    Нас часто спрашивают, может ли недоступность сайта во время сканирования Googlebot’ом плохо сказаться на видимостЬ сайта в результатах поиска Google. Иногда сайт бывает недоступен по техническим причинам, например когда он закрыт на обслуживание или редизайн. Подобные ситуации, не обозначенные должным способом, могут негативно повлиять на репутацию сайта. Мы не можем гарантировать индексирование или ранжирование, но существуют методы, которые позволяют справляться с запланированным простоем веб-сайта без отрицательного действия на его видимость в результатах поиска.

                    Например, при запросе страницы сайта вместо возврата кода статуса HTTP 404 (Не найдено) или показа ошибки на веб-странице с кодом статуса 200 (OK), лучше всего возвратить код статуса 503 (Сервис недоступен), который сообщает поисковику, что простой временный. Более того, это позволяет веб-мастерам предоставлять посетителям и ботам информацию о том, когда веб-сайт восстановит свою работу.

                    Если известны продолжительность простоя в секундах или предположительные дата и время завершения простоя, то они могут быть указаны в поле заголовка Retry-After, используемом гуглботом для определения подходящего момента переиндексации URL.

                    Ответ сервера кодом состояния 503 может быть хорошим решением и в других ситуациях. Хорошей практикой считается возвращать код состояния 503 «Сервис недоступен» для ошибок сервера, недоступности сайта, перерасхода трафика или страниц-заглушек (в том числе и «Сайт закрыт на реконструкцию»). На случай запланированных простоев сервера, таких как ремонт аппаратного обеспечения, стоит иметь отдельный сервер, который бы возвращал код 503.

                    Тем не менее, важно не относиться к коду статуса 503 как к постоянному решению проблемы: продолжительная выдача 503 может рассматриваться как знак, что сервер стал постоянно недоступен, в результате чего мы можем удалить URL из индекса Google.

                    header('HTTP/1.1 503 Service Temporarily Unavailable');
                    header('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT');

                    Так может выглядеть информация в header-e при использовании PHP, если вы настроите ответ 503 (Сервис недоступен).

                    Подобно тому, как можно сделать страницы 404 более полезными для пользователей, следует также правильно настроить сообщения 503, объясняющие пользователям текущую ситуацию и предоставляющие им информацию о том, когда сайт снова будет доступен.

                    Дополнительная информация о кодах состояния HTTP предоставлена на странице RFC 2616.
                    • +40
                    • 10.2k
                    • 6
                  • Что такое 'stable'?

                      У нас на работе как-то был довольно жаркий спор о том, считать ли python 2.7 стабильным. Итоги спора и сам вопрос я оставляю в стороне, а тут я хочу изложить и систематизировать определённые мысли о реальных программах, которые сильно противоречат миру Фон Неймана и Тьюринга.

                      Мир, в котором работают программисты — это мир правильного кода. Разумеется, в нём есть бесчисленные ошибки, но эти ошибки подлежат исправлению. Если это ошибки в чужом коде, который не исправить, они подлежат документированию и учитыванию в своём коде. Но ошибка — это всегда повод её найти и устранить.

                      Мир же системного администрирования другой. Тут код, который «какой есть, такой есть». Невозможно даже мельком прочитать исходные тексты всех пакетов даже для самой маленькой и скромной установки. 300+ Мб линукса, исходные коды основных библиотек и программ… Оно в принципе необозримо. Можно знать конкретные программы, конкретные места программ — но невозможно знать весь runtime, всё программное окружение, из которого состоит ОС.

                      И оно полно ошибок. Можно сколько угодно рассуждать про прелести мат. доказательств кода, но это совершенно не поможет, если сбой обнаружится в проприентарном драйвере видеокарты (казалось бы, и при чём тут сервер?) или сетевой карты с TCP offload.

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

                      И вот вокруг этого «иногда» и строится вся концепция «стабильности» и product-ready.
                      Читать дальше →
                    • Семь правил тестировщика

                      «Сначала ваши попытки должны были потерпеть крах, чтобы вы были готовы ухватиться за спасательный круг, который вам бросят.»
                      Е. Херригель
                      «Дзен и искусство стрельбы из лука»

                      Ты ручной тестировщик?
                      На автоматизацию тестирования нет времени?
                      То, что нужно тестировать, невозможно автоматизировать?
                      Ты уже достиг вершин, но хочешь посмотреть чей-то чужой путь?

                      Тогда прошу под кат!
                      Читать дальше →
                    • Объединение двух локальных сетей с одинаковым номерами сетей на Linux-шлюзе

                      При создании локальной сети не каждый администратор подходит с ответственностью к выбору диапазона адресов. А может и не каждый догадывается о наличии частных диапазонов кроме 192.168.0.0/24. И со временем такая бомба замедленного действия может дать о себе знать. Локальные сети объединяются, возникает потребность в коммуникации между хостами разных сетей. И тут выясняется, что номера сетей совпадают. И менять их по каким либо причинам проблематично или невозможно.
                      Читать дальше →
                    • Инструкция по настройке Ejabberd с транспортом J2J/ICQ(с корректной кодировкой) на Ubuntu Server

                        Всем привет.

                        Сегодня мы будем настраивать свой собственный jabber-сервер для example.org на Ubuntu Server Edition.
                        На этом сервере будет транспорт в аську и jabber. Логи будут писаться в директорию example.org/logs. Логи можно будет удобно смотреть с мобильного устройства(fancyindex+htpasswd+fail2ban).
                        Подразумевается, что минимум в Linux вы уже знаете. Также стоит отметить: инструкция является путеводной звездой, дает общее направление и не призывает выполнять ее на 100% так, как в ней написано. Также она не охватывает 100% настроек, нужно уметь настраивать web-сервер и работать с mysql.

                        Далее для примера я буду использовать Clodo.ru в качестве хостера. Естественно различные куски инструкций можно применять на любом другом дистрибутиве/хостере.

                        Читать дальше →
                      • 6 способов убить Ваши сервера — познаем масштабируемость трудным путем

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

                        Несколько лет назад ко мне пришел мой босс и сказал: «У нас есть новый проект для тебя. Это перенос сайта, который уже имеет 1 миллион посетителей в месяц. Тебенеобходимо его перенести и убедиться, что посещаемость может вырасти в будущем без всяких проблем.» Я уже был опытным программистом, но не имел никакого опыта в области масштабируемости. И мне пришлось познавать масштабируемость трудным путем.
                        Читать дальше →
                      • Быстрое восстановление пароля по MD5-хешу методом брутфорса

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

                          Сразу скажу, что описанные в статье техники ускорения подходят для любого алгоритма хеширования, но из-за широкой распространённости я выбрал именно md5.
                          Читать дальше →