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.
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 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ć
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.
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ć…