Loading...

Konfiguracja klucza DES MGCamd: newcamd.list& Przewodnik konfiguracyjny

Jeśli tu jesteś, masz już zainstalowany MGCamd, masz w ręku dane uwierzytelniające do serwera i coś jest zepsute. Konfiguracja klucza DES mgcamd to miejsce, w którym większość ludzi napotyka ścianę — nie dlatego, że koncepcja jest trudna, ale dlatego, że jeden zły znak w jednym złym polu zabija cały handshake. Ten przewodnik przeprowadza przez dokładnie to, gdzie klucz się znajduje, co robi i jak czytać swoje logi, aby odróżnić błąd klucza od innego rodzaju awarii.

Czym jest klucz DES i dlaczego MGCamd go potrzebuje

MGCamd komunikuje się z serwerami kart za pomocą protokołu newcamd. Ten protokół używa szyfrowania Triple-DES, aby chronić połączenie podczas logowania — konkretnie, aby zaszyfrować początkowy handshake i dane sesji. Klucz DES to wspólny sekret, który sprawia, że to szyfrowanie działa. Obie strony muszą mieć ten sam klucz, w przeciwnym razie handshake produkuje śmieci i połączenie umiera.

To nie jest twoje hasło. To nie jest twoja nazwa użytkownika. To są oddzielne pola. Ludzie ciągle mylą te rzeczy, i to jest jeden z głównych powodów, dla których plik konfiguracyjny, który wygląda prawie poprawnie, wciąż nie działa.

Rola klucza DES w protokole newcamd

Kiedy MGCamd łączy się z serwerem newcamd, nie wysyła danych uwierzytelniających w postaci tekstu jawnego. Serwer i klient używają klucza DES do ustanowienia zaszyfrowanego kanału, zanim cokolwiek innego zostanie wymienione. Jeśli klucz nie pasuje po obu stronach, żadna ze stron nie może odszyfrować tego, co wysyła druga. Z perspektywy klienta, połączenie TCP otwiera się, a następnie zamyka — bez komunikatu o błędzie, bez próby uwierzytelnienia, tylko cisza.

Klucz jest konfigurowany po stronie serwera — niezależnie od tego, czy jest to w pliku OScamoscam.server czy w konfiguracji serwera CCcam. Cokolwiek ma serwer, twój klient musi mieć dokładnie to samo.

Gdzie klucz znajduje się w handshake CWS

Sekwencja wygląda następująco: połączenie TCP → serwer wysyła losowe wyzwanie zaszyfrowane kluczem DES → klient odszyfrowuje je i odpowiada danymi uwierzytelniającymi → serwer weryfikuje i albo akceptuje, albo odrzuca. Jeśli klucz DES jest zły, odszyfrowanie tego pierwszego wyzwania nie udaje się. Klient odsyła nonsens, a serwer zamyka połączenie. Nigdy nawet nie dochodzisz do weryfikacji nazwy użytkownika/hasła. Dlatego zły klucz DES wygląda identycznie jak "połączenie odrzucone" z zewnątrz — handshake TCP się udaje, ale handshake uwierzytelniający newcamd nie.

Dlaczego musi mieć dokładnie 28 znaków szesnastkowych (14 bajtów)

Triple-DES z kluczem 14-bajtowym to to, czego wymaga specyfikacja newcamd. 14 bajtów × 2 znaki szesnastkowe na bajt = 28 znaków. Nie 26, nie 30. Jeśli twój klucz ma 27 znaków, wkleiłeś go źle. Jeśli ma 29, gdzieś kryje się znak końcowy. MGCamd albo odrzuci klucz całkowicie, albo cicho go obetnie/uzupełni — oba wyniki łamią połączenie.

Dopuszczalne znaki to 0–9 i A–F (lub a–f). To wszystko. Jeśli widzisz małą literę poza tym zakresem, lub coś, co wygląda jak 1, ale jest w rzeczywistości l, masz literówkę.

