Mam system, którym administruję zdalnie (w odległości 2 stref czasowych), na którym działa Ubuntu 9.04, Jaunty. Z różnych powodów, głównie dlatego, że jestem naprawdę ostrożny z próbą przeprowadzenia aktualizacji dystrybucji z tak daleka, nie mogę zaktualizować jej do nowszej wersji. Oczywiście nie jest już obsługiwany i nie ma żadnych oficjalnych łatek. Czy są dostępne instrukcje dotyczące sposobu łatania kodu i ponownej kompilacji bash, aby usunąć luki w zabezpieczeniach?
linux
ubuntu
patch
shellshock
Mikołaj
źródło
źródło
Odpowiedzi:
Ukradnij to od AskUbuntu , od kogoś, kto ukradł to z Hacker News. Pracowałem dla dwóch starych serwerów
Aktualizacja: Właśnie zauważyłem, że jeśli nie dodasz
--prefix=/
do komendy config, skończysz na/usr/local/bin/bash
tym, że jest aktualna i/bin/bash
nadal będzie podatna na ataki.źródło
./configure --prefix=/ && make
przebiega dobrze,make install
wydaje się, że wymagasudo
Istnieje również rozwiązanie polegające na aktualizacji twojego source.list do najnowszego, a następnie za pomocą apt-get, aby zaktualizować tylko bash. Jest to bardzo szybkie i napisałem o tym artykuł . Oto, co właściwie robisz:
Uaktualnij do najnowszych zaufanych repozytoriów apt-get Ubuntu (w razie potrzeby możesz także zmienić adresy URL old-repositories.ubuntu.com, sprawdź link):
Upgrade bash / Apply fix:
I ewentualnie zmień z powrotem repozytoria apt-get.
źródło
Polecenie powinno być
źródło
Jedną z prostych opcji jest po prostu nie używanie bash. Upewnij się, że
dash
jest zainstalowany i/bin/sh
jest to dowiązanie symbolicznedash
, a niebash
. (Jest to ustawienie domyślne w niektórych wersjach Debiana, ale nie jestem pewien co do Ubuntu.) Jeśli masz konta użytkowników dla dostępu ssh z wymuszonymi poleceniami, musisz również zmienić ich powłoki logowania. Być może będziesz musiał sprawdzić, czy nie ma żadnych skryptów, używając jawnie bash; grepping dla#!/bin/bash
powinni je znaleźć.źródło