Ответы пользователя по тегу Linux
  • Что запускается первым?

    В теории действительно могут пробежать форвард-пакеты до включения iptables, это такой короткий промежуток времени, за который вряд ли можно успеть что-то сделать, т.е. некритично.

    Но можно усугубить: если вы используйте conntrack в FORWARD вместе с правилом

    iptables -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

    то потенциально возможен случай, когда соединение установится до загрузки iptables, а позже, когда iptables загрузит правила, соединение пойдет по этому правилу. Но ведь это редкость, когда кто-то использует conntrack в FORWARD, да еще и с пропуском всех установленных/связанных соединений. Обычно такое актуально для INPUT у серверов, но уж точно никак для FORWARD.

    Так вот, если у вас все правильно, вы не используйте conntrack с этой конструкцией для FORWARD, по умолчанию политика для FORWARD является DROP, и вы там строго контролируете, что куда в какие стороны по сетям, то нет повода для паники. Все равно все неправомерные соединения дропнутся после инициализации iptables, а время до загрузки iptables вряд ли критично, хотя лучше грузить его пораньше, конечно. Причем это некритично для systemd, например, ибо он параллельный и асинхронный (или для многих других init-систем).

    Других случаев я не придумал.

    В качестве вывода: опуская паранойю и ESTABLISHED/RELATED ACCEPT в FORWARD, атака нереальна.
    Ответ написан
    Комментировать
  • Как пустить разные тип трафика по разным провайдерам?

    Правила выглядит правильно... Но такое поведение очень похоже на rp_filter.

    Попробуйте его отключить:
    sysctl net.ipv4.conf.default.rp_filter=0
    sysctl net.ipv4.conf.all.rp_filter=0

    UPD
    Немного погрузился в эту ситуацию, тут есть фича. Если убрать SNAT, но при этом сделать ping 8.8.8.8 -I eth1, то при включенном rp_filter оно работает. Дело в том, что в таблицах роутинга у вас исходящий адрес для 8.8.8.8 из другой сети/интерфейса (т.к. есть дефолтовый или иной подходящий для 8.8.8.8 маршрут), поэтому любая программа (сокет), будь то ping или браузер, выберет дефолтовый нужный исходящий адрес по таблицам роутинга (но не по меткам там). А когда iptables маркирует, и пакет попадает в другой шлюз/интерфейс согласно метке, срабатывает rp_filter, ведь адрес источника не принадлежит сети на исходящем интерфейсе. Поэтому, если задача направить конкретные адреса в конкретный шлюз, то лучше создать много правил ip rule и не маркировать трафик, избавиться от SNAT. Если так нельзя, то да, отключать rp_filter.
    Ответ написан
  • В чем преимущества Ubuntu LTS(Long Time Support)?

    Основное преимущество в том, что ее можно долго не трогать и не обновляться до нового релиза: она поддерживается, обновления безопасности идут, какие-то пакеты тоже обновляются. Отлично для серверов и для ноутбуков родителей. В целом пакеты там старее, чем в не LTS, и ждать только что вышедшую версию не стоит. Если волнует вопрос свежести пакетов, то LTS будет минусом, однажды точно помучаетесь с подключением реп.

    Если хотите самые новые пакеты и постоянно обновляться, то вам нужен rolling release дистрибутив типа Arch, других вариантов нет просто архитектурно, там всегда будут более новые пакеты, их будет проще достать.
    Ответ написан
  • Как дать определенному пользователю права на запись и чтение определенной папки?

    Боюсь, вопрос ваш таит больше, чем вы хотите услышать.

    По умолчанию в Linux система доступа - это DAC. https://ru.wikipedia.org/wiki/%C8%E7%E1%E8%F0%E0%F...

    В вашем случае нужно дать права на эту папку этому пользователю: chown user:group /usr1.
    И назначить возможность ее изменять/читать: chmod 700 /usr1

    В таком случае группа не сможет читать/писать туда, как и все остальные, но пользователь сможет. Однако данный пользователь сможет получить доступ к любым другим ресурсам, если там стоят соответствующие права.

    В вашем же случае, обращая внимание на постановку вопроса и на название директории (usr1), скорее всего, вы хотите сделать что-то странное и не тем инструментом. Возможно, стоит почитать про SELinux, возможно, вам поможет chroot (небезопасен в определенных случаях), возможно, нужно посмотреть в сторону cgroups/LXC или виртуализации.

    Напишите, что хотите сделать. :)
    Ответ написан
    5 комментариев