Edycja newcamd.list: Dokładny format linii

Kanoniczna linia CWS wygląda tak:

CWS = hostname port username password 0102030405060708091011121314

Każde pole jest oddzielone pojedynczą spacją. Żadne tabulatory, żadne podwójne spacje, żadnych cudzysłowów wokół czegokolwiek. Klucz DES toostatnie pole. Większość przewodników, które widziałem, wkleja przykładową linię, ale nigdy nie oznacza pól, więc ludzie wkładają klucz w miejsce hasła i zastanawiają się, dlaczego nic nie działa.

Anatomia linii CWS =

Rozkładając to od lewej do prawej:

  • CWS — słowo kluczowe dyrektywy, zawsze wielkimi literami
  • = — dosłowny znak równości z przestrzeniami wokół
  • hostname — adres IP serwera lub FQDN
  • port — port TCP, zazwyczaj 15000, 15001 lub 17000
  • username — twoja nazwa konta na serwerze
  • password — twoje hasło do konta (tekst jawny tutaj)
  • klucz DES — 28 znaków szesnastkowych, bez spacji w samym kluczu

Sześć pól po znaku równości. Klucz to pole szóste. Nie pole czwarte, nie pole piąte.

Kolejność pól: host, port, użytkownik, hasło, klucz DES

Jeśli twoje dane uwierzytelniające pochodziły z panelu internetowego, czasami są prezentowane w tabeli z kolumnami w innej kolejności niż oczekuje linia CWS. Wklejanie kolumna po kolumnie z źle ułożonego panelu to miejsce, gdzie występują transpozycje. Przeczytaj kolumny, wpisz linię ręcznie w poprawnej kolejności. To zajmuje trzydzieści sekund i oszczędza godzinę debugowania.

Przykładowa linia z miejscami na dane

CWS = cardserver.example.net 15000 myuser mypassword 0A1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D

To fikcyjny serwer, ale format jest dokładny. Klucz ma tam 32 znaki, co jest celowo błędne, aby podkreślić punkt — policz swój. Prawdziwy klucz, który otrzymasz, będzie dokładnie 28.

Lokalizacja pliku w popularnych oprogramowaniach

To myli ludzi bardziej niż format. Popularne ścieżki:

  • /var/keys/newcamd.list — większość obrazów Enigma2 (OpenATV, OpenPLi, DreamElite)
  • /usr/keys/newcamd.list — niektóre starsze obrazy i wersje nie-Enigma
  • /etc/tuxbox/config/newcamd.list — sprzęt oparty na Tuxboxie Enigma1
  • /etc/mgcamd/newcamd.list — niektóre niestandardowe pakiety MGCamd, które łączą własny katalog konfiguracyjny

Jeśli edytujesz plik i zmiany wydają się nie stosować, edytujesz niewłaściwą ścieżkę. Uruchomfind / -name "newcamd.list" 2>/dev/null przez telnet, aby znaleźć każdą kopię w systemie plików. Następnie sprawdź, którą z nich MGCamd faktycznie odczytuje — zazwyczaj widoczne w logu uruchamiania lub ustawione w skrypcie init za pomocą argumentu ścieżki.

Sąsiednie linie, które możesz zobaczyć w pliku:CWS_KEEPALIVE = 0 kontroluje pingi keep-alive, aCWS_INCOMING_IP blokuje klienta do konkretnego lokalnego interfejsu. Żaden z tych elementów nie zawiera klucza DES i żaden nie musi być edytowany dla podstawowego połączenia.

Ustawianie klucza DES w mg_cfg

Tutaj jest wiele zamieszania: ludzie przeszukująmg_cfg szukając miejsca na wklejenie klucza DES. Nie ma go tam. Klucz znajduje się wnewcamd.list. Kropka.

mg_cfg kontroluje zachowanie MGCamd w czasie działania — pamięć podręczna, przetwarzanie EMM, wyjście debugowania i podobne. Nie zawiera danych uwierzytelniających do połączenia.

