Życie z nową technologią - bezpiecznie, wygodnie.

Feb 28, 2016 • Bretos

Technologia jest niedłącznym elementem codziennego życia niemal każdego człowieka.

Niektórym to życie ułatwia, niektórym utrudnia. Są osoby, które nie umieją z niej korzystać, żyją w fałszywym przeświadczeniu że umieją, a całej reszczie pomaga z dnia na dzień.

Pomyślałem, że opis tego w jaki sposób sam korzystam z technologi na co dzień może być źródłem inspiracaji dla innych, jak i wszelkie komentarze cennymi uwagami dla mnie.


Dell

Zarówno najwięcej czasu, jak i bezpośrednio z spędzam ze swoim laptopem:

Dell Latitude E6440:

  • 14” IPS, 1600x900, podświetlenie LED

  • Intel(R) Core(TM) i5-4300M CPU @ 2.60GHz 2 wielowąwtkowe rdzenie

  • 8+4 GB niskonapięciowego DDR3L

  • 128 GB SSD Corsair CSSD-V128GB2

  • Wbudowany modem 3G.

Oprogramowanie:

  • Archlinux

  • Gajim wspaniale współpracuje z moim serwerem xmpp napędzanym przez Prosody, wspiera wszystkie elementy standardu XMPP na których mi zależy: MAM, carbons, httpupload, oraz szyfrowanie OTR oraz OMEMO. Stabilnością nie grzeszy, jednak nie znalazłem jak dotąd lepszej alternatywy.

  • Firefox - otwarte źródła, olbrzymie wsparcie, stosunkowo wydajne działanie. Wcześniej korzystałem z chromium, którego zapotrzebowanie na RAM przelało szalę mojego dobrego smaku.

  • dnscrypt z dnsmasq - zapewnia szyfrowanie zapytań DNS (o czym pisałem w jednym z wpisów) pomagając zachować prywatność korzystania z zasobów Internetu

  • Syncthing- wspaniałe narzędzie do synchronizacji plików. 100% P2P, wspiera wersjonowanie, ruch jest w pełni szyfrowany, dzięki relayom działa również za NATem

  • brackets - ot przyjemny notatnik

  • mosh - dzięki niemu połączenie SSH nie zostaje zerwane przy zmianie sieci/sposobu połączenia z Internetem, w dodatku na połączeniu niskiej jakości, wszelkie opóźnienia przestają być tak dotkliwie odczuwalne

  • i3 - jak dotąd mój ulubiony WM, kafelkowy. Po zmianie na i3 wydajność jak i wygoda pracy odczuwalnie wzrosła. Jak to mówią “once you go tiling, you’ll never go floating”

  • openvpn - klient sieci VPN, serwowanej przeze mnie na zewnętrznym serwerze - uniemożliwia dostarczycielowi Internetu śledzenie moich poczynań w sieci, jak i zabezpiecza moje dane w przypadku korzystania z sieci wątpliwej jakości/bezpieczeństwa

  • mocp - lekki i szybki odtwarzacz muzyki

  • redshift - zmienia barwę ekranu, dzięki czemu praca przy słabym oświetleniu znacznie mniej męczy oczy

  • aricrack-ng, wireshark, tcpdump, nmap - narzędzia do diagnostyki i badania bezpieczeństwa sieci

  • mój skrypt do screenów - pod skrótem klawiszowym, po wciśnięciu ktorego robi zrzut zaznaczonego fragmentu ekranu, po czym wysyła go na wskazany serwer, a link kopiuje do schowka

  • ix.io zapewnia wygodne pastowanie prosto z terminala.

  • aircrack-ng

  • keepass - z bazą danych synchronizowaną za pomocą Syncthing do domowego serwera, laptopa i na telefon

Skąd takie, a nie inne wybory?

  1. laptop:

    1.1 wygodna, niewyspowa klawiatura(nie toleruję ich)

    1.2 matrycia z podświetleniem LED, o rozdzielczości przystosowanej dla homo sapiens (czyt. innej niż 1366 x 768)

    1.3 solidna, przemyślana obudowa - wymiana całego chłodzenia, pasty termoprzewodzącej to kwestia zdjęcia dolnej tacki i wykręcenia go, wymiana dysku? 2 śrubki

    1.4 zatoka napędu optycznego mogąca służyć za dodatkową baterię czy dysk

    1.5 złącze stacji dokującej/replikatora portów, który ułatwia życie

    1.6 gabaryty ułatwiające łatwy transport i korzystanie z laptopa w podróży (w końcu z modemu 3G raczej w domu korzystał nie będę!)


Google Nexus 5

Kolejnym urządzeniem, z którego najczęściej korzystam jest telefon, a raczej smartphone.

Przy zakupie mój wybór padł na Google Nexus 5. Czemu?

  1. optymalny do mojej ręki rozmiar
  2. wystarczająca moc obliczeniowa
  3. wsparcie Cyanogenmod

Do czego go używam? Skąd takie wybory?

  • Conversations, podobnie jak gajim, jest chyba jedynym klientem XMPP dla Androida, który wspiera wszystko co, co mi się podoba, lubię i korzystam. Do tego ładnie wygląda, no i jest open-source.

  • Lightning - w moim mniemaniu najlepsza i najszybsza przeglądarka WWW. Oczywiście opensource

  • OpenVPN - pozwala mi na dostęp do usług, które uruchamiam jedynie dla sieci VPN, do tego na Androidzie 6 pozwala na utworzenie ikony na ekranie głównym, po wciśnieciu której automatycznie łączy się z siecią prywatną. Opensource

  • Irssi Connectbot - jednak nie z marketu, lecz stąd - wspiera MOSHa, o których zaletach pisałem wcześniej opensource

  • Jakdojade, bilkom - aplikacje ułatwiające korzystanie z komunikacji publicznej. Niestety zamknięte.

  • DAVdroid - synchronizacja kontaktów, listy zadań i kalendarza z moją instancją ownCloud uruchomioną na serwerze zewnętrznym.

  • Piwik

  • Jakdojade

  • Faceslim

  • QKSMS

  • Bilkom

  • DAVdroid

  • K-9 Mail

  • Pedometer

  • Syncthing

  • Twidere

  • Transdroid

  • Twilight

  • OpenTasks

  • HoloIRC

  • tethering WiFi/USB

  • reszta, to po prostu klienty usług, ktore najbardziej przypadły mi do gustu.

Poza urządzeniami, które zawsze lub prawie zawsze mam przy sobie korzystam również z prywatnych lub dedykowanych serwerów zewnętrznych.


VPS

Tak się nazywa, tak go nazwałem. Pierwszy zdalny serwer, który wykupiłem.

Służy mi do hostowania tego bloga, statystyk Piwik, stron kilku znajomych, ale również mojej sesji IRC, instancji BitlBee - klienta XMPP/FB/im z ircowym interfejsem,

serwera XMPP dla domeny “vps.tyborek.pl”. Okazjonalnie również uruchamiam na nim serwer TeamSpeak.

Sesję IRC utrzymuję za pomocą klienta weechat- najbardziej przypadł mi do gustu. Za jego pomocą łączę się nie tylko z sieciami IRC, ale równiez lokalną instancją BitlBee, dzięki czemu umożliwia on wygodne rozmowy ze “znajomymi” z Facebooka, oraz w awaryjnych sytuacjach służy jako klient XMPP. Podsumowując: XMPP, IRC, Facebook w jednym.

Korzystam również z wtyczki wysyłającej powiadomienia za pomocą serwisu Pushbullet oraz wtyczki będącej klientem Twittera.

Serwer XMPP konfigurowany przeze mnie opisałem w odpowiednim artykule. Dodatkowo uruchomiony jest zewnętrzny komponent obsługujący httpupload.


kebab

Czyli najtańszy serwer z oferty kimsufi.

Wyposażony jest w procesor Intel(R) Atom(TM) CPU N2800 @ 1.86GHz, 2 gigabajty pamięci RAM i dysk twardy o pojemności 500 GB.

Hostuje on mirror Archlinuxa mirror.tyborek.pl, teamspeak, torrentowy seedbox, serwer VPN, XMPP dla innych domen, munin, mail, ownCloud, z czego ostatnie dwie w kontenerze LXC. Służy on również jako odwrotne proxy do usług uruchamianych w sieci VPN.


wyvern

“serwer”, a raczej zwykły PC włączony bez przerwy. Stoi przy moim biurku, i spełnia kluczowe role:

  • klient sieci torrent
  • magazyn mediów
  • magazyn kopii zapasowych
  • wirtualne laboratorium sieciowe (wirtualizowane: Proxmox, Ubuntu ELK, Win2012, Win10, Arch,)

Konfiguracja sprzetowa: Intel i3-3220 16gb RAM 3x1 TB w RAID0 2x500GB w RAID1.

Zużywa stosunkowo niewiele prądu, jednocześnie zapewniając wystarczającą moc do mniejszych i troszeczkę większych zabaw.


kundel

Czyli Kindle Paperwhite. Za pomocą Syncthing bez kabli kopiuję na niego książki.

Wymagało to w prawdzie wykonania jailbreaka, co wcale nie było takie trudne.


