Archiwa tagu: bezpieczeństwo

Rozwiązanie problemu z tokenami OTP w KeePassXC z KeePass 2

O tym, że posiadanie menadżera haseł jest czymś (wydawałoby się w naszym środowisku) oczywistym – wiedzą chyba wszyscy. Nawet te osoby, które na co dzień z takich narzędzi nie korzystają. Kwestia bezpieczeństwa, złożoności haseł i posiadania do każdego serwisu innego hasła jest podstawą „życia” w sieci. Użytkownicy dzielą się na różne obozy, związane z różnymi narzędziami tego typu. Począwszy od rozwiązań płatnych, jak i bezpłatnych; tych opartych o chmurę i tych offline. Każde jednak pomaga nam w gromadzeniu haseł.

Od wielu lat (z przerwami na LastPass) używam narzędzia o nazwie KeePass 2. Jest to bezpłatny menadżer haseł, który posiada liczne forki na różne platformy. Pół roku temu zrezygnowałem również na rzecz KeePass z Google Authenticator dla tokenów OTP. Uważam to tym samym za jedną z lepszych decyzji do tej pory – nie dlatego, że KeePass jest niezastąpiony, czy chcę coś złego na temat GAuth napisać. Po prostu jest to mega wygodne, gdzie w jednym programie mam dostęp do hasła i tokenu.

Nie dalej, jak przedwczoraj chciałem zmienić swojego sprawdzonego KeePassa na KeePassXC, który ma zdecydowanie współcześniejszy design, działa szybciej, a co najważniejsze jest multiplatformowy – jeden program, na róże systemy, ta sama funkcjonalność. No i napotkałem na problem:
Klucze zapisane w KeePass 2 nie generują tokenów w KeePassXC…

Krótki research i okazało się, że jeden z drugim programem nie rozumie nawzajem kluczy zapisanych w polach o nazwie TimeOtp-Secret-Base32 dla KeePass 2, oraz otp dla KeePassXC.

Klucz OTP zapisany w KeePass 2, nie działający na KeePassXC

Klucz OTP zapisany w KeePass 2, nie działający na KeePassXC

Rozwiązanie? Wystarczy zduplikować klucz, ale pod nazwą otp. W tym celu klikamy prawym przyciskiem myszy na wpis / TOTP / Ustaw TOTP / wklejamy wartość klucza do pola. Tyle :)

I bez większego problemu będziemy mieć teraz tokeny na KeePass 2, KeePassXC oraz na KeePass2Adndroid – którego z kolei planuję w przyszłości wymienić na KeePassDX – zdecydowanie najładniejszy fork KP na Androida. Natomiast ma jeszcze problemy w funkcjonalności, których nie ma KP2A.


KeePass, jako alternatywa dla Google Authenticator, czyli 2-step Verification

Przyznam się bez bicia, że do niedawna jeszcze korzystałem z Google Authenticator, do podwójnej weryfikacji (tzw. 2-step Verification, aka. 2fa). Gdzieś z tyłu głowy siedzi sobie myśl, by uwolnić się od Google, ile tylko się da, a dodatkowo GAuth ma pewien problem – nie da się zrobić kopii zapasowej kluczy. Już raz utraciłem dostęp do kont i musiałem go odzyskiwać. Jedyna opcja na kopię, to przeniesienie kluczy na inne urządzenie i potem powrót na urządzenie właściwe.

To było takim zapalnikiem by poszukać innego rozwiązania. Pierwszym wyborem miał okazać się Aegis Authenticator. W zasadzie tylko dlatego, że rozwiązywał problemy/braki, które posiadał GAuth, czyli:

  1. Możliwość zrobienia kopii zapasowej (nie bez powodu #1 na liście);
  2. Nie jest od Google i/lub jest OpenSource;

Ale gdzieś pomiędzy komentarzami, przewinął się KeePass. I tutaj było moje zdziwienie, bo z ów menadżera haseł korzystam z mniejszymi, lub większymi przerwami od bardzo dawna. Nie wiedziałem, że posiada on taką funkcję wbudowaną. Dodatkowo dzięki niemu jest możliwość korzystania z haseł jednorazowych bezpośrednio na komputerze, z pominięciem telefonu. Rozwiązanie o tyle genialne w swojej prostocie, że:

  1. Nie potrzebuję telefonu by się zalogować;
  2. Jak zgubię telefon, nie tracę dostępu do kont;
  3. Mam bazę w kilku miejscach (czytaj bezpieczeństwo).

Wziąłem się więc za pełną migrację z GAuth na KeePass.


Instalacja i konfiguracja OpenVPN na CentOS 6 z autoryzacją kluczem

Ikona OpenVPN

Jedno podejście do instalacji i konfiguracji OpenVPN na CentOS 6 już miałem. Jednakże, jak zauważył jeden z czytelników – wykorzystałem autoryzację {{Pluggable_Authentication_Modules|PAM}} zamiast skorzystać z logowania za pomocą kluczy.

Przyznam, że miałem z tym trochę problemów, a zmobilizował mnie do tego Rafał we wpisie openvpn debian – nie dawało mi spokoju, że można to zrobić prościej i szybciej. Dać dostęp innym osobom bez tworzenia zbędnego użytkownika w systemie i podawani innym haseł.

Ok, do rzeczy.


Instalacja i konfiguracja OpenVPN na serwerze VPS z CentOS 6

Ikona OpenVPN

Dwa dni zajęło mi uruchomienie OpenVPN z możliwością tunelowania na {{VPS|VPSie}} z CentOSem. Było to jednak dość ciekawe doświadczenie :). Wiedząc jednak, że nie prędko będę miał przyjemność zrobić to ponownie – napiszę o przebiegu instalacji. Może komuś poza mną się to jeszcze kiedyś przyda.

O tym, co daje nam tunelowanie i jakie profity za sobą niesie poczytacie w sieci. Największą zaletą jest korzystanie z tunelowania w otwartych sieciach (Hotspoty, otwarte wifi). W skrócie: połączenie jest szyfrowane do naszego serwera, i komunikujemy się z internetem tak jakby za jego pomocą a nie naszego urządzenia. Zakręcone, wiem.

Przygotowanie

Z rzeczy, które potrzebujemy na sam początek, to:

  1. Serwer z CentOSem w wersji 6 (na niej instalowałem program);
  2. Zainstalowane repozytoria Epel oraz RPMForge (opis tutaj).
Do prawidłowego działania na serwerze musi być uruchomiony moduł TUN/TAP. W celu jego włączenia skontaktuj się z dostawcą, albo zrób to za pomocą odpowiedniej opcji w panelu zarządzania.

httpd-itk – zastępca suPHP

Od samego początku na serwerze korzystałem z suPHP, by skrypty wykonywały się z uprawnieniami danego użytkownika. Dla przykładu WordPress bez zastosowania odpowiednich rozwiązań, takich jak: suPHP, fcgi, suexec nie poradzi sobie z zapisywaniem plików na przestrzeni dyskowej. Pojawi się błąd zapisu.

Ja ze względu na prostotę instalacji (wtedy) wybrałem suPHP. Dziś przypadkowo natknąłem się na mpm-itk i zainteresowałem się nieco tematem. Generalnie jakoś nie miałem większej potrzeby zmieniania czegokolwiek. Jedynie ze względu na skrypt Tiny Tiny RSS poszukiwałem innego rozwiązania – skrypt ten nie działa z włączonym suPHP.