Расширение промо, раздел о безопасности
adubovskoy opened this issue · comments
Вводная
В России несколько удивительная ситуация (мы про Битрикс преимущественно). В том плане, что проприетарные CMS, которые далеки от концепта "приятный читаемый и безопасный код", вкладываясь в маркетинг могут у широкой аудитории создавать мнение "Друпал и другие CMS использовать нельзя, они небезопасны, а Битрикс можно ". К сожалению эта позиция стала уже, видимо, "маркетинговой политикой партии", т.к. битрикс-продавцы замечены с этим аргументом в разных городах в разное время. Что иногда вызывает проблемы с продажей Drupal'а.
Что хотим
Сделать раздел с информацией о том почему Drupal безопасен, как работает служба безопасности друпала, почему Битрикс и др. говорят такие вещи, которые не соответствуют действительности.
Кому это нужно
Всем кто продает Drupal. Собственно запрос на эту страницу поступил от Анатолия Полицина, одного из спонсоров самой промо-страницы (еще раз спасибо! https://drupal.dru.io/thanks ). Ну и всех донатеров на странице благодарностей обязательно разместим.
http://yasobe.ru/na/drupalpromo - страница для сбора.
Я не готов сейчас выступать спонсором, но очень интересную ссылку подкину: Неприкасаемый Oracle https://habrahabr.ru/company/dsec/blog/264581/ - просто красной нитью про западню проприетарных продуктов.
И из кеша гугла удаленный блог-пост одного из разработчиков Битрикса Долганина Антона "О качестве приложений партнеров" - если что, есть скриншот со всеми комментариями.
И вот еще пример: "Почему «электронные дневники» до сих пор ненадежны в образовании?".
Один из выводов: "На примере электронного журнала(dnevnik.mos.ru) стало видно, что некомпетентность лишь одного человека может повлечь за собою крах, в данном случае, всей системы оценивания."
Ну а мы знаем, что в открытом коде есть больше шансов найти ошибку.
Соберу из чата, вдруг что-то пригодится. Сори что без авторов, не понял как копировать из телеги чтобы с автором.
[In reply to Alexander Dubovskoy]
Хорошая идея! Думаю, что нужно акцентироваться на:
- Чем больше сообщество разработчиков, тем больше вероятность нахождения уязвимостей. Open Source сообщество, в частности Drupal на порядки больше любого проприетарного;
- Наличие опубликованных требований к качеству кода (Coding standards) и "бюрократических препонов" при размещении контрибного модуля (о том, как всё строго на орге для новичков);
- Группа безопасности (security team). Авторитетная и внушительная часть всей экосистемы сообщества;
- GPL v2 не порождает таких проблем, как у проприетарных систем с платными лицензями - выкинули сырое решение в маркетплейс и не реагируют на замечания партнеров, зная, что они сами "в доле" и пропатчат самостоятельно.
- И напоследок, по поводу - а почему битриксоиды так говорят - проехаться по другому: они берут деньги и за код, и за услуги, и на партнерские себе, естественно. А на оставшиеся развлекают (агрессивный маркетинг) клиентов за их же собственные клиентские деньги. Пусть адекватные заказчики (не госы естественно, которые расчитывают на откаты) знают, на что идут их деньги, и в чем порочность этой системы.
Чувствуют проприетарщики, что свободные решения и качественнее, и безопаснее, и легче в совместной разработке - вот и используют устоявшийся стереотип, что дескать открытый код и опенсоурс - это что-то типа анархии и раздолья для злоумышленников. Надо эти попытки пресекать на корню. Не те времена сейчас. Международные корпорации (ibm, hp, apple, microsoft, etc) не случайно вкладываются в свободное ПО и открывают код некоторых своих закрытых решений. Не хватает у них собственных ресурсов. Не успевают.
[In reply to Alex Malkov]
Друпал коммьюнити, на самом деле больше даже вп, у нас первое место
для клиента нужно разжевать почему большое комьюнити Друпала - это хорошо лично для его проекта. Не все клиенты даже слово комьюнити понимают.
Нужно писать что большое сообщество это:
- столько-то закрываемых дыр ежедневно
- столько-то бесплатных модулей ежемесячно (которые сделают разработку/поддержку быстрее/дешевле)
- средняя реакция на проблему столько-то секунд
в цифрах и рублях. Они это понимают.
средняя реакция на проблему столько-то секунд
ну вот - доклад у Саши как раз на эту тему самое то!
https://t.me/drupal_rus/33286
http://prezi.com/cizyaodvawe5/?utm_campaign=share&utm_medium=copy&rc=ex0share
возможно стоит даже разжевать модель монетизации опенсорсных проектов. Чтобы клиенты поняли что это будущее и как это работает и почему это хорошо. Потому что многие простые бизнесмены не понимают 1. Как что-то бесплатное может быть хорошим, 2. Как что-то хорошее может быть бесплатным. И соответвсеннго видят в этом моменте какой-то на*бон.
[In reply to Вадим Бардачев]
Вот стыреная статья из издания Chip http://open-life.org/blog/opensource/694.html про монетизацию.
Вот по битриксу относительно свежая дырень https://habrahabr.ru/post/307734/
Ещё про импортозамещение:
- крутиться на Операционке Линукс - 66.6% серверов мира https://w3techs.com/technologies/overview/operating_s..
- В качестве веб сервера использвоать Apache - 48.3%, Nginx - 35.7% (84% суммарно) https://w3techs.com/technologies/overview/web_server/..
- Для языка программирования будет использоватья PHP 82.9%
- В качестве базы данных будет использоваться MySQL+Postgre ~80% - по ней статистики нет, но имея 80+% связок Apache/Nginx+PHP не сложно сделать вывод, что базы данных MySQL+Postgre суммарно занимают аналогичный процент
- На сайте будут использоваться jQuery, ckEditor, Lightbox и ещё много js-библиотек
На эту архитектуру опирается Drupal и Битрикс и Joomla и Wordpress и т.д.
В какой момент "16 строчек написанных программистами из Битрикса на php" становятся более безопасным и более российскими?
Сравнение Битрикс и Drupal.docx
По ссылке наша таблица сравнения Битрикса с Drupal, которую мы используем при обсуждениях с госзаказчиками. Она кое-где подшаманена в сторону Друпала, но всё же на 95% правдива и объективна.
Страница с описанием технических преимуществ Drupal для B2B проектов:
https://docs.google.com/document/d/1FIlroCPs52Oh1UzHrEJtVSnzUMOUbq_gKVv331MBcDc/edit#heading=h.ourrtnou107i
Про безопасность там такое замечание:
Во многих других популярных CMS принято запускать обновления по кнопке в админке, т.е. веб-сервер имеет права на запись в файловую систему ядра. Это не является безопасным. Drupal работает и обновляется без прав на запись в ядро Drupal со стороны веб-сервера.
Друзья, привет!
Несколько раз приступали к прототипу, но без толку, т.к. получается набор фактов, которые не сложатся у неподготовленного пользователя в цельную картину.
Поэтому меняем концепт - это будет не просто лендинг, а лендинг с элементами лонгрида, последовательное повествование, рассказанная история.
Предлагаю вам покритиковать узловые элементы, смыслы и порядок изложения:
Безопасность Drupal
Расскажем простыми словами, что такое уязвимости, безопасность. С цифрами и фактами.
В компьютерной безопасности термин «уязвимость» (англ. vulnerability) используется для обозначения недостатка в системе, используя который можно намеренно нарушить её целостность и вызвать неправильную работу.
Используя уязвимости злоумышленник может:
• просто испортить программное обеспечение (сайт не работает)
• Получить доступ к информации, которую видеть не должен.
• Заставить программу (сайт, сервис) делать то, что она делать не должна - рассылать спам, воровать пароли, добывать криптовалюту
Безопасность - это отсутствие уязвимостей?
НЕТ!
Не существует сложных программ без уязвимостей. Операционные системы, офисные программы, игры – везде находятся уязвимости. Даже ПО, помогающее людям летать в космос, подвержено уязвимостям. Мы про них не знаем, потому что у такого ПО мало пользователей)
Безопасность – это минимальная вероятность наличия уязвимостей, которые злоумышленник может использовать здесь и сейчас.
Простыми словами – вероятность наличия уязвимости высокая – программа не безопасна. Вероятность низкая – программа безопасна.
Если уязвимость точно есть, она описана, но не закрыта и её можно использовать прямо сейчас – программа, платформа, сайт, сервис 100% не безопасен!
В Drupal актуальной версии вероятность наличия уязвимости, которую можно использовать здесь и сейчас, стремится к нулю, соответственно, уровень безопасности близок к 100% по следующим причинам:
- Процесс закрытия найденных уязвимостей – Security Team
Обратите внимание – публикация информации о найденной уязвимости происходит ПОСЛЕ того, как уязвимость закрыта. Это значит только одно, когда вы слышите, что в Drupal 100500 уязвимостей, вы знаете, что этими уязвимостями нельзя воспользоваться =) - Процесс предотвращения появления новых уязвимостей с участием человека – стандарты кодирования, аудит кода ядра, модерация публикуемых модулей (что еще)
- Процесс предотвращения появления новых уязвимостей без участия человека (покрытие тестами)
- Наличие готовых решений для предотвращения нецелевого использования (Капчи, пароли, двухфакторная аутентификация… списком)
Drupal это Open Source – улучшает ли это безопасность?
Да! Есть отдельный вид уязвимостей, так называемые «закладки». Эти уязвимости намеренно вносятся разработчиками, чтобы сами разработчики или специально обученные люди могли незаметно получать доступ к программному обеспечению. Drupal – по с открытым исходным кодом, а это значит что любой разработчик может не только найти подобную «закладку», ни и определить её автора и дату появления. Этот подход делает создание подобных уязвимостей практически не реализуемым.
Это теория, а что на практике?
Битрикс - в данный момент существует несколько описанных в профессиональных изданиях уязвимостей (ссылки), которые разработчики по неизвестным причинам не могут закрыть.
Вывод - Битрикс 100% не безопасен прямо сейчас!
WordPress - с момента публикации о "закладке" в модуле, который используется на сотнях тысяч сайтов до момента исправления прошло 100500 дней. (пруфы, ссылки)
Вывод - WordPress был 100% не безопасен 100500 дней
Drupal
Описание Drupalgeddon
Вывод - Drupal был 100% не безопасен 7 минут )
Экономическая безопасность – соответствие требованиям законодательства.
Стоимость безопасности
В отличие от других разработчиков ПО, которые привыкли зарабатывать на собственных ошибках (лицензии, подписки) в Drupal вы получаете обновления безопасности абсолютно бесплатно.
Как убедиться, что мой Drupal безопасен?
Проверьте версию вашего проекта на Drupal. Если она 8.4.4 или 7.56, и модули не требуют обновлений, то всё в порядке, ваша информационная безопасность близка к 100%.
Если нет, то просто обновите свой Drupal (CTA)
Это значит только одно, когда вы слышите, что в Drupal 100500 уязвимостей, вы знаете, что этими уязвимостями нельзя воспользоваться =)
Это значит только одно: когда вы слышите что в Drupal обнаружено 100500 уязвимостей, это означает что все эти уязвимости уже исправлены. Сообщения об уязвимостях - это показатель качества работы группы безопасности. Другие системы, которые имеют меньше сообщений о нахождении уязвимостей, имеют гораздо большую статистику по взломам (если разработчики не нашли уязвимость у себя сами и не исправили -- их найдут злоумышленники).
Новости на securitylab.ru по CMS-кам за год
- Друпал 2 новости: https://www.google.ru/search?q=site:www.securitylab.ru+drupal&dcr=0&source=lnt&tbs=qdr:y&sa=X&ved=0ahUKEwjyrP-av47ZAhWCBiwKHR5AD04QpwUIIA&biw=1858&bih=989
- неизвестные сканируют интернет на типовые учетки друпал-вордпресс-джумла
- новость не про друпал, а просто на странице есть ссылка на статью 2014 года
- Wordpress 7 страниц про дыры: https://www.google.ru/search?q=site:www.securitylab.ru+wordpress&dcr=0&tbs=qdr:y&ei=gip4WpObIoO2sQHFtIzwCA&start=0&sa=N&biw=1858&bih=989
- joomla - 11 новостей про дыры https://www.google.ru/search?q=site:www.securitylab.ru+joomla&dcr=0&tbs=qdr:y&ei=LSt4Wp6xJsSfsgHfxYOADg&start=0&sa=N&biw=1858&bih=989
- битрикс не проверить, т.к. там на каждой странице внизу 'Работает на CMS "1С-Битрикс: Управление сайтом"' =)
Для истории про «некритическую» уязвимость в "Joomla!"
https://threatpost.ru/joomla-patches-sql-injection/24508/
И ещё инфа от Виктора, про Метасплоит.
Коротко:
- друпал 5 эксплоитов, самый поздний июнь 2016
- вордпресс 57 эксплоитов, самый поздний май 2017
Подробно:
msf > search name:drupal
Matching Modules
================
Name Disclosure Date Rank Description
—— —------------- —— —---------
auxiliary/gather/drupal_openid_xxe 2012-10-17 normal Drupal OpenID External Entity Injection
auxiliary/scanner/http/drupal_views_user_enum 2010-07-02 normal Drupal Views Module Users Enumeration
exploit/multi/http/drupal_drupageddon 2014-10-15 excellent Drupal HTTP Parameter Key/Value SQL Injection
exploit/unix/webapp/drupal_coder_exec 2016-07-13 excellent Drupal CODER Module Remote Command Execution
exploit/unix/webapp/drupal_restws_exec 2016-07-13 excellent Drupal RESTWS Module Remote PHP Code Execution
msf > search name:wordpress
Matching Modules
================
Name Disclosure Date Rank Description
—— —------------- —— —---------
auxiliary/admin/http/wp_custom_contact_forms 2014-08-07 normal WordPress custom-contact-forms Plugin SQL Upload
auxiliary/admin/http/wp_easycart_privilege_escalation 2015-02-25 normal WordPress WP EasyCart Plugin Privilege Escalation
auxiliary/admin/http/wp_symposium_sql_injection 2015-08-18 normal WordPress Symposium Plugin SQL Injection
auxiliary/admin/http/wp_wplms_privilege_escalation 2015-02-09 normal WordPress WPLMS Theme Privilege Escalation
auxiliary/dos/http/wordpress_directory_traversal_dos normal WordPress Traversal Directory DoS
auxiliary/dos/http/wordpress_long_password_dos 2014-11-20 normal WordPress Long Password DoS
auxiliary/dos/http/wordpress_xmlrpc_dos 2014-08-06 normal Wordpress XMLRPC DoS
auxiliary/gather/wp_all_in_one_migration_export 2015-03-19 normal WordPress All-in-One Migration Export
auxiliary/gather/wp_ultimate_csv_importer_user_extract 2015-02-02 normal WordPress Ultimate CSV Importer User Table Extract
auxiliary/gather/wp_w3_total_cache_hash_extract normal WordPress W3-Total-Cache Plugin 0.9.2.4 (or before) Username and Hash Extract
auxiliary/scanner/http/wordpress_content_injection 2017-02-01 normal WordPress REST API Content Injection
auxiliary/scanner/http/wordpress_cp_calendar_sqli 2015-03-03 normal WordPress CP Multi-View Calendar Unauthenticated SQL Injection Scanner
auxiliary/scanner/http/wordpress_ghost_scanner normal WordPress XMLRPC GHOST Vulnerability Scanner
auxiliary/scanner/http/wordpress_login_enum normal WordPress Brute Force and User Enumeration Utility
auxiliary/scanner/http/wordpress_multicall_creds normal Wordpress XML-RPC system.multicall Credential Collector
auxiliary/scanner/http/wordpress_pingback_access normal Wordpress Pingback Locator
auxiliary/scanner/http/wordpress_scanner normal Wordpress Scanner
auxiliary/scanner/http/wordpress_xmlrpc_login normal Wordpress XML-RPC Username/Password Login Scanner
auxiliary/scanner/http/wp_contus_video_gallery_sqli 2015-02-24 normal WordPress Contus Video Gallery Unauthenticated SQL Injection Scanner
auxiliary/scanner/http/wp_dukapress_file_read normal WordPress DukaPress Plugin File Read Vulnerability
auxiliary/scanner/http/wp_gimedia_library_file_read normal WordPress GI-Media Library Plugin Directory Traversal Vulnerability
auxiliary/scanner/http/wp_mobile_pack_info_disclosure normal WordPress Mobile Pack Information Disclosure Vulnerability
auxiliary/scanner/http/wp_mobileedition_file_read normal WordPress Mobile Edition File Read Vulnerability
auxiliary/scanner/http/wp_nextgen_galley_file_read normal WordPress NextGEN Gallery Directory Read Vulnerability
auxiliary/scanner/http/wp_simple_backup_file_read normal WordPress Simple Backup File Read Vulnerability
auxiliary/scanner/http/wp_subscribe_comments_file_read normal WordPress Subscribe Comments File Read Vulnerability
exploit/multi/http/wp_ninja_forms_unauthenticated_file_upload 2016-05-04 excellent WordPress Ninja Forms Unauthenticated File Upload
exploit/unix/webapp/wp_admin_shell_upload 2015-02-21 excellent WordPress Admin Shell Upload
exploit/unix/webapp/wp_advanced_custom_fields_exec 2012-11-14 excellent WordPress Plugin Advanced Custom Fields Remote File Inclusion
exploit/unix/webapp/wp_ajax_load_more_file_upload 2015-10-10 excellent Wordpress Ajax Load More PHP Upload Vulnerability
exploit/unix/webapp/wp_asset_manager_upload_exec 2012-05-26 excellent WordPress Asset-Manager PHP File Upload Vulnerability
exploit/unix/webapp/wp_creativecontactform_file_upload 2014-10-22 excellent Wordpress Creative Contact Form Upload Vulnerability
exploit/unix/webapp/wp_downloadmanager_upload 2014-12-03 excellent Wordpress Download Manager (download-manager) Unauthenticated File Upload
exploit/unix/webapp/wp_easycart_unrestricted_file_upload 2015-01-08 excellent WordPress WP EasyCart Unrestricted File Upload
exploit/unix/webapp/wp_foxypress_upload 2012-06-05 excellent WordPress Plugin Foxypress uploadify.php Arbitrary Code Execution
exploit/unix/webapp/wp_frontend_editor_file_upload 2012-07-04 excellent Wordpress Front-end Editor File Upload
exploit/unix/webapp/wp_google_document_embedder_exec 2013-01-03 normal WordPress Plugin Google Document Embedder Arbitrary File Disclosure
exploit/unix/webapp/wp_holding_pattern_file_upload 2015-02-11 excellent WordPress Holding Pattern Theme Arbitrary File Upload
exploit/unix/webapp/wp_inboundio_marketing_file_upload 2015-03-24 excellent Wordpress InBoundio Marketing PHP Upload Vulnerability
exploit/unix/webapp/wp_infusionsoft_upload 2014-09-25 excellent Wordpress InfusionSoft Upload Vulnerability
exploit/unix/webapp/wp_lastpost_exec 2005-08-09 excellent WordPress cache_lastpostdate Arbitrary Code Execution
exploit/unix/webapp/wp_mobile_detector_upload_execute 2016-05-31 excellent WordPress WP Mobile Detector 3.5 Shell Upload
exploit/unix/webapp/wp_nmediawebsite_file_upload 2015-04-12 excellent Wordpress N-Media Website Contact Form Upload Vulnerability
exploit/unix/webapp/wp_optimizepress_upload 2013-11-29 excellent WordPress OptimizePress Theme File Upload Vulnerability
exploit/unix/webapp/wp_photo_gallery_unrestricted_file_upload 2014-11-11 excellent WordPress Photo Gallery Unrestricted File Upload
exploit/unix/webapp/wp_phpmailer_host_header 2017-05-03 average WordPress PHPMailer Host Header Command Injection
exploit/unix/webapp/wp_pixabay_images_upload 2015-01-19 excellent WordPress Pixabay Images PHP Code Upload
exploit/unix/webapp/wp_platform_exec 2015-01-21 excellent WordPress Platform Theme File Upload Vulnerability
exploit/unix/webapp/wp_property_upload_exec 2012-03-26 excellent WordPress WP-Property PHP File Upload Vulnerability
exploit/unix/webapp/wp_reflexgallery_file_upload 2012-12-30 excellent Wordpress Reflex Gallery Upload Vulnerability
exploit/unix/webapp/wp_revslider_upload_execute 2014-11-26 excellent WordPress RevSlider File Upload and Execute Vulnerability
exploit/unix/webapp/wp_slideshowgallery_upload 2014-08-28 excellent Wordpress SlideShow Gallery Authenticated File Upload
exploit/unix/webapp/wp_symposium_shell_upload 2014-12-11 excellent WordPress WP Symposium 14.11 Shell Upload
exploit/unix/webapp/wp_total_cache_exec 2013-04-17 excellent WordPress W3 Total Cache PHP Code Execution
exploit/unix/webapp/wp_worktheflow_upload 2015-03-14 excellent Wordpress Work The Flow Upload Vulnerability
exploit/unix/webapp/wp_wpshop_ecommerce_file_upload 2015-03-09 excellent WordPress WPshop eCommerce Arbitrary File Upload Vulnerability
exploit/unix/webapp/wp_wptouch_file_upload 2014-07-14 excellent WordPress WPTouch Authenticated File Upload
exploit/unix/webapp/wp_wysija_newsletters_upload 2014-07-01 excellent Wordpress MailPoet Newsletters (wysija-newsletters) Unauthenticated File Upload