Blok globalnej konfiguracji C { }

Główny blok konfiguracyjny wmg_cfg wygląda tak:

C { 3 0 1 0 { 0 } }

Te liczby kontrolują TTL pamięci podręcznej, AU (automatyczna aktualizacja/EMM) i ustawienia debugowania. Żaden z nich nie jest kluczem DES. Nie umieszczaj klucza tutaj. Jeśli edytowałeś ten plik szukając pola klucza, byłeś w całkowicie niewłaściwym pliku.

Relacja między mg_cfg a newcamd.list

Pomyśl o tym w ten sposób:newcamd.list to twój książka adresowa — kogo połączyć i jak się uwierzytelnić.mg_cfg to wewnętrzne preferencje MGCamd — jak się zachowywać po połączeniu. Służą zupełnie innym celom i są odczytywane osobno podczas uruchamiania.

Wspólne flagi mg_cfg, które wpływają na obsługę kluczy

Maska bitowa poziomu debugowania to jedno ustawienie wmg_cfg które pośrednio pomaga w rozwiązywaniu problemów z konfiguracją klucza DES mgcamd. Linie M: w logu (połączenie, uwierzytelnienie, ECM) są kontrolowane przez wartość debugowania w bloku C { }. Ustawienie jej na wartość taką jak7 lub255 daje szczegółowy wynik. Zobaczysz próbę połączenia CWS, wynik uwierzytelnienia i dokładnie, gdzie występuje błąd. Bez tego zgadujesz na ślepo.

Niektóre wersje zawierają domyślny klucz zapasowy — jeśli nie określono klucza, MGCamd próbuje0102030405060708091011121314. Nie polegaj na tym. Większość prawdziwych serwerów używa niestandardowego klucza, a ciche przejście do domyślnego oznacza nieudane połączenie bez oczywistego wyjaśnienia. Zawsze umieszczaj rzeczywisty klucz w pliku wyraźnie.

Weryfikacja połączenia i odczyt logów

Gdy edytujesznewcamd.list, uruchom ponownie MGCamd i obserwuj logi. Jeśli nie możesz odczytać logów, działasz na ślepo, a naprawa problemów z konfiguracją staje się grą w zgadywanie.

Włączanie szczegółowego logowania MGCamd

Wmg_cfg ustaw wysoki poziom debugowania. Wartość255 w pozycji debugowania bloku C daje maksymalny wynik. To jest hałaśliwe, ale do diagnozowania problemu z połączeniem to dokładnie to, czego chcesz. Zmniejsz to, gdy połączenie będzie stabilne.

Lokalizacja pliku logu różni się w zależności od konfiguracji — powszechne ścieżki to/tmp/mgcamd.log,/var/log/mgcamd.log, lub wyjście do stdout przechwycone przez system init. Sprawdź swój skrypt init, aby zobaczyć, gdzie przekierowywane jest wyjście.

Jak wygląda udane logowanie CWS

Działające połączenie generuje linie logu mniej więcej takie jak:

CWS połączono z cardserver.example.net:15000

Dokładne sformułowanie różni się w zależności od wersji MGCamd, ale wzór jest ten sam: połączenie → logowanie OK → wykryta karta → odpowiedź ECM z czasem dekodowania. Jeśli widzisz wszystkie trzy etapy, twoja konfiguracja klucza DES mgcamd jest poprawna, a połączenie działa.

Inspekcja logów przez telnet i styl oscam

Przez telnet (zwykle port 23 na urządzeniu) możesz na bieżąco śledzić log:

tail -f /tmp/mgcamd.log

Jeśli uruchamiasz OScam obok MGCamd, log OScam znajduje się w/var/log/oscam/oscam.log pokaże przychodzące połączenie z strony klienta. Nieudany klucz DES pojawia się również jako odrzucone połączenie w logu OScam, co daje drugi punkt danych. Krzyżowe odniesienie obu logów szybko eliminuje niejednoznaczność.

Potwierdzanie odpowiedzi ECM i czasu dekodowania

Czasy dekodowania poniżej 500 ms są zazwyczaj w porządku dla większości odbiorników. Czasy powyżej 1000 ms powodują zacinanie obrazu. Jeśli linie ECM pojawiają się w logu, ale czas dekodowania jest wymieniony jako 0 lub "brak CW", karta jest podłączona, ale nie odpowiada na CAID tego kanału — to problem z prawami karty, a nie problem z kluczem. Rozróżnienie to ma znaczenie w diagnostyce.

Rozwiązywanie problemów z błędnymi lub źle sformatowanymi kluczami DES

Konfiguracja klucza DES w mgcamd nie udaje się na kilka przewidywalnych sposobów. Każdy objaw wskazuje na inną przyczynę, a czytanie logu mówi, z czym masz do czynienia.

Objaw: łączy się, a następnie natychmiast rozłącza

TCP łączy się, widzisz linię CWS trafiającą na serwer, a następnie rozłącza się w ciągu sekundy i MGCamd zaczyna pętlę ponownego łączenia. To jest sygnatura niezgodności klucza DES. Serwer próbował odszyfrować odpowiedź klienta na swoje wyzwanie, otrzymał śmieci i zamknął połączenie. Sprawdź klucz znak po znaku w porównaniu do tego, czego oczekuje serwer. Następnie sprawdź hasło — błędne hasło powoduje to samo rozłączenie, ale nieco później w sekwencji handshake.

Aby odróżnić awarię portu/zapory od awarii autoryzacji: jeśli TCP nawet nie kończy połączenia, nie zobaczysz w ogóle linii "CWS connected" — tylko timeout lub "połączenie odrzucone". Jeśli widzisz "connected" po którym następuje natychmiastowe zamknięcie, sieć jest w porządku, a autoryzacja jest uszkodzona. To prawie zawsze jest klucz DES lub hasło.

Objaw: karta się otwiera, ale brak obrazu / zniekształcony

Jeśli połączenie się udaje (logowanie OK, karta wykryta), ale kanały są zniekształcone, klucz jest w porządku. Teraz masz do czynienia z innym problemem: karta nie ma praw do tego pakietu, ECM nie jest odpowiadane, lub EMM nie zaktualizował uprawnień karty. Sprawdź linie ECM w logu pod kątem "brak CW" lub długich timeoutów. To nie jest problem z kluczem DES.

Błędy związane z białymi znakami, długością i ukrytymi znakami

To jest coś, co ciągle sprawia ludziom problemy. Kiedy kopiujesz klucz z panelu internetowego lub e-maila, niewidoczne znaki przychodzą razem z nim. Zakończenie linii, niełamliwa spacja (0xA0), powrót karetki — żaden z tych znaków nie jest widoczny w większości edytorów tekstu, ale psuje klucz.

Rozwiązanie: użyjdos2unix na pliku po edytowaniu go w systemie Windows, lub edytuj bezpośrednio na urządzeniu za pomocą telnetu używającvi lubnano. Jeśli kopiowanie i wklejanie nieustannie się nie udaje, przepisz klucz ręcznie. To 28 znaków — zajmuje to dziewięćdziesiąt sekund. Uruchom również:

cat -A /var/keys/newcamd.list

Każda linia kończąca się na^M$ zamiast tylko$ ma styl CR/LF z systemu Windows. Ten końcowy^M jest dodawany do twojego klucza DES i psuje go. Komendados2unix usuwa te znaki.

Pułapki kopiowania i wklejania z paneli internetowych

Niektóre panele internetowe wyświetlają klucz DES w czcionce, w której 0 i O wyglądają identycznie, lub 1 i l są prawie nieodróżnialne. Spędziłem dłużej, niż chciałbym przyznać, wpatrując się w klucz, który wyglądał poprawnie, ale miał małe "o", gdzie powinno być zero. Jeśli klucz pochodzi z interfejsu internetowego, sprawdź źródło strony, aby zobaczyć surową wartość. Kopiuj stamtąd, a nie z wyświetlanej wersji.

Sprawdź również: jeśli masz wiele linii CWS wnewcamd.list i edytowałeś niewłaściwą, aktywna pozycja nadal używa starego klucza. MGCamd odczytuje wszystkie linie CWS i próbuje je w kolejności. Możesz edytować linię 2, podczas gdy linia 1 jest tą, która faktycznie łączy się. Sprawdź, który adres IP serwera i port pojawiają się w linii logu "CWS connected" i upewnij się, że zgadza się to z linią, którą edytowałeś.

Jeszcze jeden przypadek brzegowy: niektóre wersje są wrażliwe na wielkość liter w znakach szesnastkowych. Jeśli serwer wysyła klucz jako wielkie litery, a twój plik ma małe litery (lub odwrotnie), większość nowoczesnych wersji sobie z tym radzi — ale jeśli używasz starszego binarnego pliku MGCamd, spróbuj dopasować wielkość liter dokładnie do tego, co podał serwer. Wielkie litery są bezpieczniejsze.

Problemy z zegarem są rzadkie, ale realne. W niektórych konfiguracjach nieprawidłowy zegar systemowy w STB powoduje awarie handshake TLS lub wrażliwe na czas. Jeśli zweryfikowałeś, że klucz jest poprawny i nadal występują sporadyczne awarie, sprawdźdate na urządzeniu i zsynchronizuj z NTP, jeśli czas jest bardzo nieprawidłowy.

Wybór niezawodnego źródła serwera newcamd (ogólnie)

Techniczna strona konfiguracji klucza DES w mgcamd działa tylko wtedy, gdy serwer po drugiej stronie jest rzeczywiście niezawodny. Idealna konfiguracja łącząca się z uszkodzonym serwerem nadal daje ci uszkodzone doświadczenie.

Kryteria, które mają znaczenie: dostępność, czas ECM, wsparcie

Czas odpowiedzi ECM to liczba, która ma największe znaczenie na co dzień. Poniżej 300 ms jest dobrze. Poniżej 100 ms jest doskonale. Wszystko powyżej 800 ms spowoduje zastoje w zmianach kanałów. Poproś o okres próbny i zmierz rzeczywiste czasy ECM w swoich logach przed podjęciem decyzji.

Spójność dostępności ma większe znaczenie niż szczytowa dostępność. Serwer, który działa 99% czasu, ale wyłącza się nieprzewidywalnie podczas transmisji na żywo, jest gorszy niż ten z zaplanowanymi oknami konserwacyjnymi. Dowiedz się, jak radzą sobie z przestojami i czy mają redundancję.

Reaktywność wsparcia jest trudna do oceny, zanim jej potrzebujesz. Zobacz, jak szybko odpowiadają na pytania przed sprzedażą. Jeśli zajmuje im trzy dni, aby odpowiedzieć na proste zapytanie, załóż, że tak szybko naprawią uszkodzone połączenie o 21:00 w sobotę.

Czerwone flagi, których należy unikać

Unikaj wszelkich usług, które nie mogą powiedzieć ci o fizycznej lokalizacji swojego serwera lub centrum danych. Unikaj dostawców, którzy nie dadzą ci nawet krótkiego okresu próbnego przed płatnością. Bądź ostrożny wobec każdego, kto reklamuje nierealistyczne czasy ECM, które nie wytrzymują rzeczywistych testów. A jeśli serwer jest wyłączony, gdy próbujesz go przetestować po raz pierwszy, to zapowiedź tego, co kupujesz.

Dlaczego nigdy nie powinieneś publicznie dzielić się swoim kluczem DES

