Certyfikaty klienta


Logowanie za pomocą certyfikatu klienta

Od dawna znana jest możliwość logowania do serwisu NickServ z wykorzystaniem hasła do nicka. Natomiast od niedawna dostępne jest rozwiązanie alternatywne, wykorzystujące możliwość połączenia SSL: logowanie za pomocą certyfikatu klienta. Metoda ta nie wymaga podawania hasła – nie trzeba go ani wpisywać ręcznie przy każdym połączeniu, ani ustawiać i zapisywać w swoim programie. Polega ona na stworzeniu certyfikatu, który jest unikalny dla Twojego klienta i używanego do nawiązywania połączenia SSL. Certyfikat taki posiada tzw "odcisk palca" (certificate fingerprint, certfp), który można dodać do specjalnej listy w usłudze NickServ, dzięki czemu klient ten zostanie w momencie połączenia zalogowany do swojego konta (niezależnie nawet od używanego nicka). Jeśli korzystasz z wielu klientów, nie ma problemu – lista w NickServ może zawierać wiele certyfikatów, więc można dodać do niej każdy z programów.


Konfiguracja certyfikatu w programie Irssi

Zakładamy, że korzystasz ze shella systemu Linux lub podobnego, i posiadasz wszelkie niezbędne programy (są one dostępne domyślnie w większości dystrybucji).

Aby stworzyć certyfikat nie posiadający hasła i ważny przez 600 dni, użyj polecenia (w shellu):

openssl req -newkey rsa:2048 -days 600 -x509 -keyout irssi.key -out irssi.crt -nodes

Program zada kilka pytań, odpowiedzi nie mają znaczenia. Jeśli chcesz, aby certyfikat miał hasło, usuń argument -nodes (przy generacji pojawi się dodatkowe pytanie o "pass phrase"). Aby certyfikat był ważny bezterminowo, usuń argument -days 600. Wygenerowane zostaną pliki irssi.key oraz irssi.crt.

Następnie stwórz plik irssi.pem, ustaw mu odpowiednie uprawnienia, i usuń oba poprzednio wygenerowane pliki:

cat irssi.crt irssi.key > ~/.irssi/irssi.pem
chmod 600 ~/.irssi/irssi.pem
rm irssi.crt irssi.key

"Odcisk palca" możesz uzyskać (wyświetli się w terminalu) używając polecenia:

openssl x509 -sha1 -fingerprint -noout -in ~/.irssi/irssi.pem | sed -e 's/^.*=//;s/://g;y/ABCDEF/abcdef/'

Rozłącz się z serwerem IRC poleceniem /disconnect PIRC. Usuń posiadane serwery sieci PIRC, a następnie dodaj nowy z odpowiednimi opcjami – wpisz w Irssi:

/server add -ssl_cert ~/.irssi/irssi.pem -ssl_pass hasło_do_certyfikatu -network PIRC irc.pirc.pl 6601

Oczywiście pomiń opcję -ssl_pass jeśli Twój certyfikat nie ma hasła. Teraz połącz się z siecią, zaloguj do nicka (jeszcze używając hasła) i dodaj aktualnie używany "odcisk palca":

/connect PIRC
/msg NickServ IDENTIFY hasło
/msg NickServ CERT ADD

Sprawdź listę certyfikatów przypisanych do nicka, i upewnij się, że jest na niej "odcisk palca" uzyskany wcześniej:

/msg NickServ CERT LIST

Jeśli wszystko się powiodło, będziesz od teraz logować się za pomocą swojego certyfikatu, nie używając hasła. Uprawnienia do konta w NickServ powiązanego z posiadanym certyfikatem uzyskasz nawet używając innego nicka.

Konfiguracja certyfikatu w programie WeeChat

Najpierw generujemy certyfikat następującymi poleceniami (szczegółowych informacji szukaj w instrukcji dla Irssi powyżej):

mkdir ~/.weechat/ssl
openssl req -newkey rsa:2048 -x509 -keyout nick.key -out nick.crt -nodes
cat nick.crt nick.key > ~/.weechat/ssl/nick.pem
chmod 600 ~/.weechat/ssl/nick.pem
rm nick.crt nick.key

Teraz skonfigurujmy sieć PIRC w WeeChat (najpierw rozłącz się z serwerem):

/server add PIRC irc.pirc.pl/6601
/set irc.server.PIRC.ssl on
/set irc.server.PIRC.ssl_cert "%h/ssl/nick.pem"
/connect PIRC

... i dodaj certyfikat do listy NickServ:

/msg NickServ IDENTIFY hasło
/msg NickServ CERT ADD

Gotowe!

Zobacz także

Strona główna

Strona główna - Krótki opis sieci i podstawowe informacje na jej temat.

Bramka

Bramka - Specjalny interfejs WWW umożliwiająca ircowanie z przeglądarki, bez konieczności instalowania dodatkowego oprogramowania.

Informacje

Regulamin - zbiór zasad których użytkownicy PIRC.PL są zobowiązani przestrzegać.

Prace - informacje na temat prac, które administratorzy sieci aktualnie wykonują. W tym miejscu będą również zamieszczane wszelkie ważniejsze ogłoszenia.

I:Line - informacje dla administratorów serwerów shell, akademików, sieci osiedlowych i każdego innego miejsca, które wymaga połączenia do naszej sieci więcej osób z jednego adresu IP.

SSL - informacje dla osób chcących połączyć się z naszą siecią korzystając z bezpiecznego połączenia SSL.

Tor i proxy - informacje dla osób próbujących połączyć się z naszą siecią z serwerów TOR i PROXY.

Pomoc administracji - dodatkowa pomoc w pilnowaniu porządku na naszym kanale.

API - opis naszego modułu do wyświetlania statystyk kanału na własnej stronie WWW.

Bannery - generowane przez naszą stronę banery z informacjami o kanałach.

Logo - informacje na temat naszego logo

O nas - nieco więcej informacji na temat sieci i nas, administratorów, oraz krótka historia powstania tego miejsca.

Polecane - mała reklama - strony które sieć PIRC.PL poleca użytkownikom.

Serwisy

NickServ - rejestracja nicków.

ChanServ - rejestracja kanałów.

BotServ - postawienie na swoim kanale bota.

HostServ - ukrywanie swojego adresu IP.

MemoServ - wiadomości do niezalogowanych użytkowników.

Pomoc

Podstawy - miejsce od którego każdy początkujący powinien zacząć. Zbiór podstawowych pojęć i informacji które powinieneś posiadać.

Kanały - informacje na temat zarządzania kanałami i opis ich ustawień,

Użytkownicy - informacje na temat interakcji serwera z użytkownikiem i opis ustawień, które każdy może sobie nałożyć,

Konwersja kodowania - opis naszego autorskiego modułu do konwersji kodowania.

Częste problemy - czyli FAQ, odpowiedzi na często zadawane przez użytkowników pytania.

Statystyki

Podsumowanie - generalne informacje na temat wykorzystania sieci.

Wykresy - graficzna reprezentacja ilości użytkowników i kanałów w przedziale czasu.

Lista kanałów - lista największych kanałów na sieci.

Statystyki kanałów - strona pozwalająca obejrzeć informacje dotyczące poszczególnych kanałów.

Kontakt

Kontakt - alternatywna droga kontaktu z administracją.