Как я могу предотвратить быть заблокированным после изменения iptables политики по умолчанию?

Я работаю над экспериментом. Когда я (клиент) ssh в шлюз и выполненный sudo iptables --policy INPUT DROPзатем шлюз не принимает communucation (или вход) от моего клиента.

running sudo iptables --policy INPUT ACCEPT на шлюзе затем клиент может записать снова.

Мой вопрос: Как я могу восстановить ситуацию от клиента?

1
задан 28 August 2016 в 14:52

3 ответа

Существует две вещи, которые необходимо сделать для хранения той системы доступной прежде, чем изменить netfilter-правила:

  1. создайте исключение в правилах брандмауэра для ssh от Вашей машины
  2. создайте гарантию

создайте исключение

создайте соответствующее правило с iptables

sudo iptables -A INPUT -p tcp --dport ssh --source-address yourextIPadd -j ACCEPT

(где yourextIPadd IP-адрес Вашей машины дома, замеченный с внешней стороны),

или использование ufw

Если у Вас Install ufwуже есть ufw, установленный, можно сказать ufw создавать исключение

sudo ufw allow from yourextIPadd to any port 22

создайте гарантию

Прежде, чем дать команду для изменения политики по умолчанию для netfilter к DROP можно сказать системе возвращаться, которые управляют, после (говорят) 5 минут с удобной командой at

sudo at -vM now +5 minutes

теперь Вы находитесь в чем-то как редактор, где можно ввести команды, которые будут выполнены позже, Вы закрываетесь/заканчиваете это путем ввода CTRLD.

Ввести

/sbin/iptables --policy INPUT ACCEPT

CTRLD

Вы будете видеть что-то как

sudo at -vM  now +1 minute
Fri Aug 29 17:46:00 2014

warning: commands will be executed using /bin/sh
at> /sbin/iptables iptables --policy INPUT ACCEPT
at> <EOT>
job 5 at Fri Aug 29 17:46:00 2014

Комментарии

  • необходимо звонить at с sudo (это должно быть root's за таблицей)
  • поэтому никакая потребность в sudo в
  • -v говорит at показать намеченное время выполнения, когда Вы закончены
  • -M говорит at не послать электронное письмо относительно успеха/отказа
  • для всесторонней справки с iptables взгляните на практическое руководство IPTables
2
ответ дан 7 December 2019 в 12:49

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

BTW, все протоколы я знаю как ssh, vnc, rdp и так далее, использую IP.

1
ответ дан 7 December 2019 в 12:49

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

ради примера следующее является средством для обеспечения, Вы не блокируете СЕБЯ из своего редактирования localhost. Ваш дюйм/с к комплекту Ваша топология сети. Я не знаю то, что другие используют для их диапазона IP. мое Предложение или совет с точки зрения безопасности при установке локальной сети (домой, но также и бизнес и т.д.) не используют 192.168.0.1 и вместо этого используют 10.0.0.0... Почему? простой. Что-либо, что не является ЗНАЧЕНИЕМ ПО УМОЛЧАНИЮ сразу, увеличивает Вашу безопасность, даже если на крошечный бит. После того как взломщик входит, они находятся в значительной степени в. и ее единственное вопрос времени, прежде чем они выяснят Вашу сетевую схему.

Hope это помогает.

эта установка также сохраняются после перезагрузки Вашей машины. пока Вы удостоверяетесь для выполнения netfilter-персистентного сохранения.

    # Set default policies for all three default chains
    $ sudo iptables -P INPUT DROP
    $ sudo iptables -P FORWARD DROP
    $ sudo iptables-P OUTPUT ACCEPT

    # Enable free use of loopback interfaces
    $ sudo iptables -A INPUT -i lo -j ACCEPT
    $ sudo iptables -A OUTPUT -o lo -j ACCEPT

    #Dont lock yourself out
    $ sudo iptables -I INPUT 1 -i eth0 -p tcp --syn -m state --state NEW -s 192.168.0.1 -d 192.168.0.2 -j ACCEPT
    $ sudo iptables  -I OUTPUT 1 -o eth0 -p tcp --syn -m state --state NEW -s 192.168.0.1 -d 192.168.0.2 -j ACCEPT

    # Allow your local subnet
    $ sudo iptables  -A INPUT -p tcp ! --syn -m state --state NEW -s 192.168.0.1/24 -j DROP

    # Accept inbound TCP packets
    $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $ sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -s 192.168.0.1/24 -j ACCEPT

    # Accept inbound ICMP messages
    $ sudo iptables -A INPUT -p ICMP --icmp-type 8 -s 192.168.0.1/24 -j ACCEPT
    $ sudo iptables -A INPUT -p ICMP --icmp-type 11 -s 192.168.0.1/24 -j ACCEPT

    # Accept outbound packets
    $ sudo iptables -I OUTPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    $ sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

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

    $ sudo iptables-save >> iptables-rules-ipv4.sh
    $ sudo netfilter-persistent save
0
ответ дан 7 December 2019 в 12:49

Другие вопросы по тегам:

Похожие вопросы: