Życie z technologią - bezpiecznie, wygodnie - czy to możliwe?
Technologia jest nieodłą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 technologii 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:
** preload
** prelink
** powerpill
** dnscrypt
-
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. Wtyczki:
** HTTPS-everywhere
** KeeFox
** NoScript
** Pushbullet
** uBlock
-
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?
-
laptop:
1.1 wygodna, niewyspowa klawiatura(nie toleruję ich)
1.2 matryca 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?
- optymalny do mojej ręki rozmiar
- wystarczająca moc obliczeniowa
- oficjalne 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.
Szczególnie:
-
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.
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 sprzętowa:
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?
1. Bezpieczeństwo
Syncthing zainstalowane na laptopie, telefonie i serwerze umożliwia bezpieczną i szyfrowaną TLS synchronizację plików:
Życie z technologią - bezpiecznie, wygodnie ? Jak więc ja to robię?
z laptopa na RAID1 w serwerze synchronizuję folder Dropboxa, 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, telefonu, serwerów wykonane za pomocą borg-backup.
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
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
Obydwie macierze, telefon, dysk(i) w laptopie zostały zaszyfrowane. Do szyfrowania dysków pracujących pod kontrolą linuksa użyłem dm-crypt, zaś telefon wbydowanym kreatorem.
Serwery zdalne są dodatkowo zabezpieczone dwuskładnikowym uwierzytelnianiem używając libpam-google-authenticator, z kodami generowanymi otwartą aplikacją, wspierającą wiele serwisów jednocześnie.
Wszystkie urządzenia pod moją kontrolą korzystają z dnscrypt z backendem sprawdzającym DNSSEC, oraz dnsmasq w roli serwera keszującego.
2. Komunikacja
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.
- serwer munin, który zbiera statystyki ze wszystkich maszyn(no, poza Kindlem) i rysuje na ich podstawie wykresy.
3. Misc
Ponad to, co napisane wyżej wszystkie maszyny pod moją kontrolą:
-
nie posiadają SWAPu jako takiego, jednak korzystają ze zRAMu, co w niektórych sytuacjach znacznie poprawia wydajność
-
MOSH jako alias dla SSH. Od tego czasu ilość siwych włosów na mojej głowie znacznie się zmniejszyła.