W tym miejscu można zadawać pytania dotyczące przedmiotu Praktyczne Aspekty Sieci Komputerowych.
Za mailem:
Przypominam, że termin oddania listy 2 to niedziela 5.11 (jutro!) godzina 23:59:59. Jak do tej pory listę 2 oddała jedna osoba, a dwie kombinują
Wszystkim, którzy mają problemy z “ogarnięciem” *ssl-a polecam:
- Uważne wybranie tutoriala, jeżeli już decydujecie się na robienie wg. tego. W tych zadaniach wychodzi, że tutoriale w internecie nie zawsze są dobrym źródłem wiedzy/rozwiazaniem problemu.
Większość tutoriali NIE daje poprawnego rozwiązania zadania 1c, a co za tym idzie również (d) i (e). W szczególności:
Nowy certyfikat CA musi mieć ustawione CA:TRUE oraz key Usage ‘Certificate signing’.
Zgodnie z RFC:
https://tools.ietf.org/html/rfc5280#section-6.1.4 podpunkt (k).
“(k) If certificate i is a version 3 certificate, verify that the
basicConstraints extension is present and that cA is set to
TRUE. (If certificate i is a version 1 or version 2
certificate, then the application MUST either verify that
certificate i is a CA certificate through out-of-band means
or reject the certificate. Conforming implementations may
choose to reject all version 1 and version 2 intermediate
certificates.)”
-
Polecam nowe, oficjalne miejsce konsultacji (publicznej): PrASK 2017 - konsultacje
-
EasyCA https://github.com/redredgroovy/easy-ca -> to jest co nieco pójście na łatwiznę, ale daje szybko prawidłowe rozwiązanie.
-
Jak szukać dobrego tutoriala? Pamiętajmy o (1), a dokładniej “CA:true”. To powinno wystarczyć do znalezienia w miarę dobrego opisu.
Zaznaczam, że w zadaniu nie było nic o certyfikacie “intermediate”, choć wedle “best practice” powinno się taki też zrobić. Jak dla mnie, może być bez, byle certyfikat CA był certyfikatem CA, a certyfikat serwera - certyfikatem serwera oraz (opcjonalnie) klienta (od razu odpowiadam na pytanie, tak serwer też bywa klientem! Przykład serwer pocztowy łączy się z innym jako klient SMTP przy użyciu swojego certyfikatu SSL).
Dodatkowe podpowiedzi:
Certyfikat CA (przykład, oczywiście to tylko wycinek):
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
Certyfikat serwera (przykład, wycinek):
basicConstraints = CA:FALSE
keyUsage = critical, digitalSignature, keyEncipherment
nsCertType = server
extendedKeyUsage = serverAuth
Zadanie 4 nie jest punktowane, ale bardzo się przyda do nastepnej listy/wykładu/pracowni.
Powodzenia!
Jak dokładnie wygląda oddawanie tej listy?
Bardzo prosto. Wystarczy napisać mi mailem coś w stylu “skończyłem” i dopisać nazwę domeny.
W razie gdyby komuś nie udało się np. zrobić vhostów albo 1d i 1e można mi też wysłać certyfikaty mailem (w formacie PEM).
Ocena polega na wyniku z przeglądarki, analizatorów (z treści zadań) oraz analiza “białkiem” wyjścia z openssl x509 -in certyfikat.pem -text
.
Aha: odpowiedzi na pytania z zadania 2 też (najchętniej) mailem.
Router - LEDE
Nie wiem czemu, po każdym odcięciu zasilania kasuje mi się konfiguracja (a dokładniej przywracana jest poprzednia). Tak jakby zapisywanie danych na pendrive przestało działać. Jakiś pomysł? @czakey?
Odłącz pendrive, włącz router i sprawdź konfigurację mount pointa - /etc/config/fstab
Wydaje mi się że jest ok:
config global
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '1'
config mount
option uuid 'bb7f3447-48ec-48ec-9949-52c7204eac84'
option target '/overlay'
option enabled '1'
jeszcze - być może dane nie dają rady się zapisać na f2fs, spróbuj przed odpięciem zasilania wykonać polecenie “sync”
'‘sync’ pomogło dzięki Czy to mogła być wina tego, że np. odłączam zasilanie przy wciąż aktywnym połączeniu w terminalu? Może on wykonuje synchronizacje dopiero jak zamykam połączenie ssh?
I czy jest gdzieś może jakoś sensownie wytłumaczone co oznaczają te wszystkie tryby pracy routera (ap, sta, adhoc, wds, monitor, mesh)?
f2fs i ogólnie systemy plików starają się “oszczędzać dysk” co jest szczególnie ważne przy pamięci flash - ograniczona liczba zapisów. Sync wymusza zapis.
Jasne np tu: https://wiki.openwrt.org/doc/uci/wireless
ap for Access Point,
sta for managed (client) mode,
adhoc for Ad-Hoc,
wds for static WDS,
monitor for monitor mode,
Tu dokładniej: https://wireless.wiki.kernel.org/en/users/Documentation/modes
Ja korzystałem z https://lede-project.org/docs/user-guide/wifi_configuration i to trochę frustrujące jak tylko wypisują możliwe wartości a nie piszą co one oznaczają.
Nie rozumiem czemu router jest przeźroczysty w mojej sieci. Rozgłasza swoje SSID i ma ustawione hasło, ale ip przydzielane są z routera który jest podłączony pod port WAN. Co powoduje, że nie mogę się bezpośrednio do niego podłączyć po ssh
Zauważ, że ten port to niekoniecznie WAN
/etc/config/network
Tam ustawiasz do jakiej sieci jest przyłączony port (teraz zapewne jest LAN).
Myślałem, że w tym pliku ustawia się konfigurację poszczególnych interfejsów (które używa się potem w innych, jak np. wireless, czy openvpn ). W jaki sposób mam ustawić, żeby konkretny port na urządzeniu pełnił rolę WANu, a nie LANu?
https://wiki.openwrt.org/doc/uci/network
Router ma jeden interfejs ethernet (eth0), więc żeby ustawić go jako
WAN:
config 'interface' 'wan'
option 'proto' 'dhcp'
option 'ifname' 'eth0'
LAN:
config 'interface' 'lan'
option 'proto' 'static'
option 'ipaddr' '...'
option 'netmask' '[...]'
option 'ifname' 'eth0'
wan i lan mają mieć tego samego 'ifname’a ?
To są opcje do wyboru