e3372

Jak przy pomocy USBguard zabezpieczyć porty USB przed złośliwymi urządzeniami

Ostatnio na Niebezpieczniku pojawił się artykuł na temat niezbyt przyjaznych urządzeń podłączanych do komputera za sprawą portów USB (opisanych na przykładzie niepozornego przewodu) i tego jaką szkodę tego typu hardware może nam wyrządzić w systemie. Ataki z wykorzystaniem podstawionych urządzeń zadziałają nawet na linux, choć pewnie cała masa użytkowników wyznaje jeszcze mit, że ich komputer jest bezpieczny, bo przecie używają alternatywnego systemu operacyjnego, który jest OpenSource i za priorytet obrał sobie szeroko rozumiane bezpieczeństwo. Niestety nie jest tak różowo jakby mogło się co niektórym wydawać ale można ten stan rzeczy naturalnie zmienić i nie trzeba przy tym rekompilować kernela z zamiarem wyłączenia obsługi modułu USB, co ten opisany w podlinkowanym artykule atak oczywiście by również powstrzymało. Zamiast tego możemy zainstalować sobie narzędzie usbguard i przy jego pomocy skonfigurować politykę podłączanych do portów USB urządzeń.

Jak wymusić pasmo/częstotliwość LTE pod LEDE/OpenWRT

Zainspirowany wątkiem na forum JDtech na temat testów transferów w konkretnych pasmach/częstotliwościach LTE, postanowiłem sprawdzić jak ta sprawa wygląda w mojej okolicy. Generalnie ja obecnie u siebie mam modem Huawei E3372s-153 w wersji NON-HiLink podpięty do routera TP-LINK Archer C2600. Oczywiście na tym routerze jest wgrany alternatywny firmware LEDE/OpenWRT, bo inaczej nie miałbym możliwości skorzystać z tego modemu. Standardowa konfiguracja LTE w LEDE/OpenWRT daje nam jedynie możliwość wyboru między ustawieniami auto , gsm , umts , lte , preferumts oraz preferlte . W przypadku internetu LTE, zwykle wybieramy tutaj tryb auto , ewentualnie też lte , by wymusić konkretny tryb pracy modemu, co może mieć kolosalne znaczenie przy darmowym internecie od RBM/Play. Niemniej jednak, nawet w przypadku wyboru lte , częstotliwość na jakiej będzie pracował modem w dalszym ciągu jest dobierana automatycznie w oparciu o parametry sygnału docierającego z dostępnych w okolicy BTS'ów. W przypadku modemu E3372 można jednak wymusić, by połączenie LTE było realizowane na konkretnej częstotliwości, np. 2100/1800/2600/900/800 MHz i by taki stan rzeczy osiągnąć, trzeba nieco przerobić konfigurację tego alternatywnego oprogramowania znajdującego się w naszym routerze WiFi.

Stałe nazwy urządzeń w OpenWRT (hotplug, udev)

Bezprzewodowy router WiFi to w miarę proste urządzenie, które w zasadzie realizuje kilka podstawowych aspektów pracy sieci domowej. Wielu użytkownikom jednak jest nieustannie potrzebna jakaś nowa funkcjonalność, której oryginalny firmware producenta nie oferuje. Dlatego też mamy do dyspozycji OpenWRT będący minimalistyczną formą bardziej rozbudowanej dystrybucji linux'a. Może i OpenWRT daje nam możliwość zaawansowanej konfiguracji naszej sieci ale tego typu opcja powoduje też szereg problemów. Chodzi o to, że kernel dynamicznie tworzy nazwy dla wszystkich podłączanych urządzeń do routera. W dużych dystrybucjach linux'a do ogarnięcia tych nazw wykorzystywany jest UDEV. W przypadku OpenWRT też możemy skorzystać tego mechanizmu. Jeśli jednak mamy niewiele miejsca na pamięci flash routera, to możemy też skorzystać ze zdarzeń hotplug. W tym wpisie postaramy się przepisać nazwy pendrive/dysków twardych oraz modemów USB (LTE), tak by ich kolejność podłączania do routera nie stwarzała problemów w konfiguracji.

SMStools i smsd, czyli automat do wysyłania SMS

Pod linux'em jest całe mnóstwo oprogramowania, które może realizować zadanie odbierania i wysyłania wiadomości SMS. Są również narzędzia, dzięki którym cały proces związany z przetwarzaniem SMS'ów można zautomatyzować. Jakiś czas temu opisywałem tego typu funkcjonalność na przykładzie gammu-smsd. Nadal uważam, że jest to przyzwoite narzędzie ale jakby nie patrzeć wymaga ono wielu zależności. Właśnie przez nie gammu-smsd nie nadaje się do zastosowań, gdzie ma się do dyspozycji niewiele miejsca. Niemniej jednak, w przypadku OpenWRT mamy tam możliwość zainstalowania pakietu smstool3 , w którym jest dostępny demon smsd . Tak się też składa, że debian również ma swoich repozytoriach to narzędzie posiada, z tym, że w pakiecie smstools. W tym wpisie skonfigurujemy sobie działającą bramkę SMS, która będzie automatycznie odbierać wiadomości SMS i podejmować stosowne działanie w zależności od numeru czy treści otrzymanego komunikatu.

Jak przypisać losowy adres MAC do interfejsu

