# INPUT
iptables -P INPUT ACCEPT
# OUTPUT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o ppp0 -m owner --uid-owner dnl-guest -j ACCEPT
iptables -A OUTPUT -o ppp0 -m owner --uid-owner portage -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner sazarkevich -j ACCEPT
iptables -A OUTPUT -j REJECT
На вход пока что все разрешены, позже надо бы добавить что-то вроде
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
а всё остальное запретить.
На выход разрешено всем на lo.
На ppp0 разрешены для пользователей portage и dnl-guest: portage качает обновления, с платника этого делать не стоит. Под пользователем dnl-guest запускаю торрент: su dnl-guest -c "rtorrent ..."
root и sazarkevich могут лазить везде и всюду.
Остальные получают недвусмысленный отказ(REJECT).
Была сначала мысль сделать через параметр --gid-owner: создать группы inet и inet-guest. Кто в первой группе - полный доступ, кто во второй группе - только гостевой.
Но как оказалось, эта группа должна быть основной. В man-е этого почему-то не сказано и я долго пытался понять, почему для одних правил --gid-owner работает, а для других - нет. Жаль, было бы красиво.
Комментариев нет:
Отправить комментарий