Jak z tego korzystam?

Syncthing zainstalowane na laptopie, telefonie i serwerze umożliwia bezpieczną i szyfrowaną synchronizację plików:

z laptopa na RAID1 w serwerze synchronizuję folder Dropboxa(na którym mam dostępne 20.6 GB), w którym znajdują różne materiały, a te szczególnie ważne w osobnym kontenerze Veracrypt. Na wspomnianą macierz kopiuję również kopie zapasowe laptopa wykonane za pomocą borg-backup.

Na macierzy RAID0 znajdują się wszystkie dane, których utrata nie byłaby dla mnie bolesna, m.in. muzyka, którą w laptopie trzymam na karcie microSD. Nie jest to rozwiązanie idealne - awaria jednego z dysków oznaczałaby dla mnie utratę 3 TB danych… #yolo

Na telefonie cała zawartość pamięci użytkownika jest folderem Syncthing, który z kolei jest synchronizowany na domowy serwerwer jak i na laptopa, co znacznie ułatwia szybki transfer plików - i bieżącą, samoaktualizującą się kopię zapasową z wersjonowaniem. Niestety, ze względu na oszczędność miejsca wersjonowanie przeprowadzam tylko na serwerze

Do komunikacji ze znajomymi używam IRCa i XMPP.

Serwer XMPP znajduje się pod adresem vps.tyborek.pl, gdzie uruchomiony jest serwer XMPP Prosody.

Wraz z OTR lub OMEMO i forward secrecy zapewnia on satysfakcjonujący poziom bezpieczeństwa. Wspomniane przeze mnie wcześniej funkcjonalności takie jak httpupload, MAM czy carbons znakomicie poprawiają walory użytkowe, ułatwiając i uprzyjemniając komunikację. Nie tylko całkowite zastępstwo Facebookowego Messengera (który na domiar całego swojego zła, zjadał baterię telefonu jak oszalały), ale jednocześnie jest krokiem naprzód w kwestii mobilnej komunikacji.

(btw. Conversations posiada plugin, pozwalający wysłać rozmówcy naszą aktualną pozycję, lub taką którą sami wskażemy).

Z serwerami IRC połączony jestem za pomocą weechata, który łączy się również z serwerem lokalnej instancji Bitlbee, za pomocą którego mogę z tego samego okna co IRC, rozmawiać ze “znajomymi” z Facebooka. Wygodnie i czytelnie, choć to nadal Facebook.

Na serwerze kimsufi w OVH uruchomione mam:

  • serwer openVPN. Za pomocą tego protokołu tuneluję ruch z mojego laptopa i serwera domowego. Dodatkowo mogę się połączyć z tą siecią z telefonu. Ułatwia to dostęp do moich zasobów i uruchomionych usług, których jednak nie muszę/nie mogę udostępniać bezpośrednio z sieci Internet. Poprzez tunel openVPN realizowane jest również proxy kebab -> wyvern. Poprawia bezpieczeństwo, i zwiększa wygodę, nie powodując żadnych utrudnień.

  • własny serwer mail/ownCloud, używany do wysyłania/odbierania poczty, oraz synchronizowane do ownCloud lista kontaktów, kalendarz i lista zadań do wykonania. Rozwiązania te zrealizowane są w oparciu o Mail-in-a-box.

  • serwer munin, który zbiera statystyki ze wszystkich maszyn(no, poza Kindlem) i rysuje na ich podstawie wykresy.

Dell został uzbrojony dodatkowo w: * preload * prelink

zadaniem obydwu z nich jest przyspieszenie przygotowania systemu do pracy po uruchomieniu

Ponad to, co napisane wyżej wszystkie maszyny pod moją kontrolą:

  • używają dnscrypt z backendem sprawdzającym DNSSEC

  • nie posiadają SWAPu jako takiego, jednak korzystają ze zRAMu, co w niektórych sytuacjach znacznie poprawia wydajność

  • dwuskładnikowe uwierzytelnianie używając libpam-google-authenticator, z kodami generowanymi otwartą aplikacją, wspierającą wiele serwisów jednocześnie.

  • MOSH jako alias dla SSH. Od tego czasu ilość siwych włosów na mojej głowie znacznie się zmniejszyła.

Obydwie macierze w serwerze domowym, cały dysk w laptopie oraz telefon są zaszyfrowane. Do szyfrowania komputerów użyłem dm-crypt, natomiast Android szyfrowany wbudowanym kreatorem, którego bezpieczeństwo bywało wątpliwe w przeszłości.






Tyborek.pl bezpieczeństwo administracja konfiguracja szyfrowanie