:: список драгоценных камней -remote:: конфигурация iptables

После того, как я заблокировал свой VPS-сервер с помощью iptables, что означает, что у меня открыто только несколько выбранных портов для доступа к входу, моя команда Gem перестала работать, и я не уверен, что делаю неправильно.

Это двойной вопрос.

Первый. Это команда, запускаемая в командной строке для Gem.

gem list -r

Раньше он отображал список удаленных гемов, доступных для установки, теперь он останавливается, если я снова не открою все порты через iptables. Я читал в нескольких местах, чтобы открыть порт 443, но примеры, которые я видел, были для меня совершенно чужды, и то, что я пытался извлечь из них, не сработало. Так у кого-нибудь есть идеи? Вот вывод моих настроек iptables.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      193 14308 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
2        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
3        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:81
4        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:82
5        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
6        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8090
7        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
8       28  2214 LOGGING    all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 154 packets, 16540 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain LOGGING (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1       28  2214 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "IPTables Dropped"
2       28  2214 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Вторая часть моего вопроса, в отсутствие документации, как я могу определить, к каким IP-адресам и портам обращается программа, такая как gem в этом случае? Я надеюсь, что есть какая-то программа, которую я мог бы набрать подобной командой, как показано ниже:

sandbox-wrap 'gem list -r'

И смотрите информацию о доступе в интернет на экране.


Спасибо Iain за ответ на вопрос. Для остальных из вас есть копия нового iptables с исправлением. Я добавил новую строку в позицию № 1 таблицы фильтров, цепочку INPUT.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        7   488 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
2      700 50592 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
3        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
4        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:81
5        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:82
6        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
7        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8090
8        1    40 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
9       83  6958 LOGGING    all  --  *      *       0.0.0.0/0            0.0.0.0/0           

1 ответ

Решение

В соответствии с настройкой, я думаю, что ваша главная проблема - это DROP в конце цепочки LOGGING. Он отбрасывает все пакеты, которые достигают его. Команда gem будет использовать случайный эфемерный порт для подключения к удаленной системе. Пакеты будут возвращены на него, и поскольку вы не разрешаете пакеты только для явных портов в вашей цепочке INPUT, вы блокируете их с помощью DROP.

Это нормально, чтобы разрешить связанные / установленные соединения, добавив это в начале цепочки INPUT

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Это позволит пакетам, которые связаны с исходящим соединением gem.

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