Twoja linia CWS — pełna linia, w tym klucz DES — jest kompletnym poświadczeniem uwierzytelniającym. Każdy, kto ma tę linię, może połączyć się z twoją alokacją serwera jako ty. Publikowanie jej na forum w celu uzyskania pomocy jest równoważne z opublikowaniem swojego hasła w postaci tekstu jawnego. Jeśli musisz podzielić się poświadczeniami w celu debugowania, wygeneruj konto testowe lub zamaskuj klucz. A jeśli już opublikowałeś go publicznie, załóż, że jest skompromitowany i natychmiast poproś operatora serwera o nowy klucz.

To samo dotyczy wklejania swojej konfiguracji do jakiegokolwiek narzędzia online lub strony diagnostycznej. Klucz nie musi tam być, aby ktoś mógł pomóc ci rozwiązać problemy z formatem — zastąp go symbolem zastępczym przed udostępnieniem.

Jak długi powinien być klucz DES MGCamd?

Dokładnie 28 znaków szesnastkowych, reprezentujących 14 bajtów. Jeśli twój jest krótszy, klucz został obcięty podczas kopiowania-wklejania. Jeśli jest dłuższy, dodany został znak końcowy — możliwie niewidoczny. W każdym przypadku handshake zakończy się niepowodzeniem. Policz znaki, zanim zrobisz cokolwiek innego.

Gdzie umieścić klucz DES — mg_cfg czy newcamd.list?

Umieszcza się go wnewcamd.list, jako ostatnie pole w linii CWS =. Plikmg_cfgkontroluje, jak działa MGCamd — poziom debugowania, buforowanie, obsługa EMM — ale nigdy nie zawiera samej wartości klucza. Jeśli edytowałeśmg_cfgw poszukiwaniu pola klucza, jesteś w złym pliku.

Dlaczego MGCamd łączy się, ale natychmiast rozłącza?

Połączenie TCP jest udane, ale handshake uwierzytelniający newcamd kończy się niepowodzeniem. Najczęstszą przyczyną jest błędny klucz DES lub błędne hasło — serwer nie może odszyfrować odpowiedzi klienta i zamyka połączenie. Włącz szczegółowe logowanie i szukaj "logowanie nieudane" lub nagłego zamknięcia zaraz po "CWS połączono". Ta sekwencja potwierdza, że to problem z uwierzytelnieniem, a nie z siecią lub zaporą.

Czy mogę użyć domyślnego klucza DES 0102030405060708091011121314?

Tylko jeśli serwer jest skonfigurowany z tym domyślnym kluczem, którego większość serwerów produkcyjnych nie ma. Czasami jest używany do szybkiego testowania lokalnego. Jeśli serwer ma niestandardowy klucz — a prawie wszystkie je mają — użycie domyślnego zakończy się niepowodzeniem dokładnie tak samo jak każdy inny błędny klucz. Zawsze używaj klucza, który dostarcza serwer, a nie domyślnego.

Mój klucz wygląda poprawnie, ale kanały są zniekształcone — dlaczego?

Jeśli widzisz "logowanie OK" i "karta wykryta" w logach, klucz i połączenie są w porządku. Zniekształcone kanały zazwyczaj oznaczają, że karta nie ma praw do tego pakietu, ECM nie jest odpowiadane dla tego CAID lub EMM nie zaktualizował uprawnień. Sprawdź linie logów ECM pod kątem "brak CW" lub nienormalnie długich czasów dekodowania. Ukryty znak białej spacji w kluczu spowodowałby awarię połączenia, a nie zniekształcenie po połączeniu.

Czy klucz DES jest tym samym co moje hasło?

Nie. To są całkowicie oddzielne pola w linii CWS. Hasło uwierzytelnia twoje konto. Klucz DES szyfruje sesję. Potrzebujesz obu, w odpowiednich miejscach:CWS = host port username password deskey. Umieszczenie hasła w polu klucza lub klucza w polu hasła to powszechny błąd i kończy się niepowodzeniem z różnych powodów — błąd hasła występuje później w handshake niż błąd klucza.