Udevil i montowanie zasobów bez uprawnień root

Linux jest bezpiecznym środowiskiem operacyjnym ale to nie ze względu na to, że jego kod jest jakoś mniej podatny na błędy czy coś w tym stylu, tylko przez restrykcyjną politykę dostępu do szeregu miejsc w systemie. Jednym z nich są wszelkie urządzenia, w skład których wchodzą również i dyski twarde, pendrive czy napędy cd/dvd. Oczywiście tych urządzeń może być o wile więcej ale my w tym wpisie omówimy sobie dostęp tylko do tych trzech wymienionych wyżej. Standardowo zwykły użytkownik w systemie nie ma możliwości przeprowadzenia szeregu czynności pod kątem większości z tych urządzeń i wliczyć w to można, np. montowanie zasobów. Tego typu operacje może przeprowadzać jedynie administrator. Ma to na celu ochronę bezpieczeństwa systemu. Jeśli chodzi o nośniki wymienne takie jak płytki cd/dvd czy pendrive, to na nich może znajdować się podejrzane oprogramowanie i po zamontowaniu takiego nośnika w systemie, wirusy, trojany czy keyloggery mogą się wgrać do systemu zagrażając tym samym prywatności wszystkich użytkowników.

Autostart i automatyczne montowanie nośników

Menadżery plików potrafią automatycznie montować nośniki wymienne w oparciu o pakiet udisks2. Potrafią także uruchamiać odpowiednie aplikacje zlokalizowane na tych urządzeniach. Może to prowadzić do oczywistych zagrożeń i jeśli nasz system ma być bezpieczny, to musimy wyłączyć obie te opcje. W różnych menadżerach plików, ten proces przebiega inaczej. Ja korzystam ze spacefm i w jego przypadku mamy dość rozbudowany mechanizm polityki dotyczącej tych dwóch powyższych kwestii. Niemniej jednak, w przypadku każdego z menadżera plików, proces postępowania powinien przebiegać mniej więcej w ten sam sposób.

Dzielenie pliku i łączenie jego części w całość

Obecnie technika podziału jednego pliku na szereg mniejszych nie jest już tak szeroko stosowana jak parę lat temu gdy internet dopiero zaczynał pojawiać się w naszych domach. Głównym powodem jest postęp technologii i dziś już mało kto posiada łącza 128Kbit/s, wobec czego przesłanie pliku, który waży nawet kilka GiB nie jest niczym niezwykłym i nie ma potrzeby go dzielić na części. Niemniej jednak, z jakichś powodów ludzie chcą mieć taką możliwość i zastanawiają się jak podzielić plik na kilka części na jednej maszynie i połączyć je na innym komputerze.

Przestrzeń wymiany SWAP jako plik

Każdy system operacyjny musi być przygotowany na ewentualność wyczerpania się pamięci operacyjnej RAM. W przypadku gdyby nie był, groziłoby mu powieszenie się. Są różne metody ochrony maszyn z linuxami na pokładzie przed tego typu sytuacją. Jedne z nich zakładają wykorzystanie wbudowanych w kernel mechanizmów takich jak choćby oom-killer, który ma za zadanie zabijać te najbardziej żarłoczne procesy. Są również bardziej łagodne sposoby na uchronienie komputera przed zbyt szybkim wyczerpaniem się pamięci i w tym wpisie omówimy sobie przestrzeń wymiany SWAP.

Etykieta systemu plików i jej dostosowanie

W poprzednim wpisie dostosowywaliśmy zarezerwowane miejsce na określonych partycjach dla systemowych procesów. Okazuje się także, że zmiana etykiety systemu plików może przysporzyć wiele problemów początkującym użytkownikom linuxa. Choć jeśli chodzi akurat o nadawanie czy zmianę etykiet, to tutaj już mamy możliwość przeprowadzenia tej operacji z poziomu narzędzi GUI, takich jak gparted , z tym, że niektóre jego komunikaty mogą nieco odstraszać.

DNScrypt-proxy, czyli szyfrowanie zapytań DNS

