25.04 16:39
Привет, гость
 

«Веб-разработка, которая не парит»

20.06.2013, 10:52
Философия Ruby on Rails делает разработку простой и эффективной, так что неудивительно, что у фреймворка сформировалось огромное сообщество. Давай познакомимся поближе с философией этой платформы как с точки зрения архитектуры, так и с точки зрения безопасности на выделенных серверах компании Ukrnames (ООО "Центр интернет-имен Украины").

Если ты ни разу не сталкивался с Ruby on Rails, то передовая веб-разработка явно не твой конек. Да, мы, рубисты, любим кидать понты. Сложно сказать, смог бы Ruby стать таким популярным без фреймворка Rails, но очевидно — своим успехом Rails полностью обязан гибкости и красоте языка Ruby. Поэтому, когда рубисты обсуждают Rails, они говорят о «тандеме» Ruby & Rails.

Слоган рельс — «Web development that doesn’t hurt», что условно можно перевести как «Веб-разработка, которая не парит». И правда, этот фреймворк прежде всего удобен для программиста. Простота, эффективность и скорость разработки в Ruby on Rails сделала его любимой платформой для разработки как в стартапах, так и в крупных компаниях. Ruby on Rails начал быстро набирать популярность с момента своего появления, что связано с лаконичностью и «синтаксическим сахаром» Ruby. Разработка прототипа при должной сноровке занимает считаные дни, и переписывать заново его уже не придется. Это позволяет оперативно представить результат инвестору, запустить проект, а потом, при необходимости, легко найти новых разработчиков (разбираться в чужом, но правильно написанном Rails Way коде очень легко).

Rails определенно не подходит для создания очередного SEO-решения (сателлита, дорвея, сплога), как и для создания форума, личной странички (хотя технически такая возможность, конечно, присутствует). Зато идеально подходит для создания серьезных бизнес-проектов различного масштаба и направленности, реализующих новые идеи и решения, требующих качественный и надежный хостинг, используя новейшие средства виртуализации. Конечно, такие проекты не могут не заинтересовать злоумышленников, что, в свою очередь, и объясняет рост числа атак на RoR-приложения в последнее время.

Какие проекты сделаны на рельсах? GitHub и GitLab — хранение кода, платежные системы, Diaspora, Look At Me, Groupon, Basecamp, Hulu, Scribd, Shopify, Yellowpages, Danbooru и сотни других социальных стартапов, очень популярный проект-трекер Redmine и другие. Также на Ruby написан и сам rubygems, главный репозиторий гемов (так называются пакеты/библиотеки в мире руби).

Для начала вводный курс в идеологию фреймворка: Convention over configuration, или все нужно делать по дзену the Ruby/Rails Way. Это звучит очень круто, ведь когда новая команда разработчиков берется за доделку существующего Rails-проекта, то число WTF в секунду ниже, чем у их коллег, использующих PHR. Есть четкий подход к архитектуре приложения — использование MVC (model — view — controller) и то же самое в подходе к безопасности. Есть политика партии, тьфу, 37signals (контора — создатель фреймворка и главный евангелист), и ей нужно следовать. Бытует шутка-цитата из уст создателя Ruby on Rails (DHH — Дэвид Хейнемейер Хэнссон), что Rails is omakase. Попросту говоря — что вам приготовили, то и ешьте.

Вернемся от философии к безопасности. Откровенно говоря, рельсы хорошо балансируют на грани между «удобно» и «безопасно» — не стесняя действия разработчика, они предоставляют защиту от основных уязвимостей из коробки. XSS, CSRF, SQL inject — рубисту просто не нужно знать значения этих слов, ведь конвенция разработки грамотно решает эти проблемы на корню.

Наконец, сердце Ruby on Rails — система модулей, gems. Каждый gem хранит внутри себя код и метафайл в формате YAML. Как можно догадаться, если в этот метафайл положить уже известный RCE-exploit для YAML и загрузить такой gem на сервер Rubygems, то можно выполнять любой код в контексте главного репозитория кода руби, скомпрометировав тем самым всю экосистему. Именно это и произошло. Говорят, что админы rubygems были предупреждены за 10 дней, но никаких действий не предприняли. Чтобы продемонстрировать серьезность угрозы, 30 января был анонимно залит gem с говорящим названием «exploit». Очевидно, это была шутка некоего whitehat’a, но ради галочки людям пришлось всю неделю сверять checksum’ы гемов из бэкапов и текущих для выявления скомпрометированных библиотек. Очередное доказательство, что уязвимости надо исправлять быстро, а серьезные уязвимости — мгновенно.

Эта YAML-RCE была и остается самой серьезной уязвимостью в рельсах, затрагивающей огромное число инсталляций Redmine, GitLab и прочих редко обновляемых приложений. Определенно, она была эксплуатирована множество раз на реальных проектах как автоматическими сканерами, так и хакерами, например, были украдены биткоины у биржи Vircurex.

Тем, кто хочет познакомиться с руби поближе, я настоятельно рекомендую изучить синтаксис языка и попробовать его в повседневных задачах. Более того, популярный Metasploit Framework написан на руби, и для быстрого «прототипирования» атак нет ничего лучше лаконичного руби. Начать исследования стоит с аудита кода популярных гемов типа Rails, Sinatra, Rack, ибо средний рельс-проект использует сотню-другую сторонних гемов, и в каждом из них может прятаться уязвимость, о которой никто пока не знает. Архитектура «подписывания» и sandbox’инга гемов находится только в самом зачатии, поэтому я уверен, что лично ты можешь найти множество интересных вещей в экосистеме. Удачи!

Материалы по теме
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
«Веб-разработка, которая не парит»

«Веб-разработка, которая не парит»
25.04.2024


Апрель 2024 (12)
Март 2024 (1)
Февраль 2024 (26)
Январь 2024 (13)
Декабрь 2023 (24)
Ноябрь 2023 (3)
ГБАО, ДТП, Душанбе, Исфара, Культура, Куляб, МВД, МВД Таджикистана, Мегафон, Навруз, ООН, ПИВТ, Президент, Рахмон, Рогун, Россия, США, Согд, Таджикистан, Узбекистан, Хорог, Худжанд, Эмомали Рахмон, банк, бензин, встреча, выставка, конкурс, мигранты, налоги, наркотики, праздник, президент Таджикистана, сотрудничество, спорт, суд, туризм, фестиваль, футбол, экономика

Показать все теги


© 2011-2023 «Независимое мнение». Таджикский агрегатор новостей. Все новости Таджикистана на одном сайте.
Любое использование материалов приветствуется при гиперссылке.

Экспорт новостей Наши новости в Twitter Мы ВКонтакте Страница на Facebook

Ключевые слова: новости Таджикистана, Таджикистан новости сегодня, Таджикистан новости 2012, последние новости Таджикистана, новости дня Таджикистана, новости, Таджикистан сегодня, независимое мнение, экономика Таджикистана, политика Таджикистана, общество Таджикистана, депутаты, журналисты, СМИ