Magento zaleca, aby nie używać szablonów za pośrednictwem dowiązań symbolicznych:
Advanced > Developer > Template Settings > Allow Symlinks
Ostrzeżenie! Włączenie tej funkcji nie jest zalecane w środowiskach produkcyjnych, ponieważ stanowi potencjalne zagrożenie bezpieczeństwa.
Do dziś nie widzę tutaj żadnych zagrożeń.
- Jakie jest ryzyko?
Odpowiedzi:
Dowiązania symboliczne niekoniecznie są złe.
Po pierwsze: jeśli próbujesz otworzyć cel dowiązania symbolicznego, obowiązują uprawnienia do pliku docelowego. Jeśli nie możesz czytać / zapisywać / wykonywać celu dowiązania symbolicznego, nic się nie dzieje.
Ale: Możesz być w stanie uruchamiać pliki poza katalogiem głównym dokumentu (czasami tak naprawdę chcesz z nimi zrobić, prawda?). Problem może wystąpić, jeśli nie jesteś w środowisku suEXEC i masz hosta współdzielonego
apache
lubwww-data
użytkownika, który jest odpowiedzialny za udostępnianie plików z różnych kont. Użytkownik systemu nie może uzyskiwać dostępu do plików innego klienta, aleapache/www-data
użytkownik będzie miał głównie prawa odczytu na wszystkich współużytkowanych kontach. Może to być scenariusz, w którym jeden użytkownik może uzyskać dostęp do plików innego użytkownika na współdzielonym hoście. Nie z własnym użytkownikiem, ale poprzez dostęp do pliku za pomocą przeglądarki zapache/www-data
użytkownikiem. Podsumowując: W tym scenariuszu będziesz mieć dostęp do plików innych użytkowników => źle.Kolejną złą rzeczą jest to, że osoba atakująca może utworzyć dowiązania symboliczne, również do plików takich jak / etc / passwd, ..., pobrać te dane i przejść do tych informacji. Dotyczy to nie tylko dowiązania symbolicznego, ale także złej konfiguracji serwera (gdzie dostęp do tych plików jest ściśle ograniczony). Zatem niestosowanie dowiązań symbolicznych zapobiega niektórym możliwym atakom.
Nie chodzi tylko o to, że dowiązanie symboliczne stanowi zagrożenie bezpieczeństwa, ale o problem z konfiguracją serwera.
źródło
app/design
folderem, w połączeniu z innymi drobnymi exploitami, może być użyty przez administratora do eskalacji uprawnień i innych exploitów na serwerze.SymLinksIfOwnerMatch
opcję zamiastFollowSymlinks
.tak, są, dlatego serwery zwykle mają również konfigurację „nie podążaj za dowiązaniami symbolicznymi” lub przynajmniej „podążaj tylko za dowiązaniami symbolicznymi do celu z tym samym użytkownikiem”. To dlatego, że serwer / php zwykle działa z większą liczbą praw, niż powinieneś mieć dostęp.
A ponieważ serwery zwykle starają się unikać rzeczy takich jak widoczny / etc / shadow, jest to jeszcze bardziej niebezpieczne dla szablonów magento, ponieważ szablony są analizowane przez include (), więc możesz mieć bardzo silne wycieki bezpieczeństwa, jeśli nie masz pełnej kontroli nad swoimi plikami.
Możesz argumentować, że są wtedy inne problemy, ale kto tak naprawdę zna każdy potencjalny scenariusz ataku, i najczęściej jest to kombinacja różnych mniej problematycznych luk bezpieczeństwa, które prowadzą do dużych przerw.
Jakiś czas temu wprowadzono poprawkę bezpieczeństwa dotyczącą katalogu multimediów i dowiązań symbolicznych, dlatego należy poszukać tam możliwych scenariuszy ataku.
źródło
Mogę sobie tylko wyobrazić, że stanowi to ryzyko dla współdzielonych hostów, których nie należy przede wszystkim wykorzystywać w eCommerce.
źródło
Poprawka Magento SUPEE-9767 zawiera APPSEC-1281: Zdalne wykonanie kodu za pomocą dowiązań symbolicznych , więc tak, dowiązania symboliczne w szablonach stanowią problem bezpieczeństwa.
źródło
Nie zaleca się zezwalać. Wystąpił błąd ładowania pliku js, gdy dowiązania symboliczne były włączone.
Wiele;
Muszę spróbować odświeżyć 4-5 dla pomyślnie załadowanych stron.
Po jego zamknięciu może nie zostać wdrożony ładowanie zasobów po raz pierwszy powoli, ale błędy js zniknęły.
PS: Po wyłączeniu dowiązania symbolicznego musisz usunąć wdrożoną kopię plików po każdej zmianie static.php, skopiuj ją ponownie.
źródło