Do protokołów SSL/TLS w serwisach www chyba wszyscy już przywykli. Obecnie praktycznie na każdej stronie, gdzie jest okienko logowania, mamy do czynienia z szyfrowaniem danych przesyłanych w różnego rodzaju formularzach. Co prawda, klucze nie są zbyt długie (512-2048 bitów) ale zawsze to lepsze niż nic. O ile dane służące do logowania czy też wszelkie operacje dokonywane w panelach administracyjnych da radę ukryć bez większego problemu, o tyle zapytania DNS są przesyłane otwartym tekstem i każdy może je sobie podejrzeć. Pytanie tylko, po co szyfrować ruch DNS? Czy są tam przesyłane jakieś ważne informacje? Jeśli przyjrzymy się jak działa system DNS, możemy dojść do wniosku, że szyfrowanie zapytań jest pozbawione sensu, bo z reguły nazwa domeny oznacza konkretny adres IP. Znając adres IP, możemy ustalić kto na jakie strony wchodzi. Nie do końca jest to prawdą, poza tym istnieją jeszcze inne czynniki, które sprawiają, że ukrycie zapytań DNS ma jak najbardziej sens. W tym wpisie zaimplementujemy sobie na naszych linux'ach szyfrowanie zapytań DNS przy wykorzystaniu narzędzia dnscrypt-proxy.

Zarezerwowane miejsce w systemie plików ext4

Zwykle nie zwracamy uwagi na to jak formatujemy partycje w systemie linux i akceptujemy domyślne ustawienia jakie przyjęli sobie deweloperzy danej dystrybucji. Nie ma tutaj znaczenia czy instalujemy świeży system za pośrednictwem instalatora i przy jego pomocy kroimy dysk, czy też tworzymy partycje indywidualnie już z poziomu jakiegoś zainstalowanego systemu, bądź też płytki czy pendrive live. Domyślne ustawienia mają spełniać oczekiwania jak największej liczby odbiorców i nie zawsze nam one odpowiadają. W przypadku formatowania dysku, problematyczne może być rezerwowanie miejsca dla procesów użytkownika root.

Automatyczne wylogowanie użytkownika z konsoli

Każdemu z nas zdarzyło się zostawić włączoną konsolę, na której byliśmy zalogowani jako administrator systemu root. Być może nie zdajemy sobie sprawy jak często potrafimy popełnić tego typu gafę. Jedną z metod obrony jest oczywiście wyłączenie konta root w systemie i korzystanie z sudo. Ja jednak wolę inne rozwiązanie, które zakłada ograniczenie czasu bezczynności, po którym to użytkownik zostanie automatycznie wylogowany.

Sprawdzanie błędów systemu plików ext4

Systemy plików stosuje się dla różnych nośników danych, takich jak dyski twarde, czy pendrive albo nawet płyty cd/dvd. Z formalnego punktu widzenia, system plików jest to metoda przechowywania danych i uzyskiwania do nich dostępu. Bez tego mechanizmu, informacje umieszczone na nośniku przypominały by jedynie ciąg bitów i nie wiedzielibyśmy gdzie zaczyna się jakiś plik i gdzie się on kończy. Czasami jednak zdarzają się błędy w systemie plików, które mogą doprowadzić do poważnych awarii systemu operacyjnego. Dlatego też linux co kilkanaście lub kilkadziesiąt uruchomień sprawdza stan systemu plików na każdej partycji i naprawia ewentualne błędy. W przypadku gdyby nie były one naprawiane, mogą pojawić się nowe błędy doprowadzając tym samym do całkowitej zapaści systemu.

Reinstalacja bootloadera grub

Domyślnym bootloaderem w systemie linux jest grub i jako że to oprogramowanie jest ładowane do pamięci jako pierwsze, ma ono kluczowe zadanie w procesie startu systemu operacyjnego. Przy jego pomocy możemy także przekazać szereg parametrów dla modułów kernela, tym samym odpowiednio go konfigurując. Czasem z pewnych przyczyn, najczęściej gdy inny system nadpisze MBR, system operacyjny nie chce się podnieść i musimy przeinstalować bootloader, zakładając, że problem tkwi w nim.