Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Zrobiłem u siebie ciekawy mechanizm polegający na czasowym odświeżaniu kluczy GPG przez sieć TOR. Działa on nawet przyzwoicie:
[img]http://i.imgur.com/k5FLqxL.png[/img]
Problem w tym, że w ten sposób aktualizowane są jedynie klucze GPG użytkowników. Poza kluczami użytkowników są też klucze do apt w pliku /etc/apt/trusted.gpg i na dobrą sprawę nie mam zielonego pojęcia jak te klucze zaktualizować.
Niby jest apt-key update, ale on nie tyka kluczy zewnętrznych repozytoriów:
# apt-key update gpg: key B98321F9: "Squeeze Stable Release Key <debian-release@lists.debian.org>" not changed gpg: key 473041FA: "Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>" not changed gpg: key 65FFB764: "Wheezy Stable Release Key <debian-release@lists.debian.org>" not changed gpg: key 46925553: "Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>" not changed gpg: key 518E17E1: "Jessie Stable Release Key <debian-release@lists.debian.org>" not changed gpg: key 2B90D010: "Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>" not changed gpg: key C857C906: "Debian Security Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>" not changed gpg: Total number processed: 7 gpg: unchanged: 7
Tutaj jest tylko 7 kluczy. Z kolei apt-key list zwraca mi ich o wiele więcej, w tym też szereg kluczy jest nieaktualnych. Niekoniecznie przeterminowanych ale posiadają nieodpowiednie daty ważności czy inne informacje.
Pytanie zatem, jak zaktualizować te klucze w keyringu apt? Szukam innego rozwiązania niż usunięcie pliku keyringa i pobranie wszystkich kluczy na nowo. xD
Offline
Znalazłem! xD
Widać trzeba to robić ręcznie przez podanie wszystkich parametrów do do gpg w apt-key, przykładowo:
# apt-key adv --refresh-key \ --keyserver hkps://hkps.pool.sks-keyservers.net \ --keyserver-options ca-cert-file=/root/.gnupg/certs/sks-keyservers.netCA.pem \ --keyserver-options http-proxy=http://127.0.0.1:8118 \ --keyserver-options timeout=60 \ --keyserver-options no-try-dns-srv \ --keyserver-options no-honor-keyserver-url \ --keyserver-options include-revoked
I teraz wszystkie klucze są aktualne. To zadziwiające, że apt nie aktualizuje tych kluczy na bieżąco -- przecie to jest security fail. xD
Ostatnio edytowany przez morfik (2015-11-01 16:42:28)
Offline
[quote=morfik]To zadziwiające, że apt nie aktualizuje tych kluczy na bieżąco — przecie to jest security fail. xD[/quote]
Security faila to ja miałem kiedyś na Open SUSE około 4 lat temu. Tamtejszy menedżer logowania pozwalał zalogować użytkownika bez hasła na chyba domyślnej konfiguracji. Nie wiem, o co chodziło, bo polazłem na łubudubu i chwilę później na Debiana (do chwili obecnej). Nie pamiętam też, co to dokładnie za menedżer logowania był, ale to chyba było coś na wzór GDM. Ale wczoraj okazało się, że na domyślnej konfiguracji Debiana jako hasło mogę podać jeden znak. Ciekawe, czy jak spację podam, to czy będzie to akceptowalne jako puste hasło :D
Ostatnio edytowany przez Pavlo950 (2015-11-01 17:02:18)
Offline
Morfik, ale to trzeba robic dla kazdego klucza w systemie oddzielnie, czy nie daloby sie zrobic jakiegos skryptu, ktory by sie zajal sprawdzaniem kluczy i go codziennie puszczac w cronie?
Offline
To zależy od keyringa. Każdy użytkownik ma własny keyring w katalogu domowym. Jak root pobiera klucz via gpg, to potem go exportuje via apt-key add. I tak klucz trafia do keyringa apt. Dlatego nawet jak te klucze zaktualizujesz w swoim keyringu, to one pozostają nieaktualne w keyringu apt. GPG ma opcję zdefiniowania położenia keyringa i to robi apt-key, tzn podaje inne ścieżki niż katalog domowy i aktualizuje w nich klucze. Ta linijka wyżej co podałem, może mieć równie dobrze poniższa postać:
# gpg --keyring /etc/apt/trusted.gpg --refresh-keys
W tym przypadku zostaną zaktualizowane dwa keyringi, ten w katalogu użytkownika i ten podany w parametrze --keyring . Dopisujesz sobie to powyższe w cronie i będzie działać.
Ostatnio edytowany przez morfik (2015-11-01 21:12:32)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00101 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.216.53.7' WHERE u.id=1 |
0.00085 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.216.53.7', 1732516285) |
0.00047 | SELECT * FROM punbb_online WHERE logged<1732515985 |
0.00064 | SELECT topic_id FROM punbb_posts WHERE id=292470 |
0.00082 | SELECT id FROM punbb_posts WHERE topic_id=27858 ORDER BY posted |
0.00056 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27858 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00078 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27858 ORDER BY p.id LIMIT 0,25 |
0.00085 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27858 |
Total query time: 0.00616 s |