From: xf0r3m Date: Tue, 23 Jul 2024 15:19:08 +0000 (+0200) Subject: Uzupełnienie repozytorium o zaginione materiały. X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=61c96afe992cec90e8faa7522bb0ac2a23efc305;p=mmdev.git Uzupełnienie repozytorium o zaginione materiały. --- diff --git a/articles/linux/automatyczne_odblokownie_istniejacych_partycji_LUKS.html b/articles/linux/automatyczne_odblokownie_istniejacych_partycji_LUKS.html index 044c235..cf483ea 100755 --- a/articles/linux/automatyczne_odblokownie_istniejacych_partycji_LUKS.html +++ b/articles/linux/automatyczne_odblokownie_istniejacych_partycji_LUKS.html @@ -55,7 +55,7 @@ odblokowywania LUKS. Po zatwierdzeniu hasła, klucz został dodany. Warto zmienić mu uprawnienia, aby tylko właściciel mógł odczytać jego zawartość - (chmod 600 /root/plik_klucza0). + (chmod 600 /root/plik_klucza0).

Teraz w pliku /etc/crypttab należy zdefiniować automatyczne diff --git a/articles/linux/index.html b/articles/linux/index.html index e445175..f40beb3 100755 --- a/articles/linux/index.html +++ b/articles/linux/index.html @@ -47,6 +47,7 @@

  • Uruchomienie skryptu podczas ładowania systemu - jednostka systemd.html
  • Instalacja własnościowego sterownika graficznego Nvidii na Debian 11
  • Automatyczne odblokowanie istniejących partycji LUKS
  • +
  • Przekierowanie konsoli tty0 na RS-232 (port COM)
  • Zdalne odblokowanie cryptroot przez SSH
  • diff --git a/articles/linux/przekierowanie_konsoli_tty0_na_rs-232_port_COM.html b/articles/linux/przekierowanie_konsoli_tty0_na_rs-232_port_COM.html new file mode 100644 index 0000000..bc6ff0f --- /dev/null +++ b/articles/linux/przekierowanie_konsoli_tty0_na_rs-232_port_COM.html @@ -0,0 +1,208 @@ + + + + + + + + +
    +  _____ _   _ _    _    ___      _
    + / ____| \ | | |  | |  / / |    (_)
    +| |  __|  \| | |  | | / /| |     _ _ __  _   ___  __
    +| | |_ | . ` | |  | |/ / | |    | | '_ \| | | \ \/ /
    +| |__| | |\  | |__| / /  | |____| | | | | |_| |>  <
    + \_____|_| \_|\____/_/   |______|_|_| |_|\__,_/_/\_\
    +
    + +
    +

    Przekierowanie konsoli tty0 na RS-232 (port COM)

    +

    + Jeśli ktoś zapoznał się, z materiałem o automatycznym odblokowywaniu + istniejących partycji LUKS, to wie że pozostawienie plików klucza tak + sobie na dysku nie jest zbyt dobrym rozwiązaniem. Wystarczy, że ktoś nam + ten serwer/komputer ukradnie i nie będzie przednim żadnych tajemnic. Co + wówczas można zrobić tej sprawie. Najprościej rzecz ujmując, można + zaszyfrować dysk systemowy. Tylko w tym przypadku rodzi się pytanie, bo + jeśli jest to serwer, albo PC na którym pracujemy zdalnie? Można + wykorzystać + drugi serwer lub też przy użyciu Raspberry Pi utworzyć sobie taki serwer + dostępowy. Natomiast komunikacja między tymi hostami, a przynajmnie ta + tekstowa odbędzie się za pomocą zapomniane już protokołu RS-232, + potocznie nazywanego COM-em lub połączeniem szeregowym. Pierwszą rzeczą + od której zaczniemy jest sprzęt i kilka wyjaśnień hardware-owych. +

    +

    + Chcąc zrealizować takie przekierowanie konsoli, abyśmy przez SSH na + serwerze dostępowym mogli za pomocą połączenia szeregowego odblokować + naszą partycję systemową musimy zaopatrzyć się w odpowiednie przewody + kabel COM żeńsko-żeński (adapter i PC maja męskie porty COM) + oraz adapter USB-RS232. Adaptery ostatnio potrafią osiągać jakieś chore + kwoty. Nie mniej jednak, ta tańsza wersja ze znanego portalu aukcyjnego + za 10 czy 15 złotych wystarczy w zupełności. Jeśli nie możemy dostać + kabla COM, to możemy użyć żeńskich kabli stykowych. Do komunikacji + potrzebne będą tylko 3 przewody, wówczas należy pamiętać o skrosowaniu + przewodów. To znaczy pin nadawczy (Tx) nadawcy musi być podłaczony do + pinu odbiorczego (Rx) odbiorcy i na odwrót. Pin nadawczy (Tx) odbiorcy + musi być podłączony do pinu odbiorczego (Rx) nadawcy. Należy pamiętać + jeszcze o przewodzie masowym (GND). Podłączenia dokonujemy wg. poniższego + schematu. +

    +
    +      RS-232    
    +N               O
    +A Tx --  -- Tx  D
    +D       X       B
    +A Rx --  -- Rx  I
    +W               R
    +C GND ----- GND C
    +A               A
    +
    +

    + Kable COM mają już ten przeplot w sobie. Po zaopatrzeniu się w sprzęt + możemy przejść do właściwej konfiguracji systemu. +

    +

    + Na początek musimy dowiedzieć się z jakiego portu COM korzysta nasz + serwer i jak się on nazwya w systemie. W tym celu przeszukamy + komunikaty diagnostyczne jądra. Przefiltrujemy pod zwględem + występowania frazy tty. +

    +
    +xf0r3m@sc:~$ sudo dmesg | grep 'tty'
    +[    0.059942] printk: console [tty0] enabled
    +[    0.884573] 00:00: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
    +[    3.571786] systemd[1]: Created slice system-getty.slice - Slice /system/getty.
    +
    +

    + W moim przypadku jest /dev/ttyS0 i to to urządzenie + wykorzystam do konfiguracji. Konfigurację zaczynamy od GRUB-a. + Uzupełniamy poniższe opcje, tak jak na przykładzie, opcji + GRUB_SERIAL_COMMAND, może nie być w pliku więc trzeba ją + dopisać. Plik, który będziemy edytować to /etc/default/grub. +

    +
    +GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,19200n8"
    +...
    +GRUB_TERMINAL=serial
    +GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
    +
    +

    + Za pomocą pierwszej linii przekierowaliśmy konsole na połączenie + szeregowe. Pozostałe opcje służą wyświetalniu menu GRUB-a na konsoli + szeregowej. Po zapisaniu zmian, musimy wygenerować nowe pliki + konfiguracyjne za pomocą poniższego polecenia: +

    +
    +xf0r3m@sc:~$ sudo update-grub
    +Generating grub configuration file ...
    +Found linux image: /boot/vmlinuz-6.1.0-22-amd64
    +Found initrd image: /boot/initrd.img-6.1.0-22-amd64
    +Found linux image: /boot/vmlinuz-6.1.0-18-amd64
    +Found initrd image: /boot/initrd.img-6.1.0-18-amd64
    +Warning: os-prober will not be executed to detect other bootable partitions.
    +Systems on them will not be added to the GRUB boot configuration.
    +Check GRUB_DISABLE_OS_PROBER documentation entry.
    +done
    +
    +

    + Teraz musimy uruchomić program getty, który pozwoli nam + się zalogować do systemu. W tym celu umieścimy w pliku + /etc/inittab poniższą linię. Tutaj również mamy wybór + rodzaju terminala. Ja pozostawiam domyśnie vt100. W + nowoczesnych dystrybucjach plik /etc/inittab, może nie + istnieć. Nic nie stoi na przeszkodzie, aby go utworzyć. +

    +
    +T0:23:respawn:/sbin/getty -L ttyS0 19200 vt100
    +
    +

    + Teraz konfiguracja serwera jest już gotowa. Pozostaje skonfigurowanie + klienta - ustawienie odpowiednich parametrów połaczenia szeregowego + aby mogło dojść do transmisji. Jako klienta, użyjemy aplikacji + minicom. Jeśli nie jest dostępna w systemie to można ją + zainstalować z repozytorium. Podłaczmy adapter i sprawdzamy pod jaka + nazwą występuje w systemie. Tę nazwę należy zachować do celów + konfiguracji minicom-a. Następnie wydajemy polecenie: +

    +
    +$ sudo minicom -s -c on
    +
    +

    + Ekran zostanie wyczyszczony, a nam zostanie wyświetlone okno + konfiguracja, przechodzimy do opcji + ustawienia portu szeregowego. Teraz będzie zabawa bo + minicom konfiguruje się w dość pokraczny sposób. Naciskamy + klawisz 'A' i przechodzimy do edycji urządzenia szeregowego, tam + wpisujemy ścieżke do pliku pod którym występuje nasz adapter, + zatwierdzamy klawiszem Enter. Następnie naciskamy klawisz 'E', + w kolejnym oknie wybieramy opcje połączenia szeregowego. Jeśli zrobiśmy + wszystko zgodnie z tym artykułem - to przedstawione tutaj ustawienia są + standardowe więc w tym oknie naciskamy klawisz 'B', do momentu aż pole + przy opcji 'B' nie będzie wskazywać: +

    +
    +B:  <Aktualnie: 19200 8N1
    +
    +

    + Zatwierdzamy klawiszem Enter i wartość + 19200 8N1, powinna pojawić się w + głównym oknie konfiguracji, przy opcji E:. Jeśli tak, to + możemy + opuścić to okno Enter-em i wybieramy opcje: + Zapisanie konfiguracji jako dfl, dzięki temu konfiguracja + zostanie wczytana od razu po uruchomieniu programu za pomocą + polecenia + sudo minicom -c on - opcja + -c on, włącza kolory. Po + przygotowaniu pliku, możemy uruchamiać naszego minicoma + i restartować serwer. Konsola tty0 serwera powinna pojawić się w + oknie minicoma, na początku pokaże się menu GRUB-a. +

    +
    +$ sudo minicom -c on
    +
    +                       GNU GRUB  version 2.06-13+deb12u1
    +
    + +----------------------------------------------------------------------------+
    + |*Debian GNU/Linux                                                           | 
    + | Advanced options for Debian GNU/Linux                                      |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            |
    + |                                                                            | 
    + +----------------------------------------------------------------------------+
    +
    +      Use the ^ and v keys to select which entry is highlighted.          
    +      Press enter to boot the selected OS, `e' to edit the commands       
    +      before booting or `c' for a command-line.                           
    +
    +Please unlock disk vda5_crypt:
    +cryptsetup: vda5_crypt: set up successfully
    +/dev/mapper/ccna--vg-root: clean, 185425/1213456 files, 2214800/4851712 blocks
    +
    +Debian GNU/Linux 12 ccna ttyS0
    +
    +ccna login:
    +
    +

    + Źródło: Debian Linux: Set a Serial Console +

    +

    + ~xf0r3m +

    + +
    + + +