Interfejsy kart sieciowych, które są instalowane w komputerach, posiadają adres MAC (Media Access Control). Jest to unikalny identyfikator, który wyróżnia nasz komputer spośród tłumu. Na podstawie tego adresu można nie tylko określić markę sprzętu, którą się posługujemy ale także można sklasyfikować cały nasz ruch sieciowy. W ten sposób bardzo prosto możemy zostać zidentyfikowani wymieniając dane przez darmowe hotspoty sieci bezprzewodowych WiFi. Niemniej jednak, jesteśmy się w stanie obronić przed tego typu inwigilacją zmieniając adres MAC naszego komputera. Nie jest to zbytnio trudne ale trzeba uważać, by znowu nie przesadzić w drugą stronę i czasem nie zostać zidentyfikowanym przez naszą "odmienność". W tym wpisie postaramy się wypracować taki mechanizm, który zmieni nam adres MAC przy każdym podłączeniu do sieci i przy zachowaniu zdroworozsądkowych zasad.

Obsługa SMS i kodów USSD w OpenWRT

W artykule poświęconym 3ginfo omawialiśmy monitorowanie połączenia 3G/LTE pod OpenWRT. Zabrakło tam jednak pewnej funkcjonalności, która ucieszyłaby chyba każdego użytkownika tego firmware. Chodzi oczywiście o wysyłanie i odbieranie SMS oraz przesyłanie kodów USSD. Okazuje się, że 3ginfo potrafi nam tę funkcjonalność zapewnić, tylko wymagane jest doinstalowanie kilku pakietów i odpowiednie skonfigurowanie systemu. W tym wpisie spróbujemy sobie ten mechanizm wysyłania SMS i kodów USSD skonfigurować.

Monitor połączenia 3G/LTE W OpenWRT (3ginfo)

W pewnych sytuacjach lub też ze zwykłej ciekawości możemy chcieć sprawdzić jak sprawuje się połączenie LTE, którego obsługę zaimplementowaliśmy na naszym routerze mającym na pokładzie firmware OpenWRT. Nie będę tutaj opisywał samej konfiguracji takiego połączenia, bo to zostało zrobione we wpisie poświęconym konfiguracji modemu Huawei E3372 pod OpenWRT, jak i przy okazji konfiguracji połączenia Aero2. W tym wpisie zaś skupimy się na monitorowaniu za pomocą 3ginfo już działającego połączenia, które jest realizowane za pomocą modemu LTE podłączonego do portu USB routera.

Konfiguracja połączenia Aero2 na OpenWRT

Darmowy internet oferowany przez Aero2 nie grzeszy zbytnio osiągami, bo mamy do dyspozycji jedynie 512 kbit/s. Niemniej jednak, taka prędkość w zupełności wystarcza do przeglądania stron internetowych. Gorzej z oglądaniem materiałów video w serwisach takich jak YouTube. To jednak nie ma raczej większego znaczenia, bo przecie usługa jest za free, a poza tym, możemy dokupić szereg pakietów aktywujących pełną prędkość w technologi LTE. Problem w tym, że od Aero2 możemy otrzymać tylko jedną kartę SIM na użytkownika. Może i mamy możliwość dostania kilku kart na jeden adres zamieszkania ale i tak trzeba by dla każdego SIM załatwić osobny modem LTE. Zwykle takie rozwiązanie nie wchodzi w grę, zwłaszcza, gdy z internetu korzystamy raczej sporadycznie. Mając jednak router z alternatywnym firmware OpenWRT, możemy do jednego z jego portów USB doczepić taki modem i udostępnić połączenie internetowe wszystkim urządzeniom w naszej sieci domowej. W tym artykule postaramy się to zadanie zrealizować.

Obsługa kodów USSD w modemach LTE

Każdy, kto ma lub miał prepaid'a, prędzej czy później musiał nauczyć się obsługi kodów USSD. To za ich pomocą jesteśmy w stanie sprawdzić stan konta czy też aktywować poszczególne usługi. Co się jednak stanie, gdy taki prepaid zostanie umieszczony w modemie LTE? Teoretycznie modem powinien nam zapewnić połączenie LTE ale to jest nieco inna technologia niż GSM czy UMTS, a to za ich pomocą mogą być przesyłane zarówno kody USSD i SMS. Niby modemy LTE potrafią operować również na UMTS i GSM ale pod linux'em przesyłanie kodów USSD może być nieco problematyczne. Jedynym oprogramowaniem będącym w stanie operować na tych kodach był modem-manager-gui . Problem w tym, że zajmuje on praktycznie cały modem dla siebie, co w pewnych sytuacjach może nie być pożądane. Zatem jakie alternatywy nam pozostają? W jaki sposób operować na tych kodach USSD pod linux'em?

Wvdial i PPP, czyli modem LTE w trybie RAS

Jak wielu użytkowników linux'a zapewne wie, modem GSM/UMTS/LTE może pracować w kilku trybach. Najpopularniejszym z nich jest tryb RAS wykorzystujący interfejsy udostępniane przez to urządzenie w katalogu /dev/ , zwykle ttyUSB0 , ttyUSB1 , etc. By taki modem mógł nawiązać połączenie z siecią, potrzebny jest demon PPP. O trybie RAS wspominałem już parokrotnie, min. we wpisach dotyczących konfiguracji połączenia LTE w RBM/Play jak i przy omawianiu problemów z resolver'em DNS w przypadku Aero2. Generalnie ten tryb różni się trochę od trybu NDIS(NCM) głównie tym, że tutaj nie uzyskamy większych prędkości niż 20-30 mbit/s. Niemniej jednak, jeśli nie mamy dobrej jakości połączenia LTE, lub nasz modem z jakiegoś powodu pod linux'em nie potrafi pracować w trybie NDIS, to możemy skonfigurować połączenie w trybie RAS wykorzystując do tego celu wvdial oraz demona PPP.