W naszej aplikacji przesyłamy pliki na zdalny serwer, a wymaganą metodą uwierzytelnienia jest użycie kluczy SSH.
Tak więc utworzyłem parę kluczy za pomocą ssh-keygen i przesłałem mój klucz publiczny do wstawienia do pliku autoryzowanych kluczy zdalnego hosta. Zostało to jednak odrzucone przez IT Security, który powiedział, że wygeneruje dla mnie parę kluczy i wyśle mi klucz prywatny. Powód: „Potrzebujemy podpisu kluczy SSH przez zespół ds. Bezpieczeństwa IT. Ma to na celu zapewnienie nam pewnej przewagi w zakresie śledzenia i rozliczalności”.
Oczywiście mam z tym problemy. Generowanie klucza prywatnego przez kogoś innego oznacza, że mogę mieć tę osobę, która przebiera się za mnie bez mojej wiedzy. Próbuję znaleźć sposoby na obalenie tego argumentu.
O ile mogę google, wydaje się, że nie ma znanego sposobu podpisywania kluczy, który pomógłby w śledzeniu osoby, która się zalogowała. Fakt, że przesłałem klucz publiczny, oznacza, że jestem właścicielem tego klucza, a każda osoba, która zaloguje się na zdalnym serwerze przy użyciu tego klucza, jest domyślnie identyfikowana jako ja. W jaki sposób podpisywanie byłoby pomocne? A jak by się podpisali?
Niech ktoś mnie oszuka, jeśli się mylę, dzięki!
Ok, teraz, kiedy ustaliliśmy, że nie ma możliwości podpisania kluczy SSH, muszę pokazać IT Security, w jaki sposób mogą faktycznie śledzić, kto się loguje (chyba konstruktywnie, jeśli nie, zaczyna się od wysokiej rangi) ). Na własnym serwerze ustawiłem LogLevel sshd na DEBUG. Więc teraz, kiedy się loguję, widzę następujący fragment:
Found matching DSA key: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
To wydaje się być wartością skrótu. Jak powiązać to z tym, który klucz publiczny w pliku autoryzowanych_ kluczy został użyty? Wiem, że jest inna linia, która mówi:
debug1: matching key found: file /home/bofh/.ssh/authorized_keys2, line 1
ale nie jest to tak przydatne, ponieważ numery wierszy można łatwo zmienić, gdybym wstawił klucz u góry pliku, naciskając oryginalne klucze w dół.
Dzięki!