HaPe 242 Zgłoś post Napisano Lipiec 8, 2014 (edytowany) Witam, orientujecie się czy w Linuxie istnieje odpowiednik mac_portacl znanego z FreeBSD? Edytowano Lipiec 8, 2014 przez HaPe (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bryn1u 17 Zgłoś post Napisano Lipiec 9, 2014 A nie polaczysz --uid-owner z opcjami z Grsecurity typu: GRKERNSEC_SOCKET, GRKERNSEC_SOCKET_ALL, GRKERNSEC_SOCKET_ALL_GID, GRKERNSEC_SOCKET_CLIENT, GRKERNSEC_SOCKET_CLIENT_GID, GRKERNSEC_SOCKET_SERVER, GRKERNSEC_SOCKET_SERVER_GID nigdy sie tym nie bawilem docelowo. Tutaj masz sznurek moze ci sie przyda: http://en.wikibooks.org/wiki/Grsecurity/Print_version#Socket_restrictions Udostępnij ten post Link to postu Udostępnij na innych stronach
HaPe 242 Zgłoś post Napisano Lipiec 9, 2014 (edytowany) Nie ma, jest tylko --uid-owner w iptables. To wiem, tyle że jak ktoś uruchomi jakąś apkę na danym porcie to i tak zablokuje socket. A nie polaczysz --uid-owner z opcjami z Grsecurity typu: GRKERNSEC_SOCKET, GRKERNSEC_SOCKET_ALL, GRKERNSEC_SOCKET_ALL_GID, GRKERNSEC_SOCKET_CLIENT, GRKERNSEC_SOCKET_CLIENT_GID, GRKERNSEC_SOCKET_SERVER, GRKERNSEC_SOCKET_SERVER_GID nigdy sie tym nie bawilem docelowo. Tutaj masz sznurek moze ci sie przyda: http://en.wikibooks.org/wiki/Grsecurity/Print_version#Socket_restrictions W to wątpię, ponieważ ww. opcja jest stricte z nftables, raczej nie przejdzie to. Z grsec jest tak, że ma tylko opcje blokady, ale ogólnie bindowania portów pod klienta albo serwer, konkretnych mu nie wskażę. Szukałem czegoś w dokumentacji tomoyo, ale tam nic odnośnie portów nie widzę. Edytowano Lipiec 9, 2014 przez HaPe (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bryn1u 17 Zgłoś post Napisano Lipiec 9, 2014 Moze latwiej bedzie jak napiszesz co chcesz uzyskac Udostępnij ten post Link to postu Udostępnij na innych stronach
HaPe 242 Zgłoś post Napisano Lipiec 9, 2014 Chcę pewnemu użytkownikowi dać dostęp do pewnego portu TCP, tak aby nawet jak wyłączy aplikację, to nikt nie był wstanie zająć mu tego portu. Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Lipiec 9, 2014 (edytowany) Możesz sobie zrobić BAARDZO uproszczony "holder" w postaci skryptu w pythonie/perlu, który trzyma konkretny port oraz skryptu bashowego typu "autostart" po stronie klienta. Po stronie serwera: #!/bin/bashset -e nasluchuj() { while :; do inotifywait -qqe create /tmp/klient find /tmp/klient -type f | while read ARG; do case "$(basename "$ARG")" in start) kill $PID ;; stop) python jakisholder.py &; PID=$! ;; finish) kill 0 ;; esac rm -f "$ARG" done done } mkdir -p /tmp/klient chown klient.klient /tmp/klient nasluchuj & touch /tmp/klient/stop wait exit 0 Po stronie klienta: #!/bin/bashset -e case "$1" in start) touch /tmp/klient/start; sleep 1; ./jakisserwer ;; stop) kill "$(pidof jakisserwer)"; touch /tmp/klient/stop ;; esac Główny serwerowy proces odpalasz via setsid bo ma kill 0. A jakbyś chciał go wyłączyć robisz touch /tmp/klient/finish. Rozwiązanie strasznie naokoło, ale będzie działało. Edytowano Lipiec 9, 2014 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
HaPe 242 Zgłoś post Napisano Lipiec 9, 2014 Dziękuję za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach