Jak chronić Ruby on Rails przed hakerami: infografika na 7 sposobów
Ruby-on-Rails - jest modułowy, wyrazisty i szeroko wspierany przez legiony lojalnych programistów. Od Twittera po GroupOn, wiele z najbardziej odwiedzanych stron internetowych na świecie polegało na Rails, aby dostarczać skalowalne i wysoce dostępne usługi internetowe. Ale jak odkrył GitHub kilka lat temu, język/framework nie jest pozbawiony wad bezpieczeństwa - do tej pory 65, według bazy danych CVE. Oto 15 najważniejszych i jak je zaradzić i/lub zapobiec ich wykorzystaniu.
1. Arbitralne ujawnienie istnienia pliku w kołach łańcuchowych
CVE 2015-7819
Dostępna jako wtyczka Ruby Gem lub Rails, Sprockets to biblioteka do zarządzania zależnościami i łączenia do zarządzania plikami JavaScript w aplikacjach internetowych. W przypadku wykorzystania luki w zabezpieczeniach ta może ona umożliwić zdalnym osobom atakującym ustalenie, czy plik istnieje w systemie poza katalogiem głównym sieci Web. Ta podatność dotyczy wszystkich wersji Railsów.
Aby usunąć tę podatność, musisz ustawić config.serve_static_assets=false w inicjatorze lub zastosować łatkę dostarczoną przez Rails.
2. Możliwy atak typu "odmowa usługi" w aktywnym wsparciu
CVE 2015-3227
Active Support zapewnia rozszerzenia językowe i narzędzia do frameworka. Dwa komponenty — jdom.rb i rexml.rb — są podatne na ataki, gdy włączony jest JDOM lub REXML, co pozwala zdalnym atakującym na przeprowadzenie ataku typu "odmowa usługi" (DoS) za pomocą specjalnie spreparowanego pliku XML. Dotyczy to wersji Rails przed 4.1.11 i 4.2.x przed 4.2.2.
Remediacja polega na zaktualizowaniu lub załataniu Railsów w celu naprawienia dwóch podatnych na ataki komponentów.
3. Obejście białej listy adresów IP w konsoli internetowej
CVE 2015-3224
Środowiska Rails z włączoną konsolą internetową są podatne na spoofing za pomocą specjalnie spreparowanych żądań zdalnych. Luka ta dotyczy wersji 2.1.3, używanej w Rails 3.x i 4.x.
Aby usunąć tę lukę, musisz zaktualizować lub załatać Rails, aby naprawić mechanizm ochrony przed whitelisted_ips konsoli internetowej.
4. Luka CSRF w jquery-ujs i jquery-rails
CVE 2015-1840
jquery-ujs i jquery-rails umożliwiają korzystanie z jQuery w aplikacjach webowych Railsów. Wersje podatne na ataki umożliwiają atakującym ominięcie tokenów CSRF zabezpieczeń CSP do domen osoby atakującej. Dotyczy to wszystkich wersji Railsów, które używają jquery-ujs lub jquery-rails.
Zastosowanie odpowiednich poprawek dla jquery-ujs i jquery-rails skutecznie usunie tę lukę.
5. Luka XSS w ActiveSupport::JSON.encode
CVE 2015-3226
Ta luka jest kolejną luką w zabezpieczeniach Rails ActiveSupport, pozwalającą na przeprowadzanie ataków XSS przez json/encoding.rb. Dotyczy to m.in. Ruby on Rails 3.x i 4.1.x przed 4.1.11 oraz 4.2.x przed 4.2.2.
Zastosowanie odpowiednich poprawek skutecznie usunie tę lukę.
6. Potencjalna luka w zabezpieczeniach typu "odmowa usługi" w szafie
CVE 2015-3225
Rack to interfejs serwera WWW w języku Ruby, który umożliwia filtrowanie żądań i odpowiedzi na aplikację Rails. Specjalnie spreparowane żądania mogą wyzwolić błąd SystemStackError i następujący po nim atak DoS. Ta luka w zabezpieczeniach dotyczy wszystkich wersji.
Aby naprawić tę lukę, należy uaktualnić lub zastosować odpowiednie poprawki.
7. Ujawnienie arbitralnego istnienia pliku w pakiecie Action Pack
CVE 2014-7829
Pakiet Action Pack składa się z dwóch głównych komponentów: Action View i Action Controller. W tym przypadku luka w zabezpieczeniach umożliwiająca przechodzenie przez katalogi w paczce actionpack/lib/action_dispatch/middleware/static.rb umożliwia zdalnym atakującym ustalenie istnienia plików poza katalogiem głównym aplikacji. Wersje, których dotyczy problem, obejmują wersje 3.x przed 3.2.20, 4.0.x przed 4.0.11, 4.1.x przed 4.1.7 i 4.2.x przed 4.2.0.beta3.
Aby zapobiec wykorzystaniu tej luki, musisz zastosować odpowiednie łatki bezpieczeństwa lub zaktualizować swoją wersję Railsów.
Korygowania
Naprawienie powyższych luk w zabezpieczeniach ma kluczowe znaczenie dla wzmocnienia stanu bezpieczeństwa aplikacji internetowej Rails. UpGuard umożliwia zrobienie tego łatwo i automatycznie za pomocą kilku kliknięć myszką. Nasz potężny silnik zasad może weryfikować bezpieczne konfiguracje dla wszystkich środowisk, infrastruktur i stosów aplikacji. W takim przypadku można uruchomić prostą politykę zabezpieczeń, aby sprawdzić, czy nie ma którejkolwiek z powyższych luk w zabezpieczeniach, a także nowych luk w zabezpieczeniach, które nie zostały jeszcze dodane do zasad. Nasz pakiet do wykrywania i monitorowania luk w zabezpieczeniach wspierany przez OVAL zapewnia, że wszystkie aplikacje w Twoim środowisku są wolne od luk w zabezpieczeniach i luk w zabezpieczeniach.
Infografika
