Как я могу отменить все текущие сообщения с определенного IP в Ubuntu 12.04?

Я работаю над брандмауэром Ubuntu 12.04. Я хочу запретить любой IP во время выполнения. Я использую "UFW отказ от IP". Это работает для будущих соединений. Но это не отменяет существующие соединения, такие как ssh.

Как я могу отменить все текущие сообщения с определенного IP?

С уважением,

2
задан 28 March 2013 в 17:49

2 ответа

Я не уверен, но вы можете попробовать с iptables:

sudo iptables -A INPUT -p tcp --dport 22 --source 192.168.1.1 -j REJECT

Или, если вы хотите быть педантичным

sudo iptables -A INPUT -p tcp --dport 22 --source 192.168.1.1 REJECT --reject-with icmp-host-prohibited

Проверьте этот урок: https://help.ubuntu.com/community/IptablesHowTo

Надеюсь, это поможет.

0
ответ дан 28 March 2013 в 17:49

Лучший вариант, который я нашел, это использовать tcpkill. Когда я установил его, он был частью пакета dsniff, поэтому мне пришлось сначала его установить. Затем вы должны использовать его следующим образом:

$ sudo tcpkill ip host 20.129.11.86 and port 22
tcpkill: listening on eth0 [ip host 20.129.11.86 and port 22]
10.206.22.202:42532 > 20.129.11.86:22: R 1785992582:1785992582(0) win 0
10.206.22.202:42532 > 20.129.11.86:22: R 1785992732:1785992732(0) win 0
10.206.22.202:42532 > 20.129.11.86:22: R 1785993032:1785993032(0) win 0
20.129.11.86:22 > 10.206.22.202:42532: R 4065251855:4065251855(0) win 0
20.129.11.86:22 > 10.206.22.202:42532: R 4065301087:4065301087(0) win 0
20.129.11.86:22 > 10.206.22.202:42532: R 4065399551:4065399551(0) win 0

Как только tcpkill обнаружит соответствующий трафик, он прервет соединение.

Чтобы увидеть, где еще IP-адрес поражает вашу систему, вы можете использовать netstat -aunt и grep для IP-адреса. Например,

$ netstat -aunt | egrep 115.125.
tcp        0      0 10.20.22.25:56156     115.125.225.67:80        ESTABLISHED
tcp        0      0 10.20.22.25:42360     115.125.225.1:80         ESTABLISHED
tcp        0      0 10.20.22.25:35210     115.125.225.64:80        ESTABLISHED

При необходимости создайте дополнительные правила UFW.

Можно ли перезапустить ssh?

Вы можете использовать sudo /etc/init.d/sshd stop, затем sudo /etc/init.d/sshd start или использовать сервисный механизм:

$ sudo service ssh stop
ssh stop/waiting
$ sudo service ssh start
ssh start/running, process 4427

Вы можете временно удалить интерфейс, если это опция.

Есть приложение под названием «резак», которое должно работать, принимая IP-адрес и порт в качестве аргументов. Однако я не смог заставить пакет установить правильно из

$ sudo apt-get install cutter

Предполагалось, что он будет работать примерно так (предполагается, что стандартный порт 22 для ssh):

[ 1121] $ cutter 10.10.10.10 22

Вы также можете проверить что-то вроде пакета denyhosts.

0
ответ дан 28 March 2013 в 17:49

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

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