Jak zablokować internet/aplikacje per User

Witam, na tym etapie nie będę wchodził w szczegóły ale proszę sobie wyobrazić serwer do którego lokalnie łączą się użytkownicy, część z nich powinna mieć ograniczenie uruchamiania konkretnych aplikacji oraz wyjście do internetu - np. praca lokalna tylko na plikach i openoffice. Oczywiście nie ważne jaka dystrybucja linuxa, natomiast ważne jest, że są sytuacje gdy w tym samym czasie na serwerze jest zalogowany user z uprawnieniami na przeglądanie internetu oraz user bez takich praw, dodam że nie mogę zablokować konquerora bo czymś muszą przeglądać pliki pod KDE3 .

Kiedyś w iptables miałem zapis o blokowaniu portów per user ale po aktualizacji kernela i iptables ten wpis przestał działać, postaram się go odszukać ale to pewnie wyjdzie w dyskusji.

Dziękuję za pomoc zawczasu :slight_smile: Pozdrawiam

Przy pomocy IPTables możesz blokować wyjście na świat poprzez MAC adresy. Natomiast każdy inny serwer czy to Apache (www) czy FTP bądź Samba też pozwala na ustalanie ograniczeń użytkownikom na dostęp, np. poprzez blokowanie bądź zezwalanie na dostęp na podstawie adresów IP :wink: Oprócz tego dostęp do plików i prawa ustalisz przy pomocy takich narzędzi jak chmod czy chown. Uruchamianie aplikacji, np. z uprawnieniami administracyjnymi ustalisz wykorzystując narzędzie o nazwie sudo. Natomiast jeśli użytkownik nie może uruchamiać jakiegokolwiek programu to też można mu takie prawo odebrać :wink:

Pozdrawiam!

W niektórych systemach wystarczy utworzyć grupę, a odpowiednie pseudourządzenia przypisać tylko im. Wtedy program uruchomiony przez użytkownika nie należącego do tej grupy nie będzie móc komunikować się z internetem. W Linuksie jednak to chyba trochę inaczej wygląda/jest zrobione.

Kilka szczegółów:

Aby zablokować aplikacje zmieniłem prawa pliku np. /usr/bin/firefox z 755 na 754, oraz wlasność z root:root na root:internet gdzie w grupie internet są tylko wybrani userzy

Nie mogę blokować po mac-u bo z tej samej marzyny w tym samym czasie korzystają użytkownicy z prawami i bez praw, serwer nie jest routerem, pracuje w roli linuxowego serwera terminali !!

Kiedyś blokowałem przy pomocy iptables

iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner baneduser -j DROP

iptables -I FORWARD -i ${LAN} -d ${LAN_IP} -j DROP

iptables -A FORWARD -i ${LAN} -s ${LAN_IP} -j ACCEPT

iptables -A FORWARD -i ${WAN} -d ${LAN_IP} -j ACCEPT

iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

ale zmieniła się nieco struktura sieci i aktualizacje kernela i tablicy - przestalo działać…

Czy ma ktoś jakieś pomysły

co do blokowania określonych użytkowników/grup/programów- zainteresuj się SELinuksem oraz PAMem