Как к автоматическому запрету IP, когда он доступ некоторые порты?

У меня есть vps, которые размещают некоторый сервис, только я использовал. Сегодня, я нашел кого-то сканирующего мой vps

netstat -ntu | awk '{print $5}' |sort | uniq -c | sort -n

И найденный некоторым результатом (я удалил свой IP снизу),

1 xxxxxxxxxxx:59564
1 xxxxxxxxxxx:59569
1 xxxxxxxxxxx:59570
1 xxxxxxxxxxx:59576
1 120.236.148.199:2226
1 127.0.0.1:41108
1 127.0.0.1:41148
1 127.0.0.1:41156
1 127.0.0.1:41158
1 127.0.0.1:41178
1 127.0.0.1:41180
1 183.61.236.54:3128
1 213.13.37.231:3128
1 218.244.149.184:8888
1 46.164.141.173:8080
1 58.96.172.205:8888
1 Address
1 servers)
2 ::1:9988
2 219.156.157.186:80
10 127.0.0.1:3306
11 127.0.0.1:3999

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

  1. Я устанавливаю прокси socks5 на 8 699, но это кажется открытым некоторый другой порт для обслуживания моего соединения:

    tcp6       0      0 default.hostname:8699   my_vps_ip_here.bro:59570 ESTABLISHED
    tcp6       0      0 default.hostname:8699   my_vps_ip_here.bro:59576 ESTABLISHED
    tcp6       0      0 default.hostname:8699   my_vps_ip_here.bro:59564 ESTABLISHED
    tcp6       0      0 default.hostname:8699   my_vps_ip_here.bro:59569 ESTABLISHED
    

    netstat -ntu | awk '{print $5}' |sort | uniq -c | sort -n не делает шоу, которые я соединяю 8699, только шоу 59570, 59576, 59564, 59569. Каково корректное правило для этого случая?

  2. Что рекомендуемый путь состоит в том, чтобы автоматически запретить IP? Я только придумываю: сохраните проверку результатом netstat -ntu | awk '{print $5}' |sort | uniq -c | sort -n каждую секунду, и добавьте плохой IP к iptables.

  3. Я знаю iptables, и ufw может запретить IP, ufw походит больше на менеджера, но является там каким-либо лучшим выбором?

0
задан 25 July 2017 в 00:21

2 ответа

проверки psad на сканирования портов и могут реагировать соответственно, проверить эту ссылку на краткое описание о том, как настроить ее. Я просто погуглил его, также существуют многочисленные другие учебные руководства. Это доступно в репозиториях человечности, посмотрите здесь.

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

0
ответ дан 2 November 2019 в 21:26

**

Какой рекомендуемый способ автоматической блокировки IP?

**

iptables и ufw могут работать лучше с небольшой автоматизацией. fail2ban делает это, и я бы порекомендовал его как хороший выбор. Проведите предварительную проверку,

  • проверьте установленные соединения судо lsof -i -n | egrep '' | grep УСТАНОВЛЕНА судо lsof -i -n | egrep '' | grep ESTABLISHED

  • проверка странных пользователей и sudo-ers

    getent group sudo | вырезать -d: -f4
    grep -Po '^sudo.+:\K.*$' /etc/group
    

Постоянные баны

С помощью небольшой настройки вы можете запретить повторные попытки и восстановить действующий запрет.

установите fail2ban,

apt install fail2ban

теперь отредактируйте файл multiport.conf в fail2ban vim или nano,

nano /etc/fail2ban/action.d/iptables-multiport.conf

добавьте эти строки к 'actionstart' (наверное, с 4-й строки)

cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
          | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done

так, чтобы он выглядел примерно так

[Definition]

# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = <iptables> -N f2b-<name>
              <iptables> -A f2b-<name> -j <returntype>
              <iptables> -I <chain> -p <protocol> -m multiport --dports <port> -j f2b-<name>
        cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
          | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done

добавьте эту строку в actionban сразу после строки actionban = ... для постоянного бана по ips

echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans

теперь перезапустите fail2ban,

sudo service fail2ban restart

и дайте 'бан'

   sudo fail2ban-client set sshd banip  112.0.0.0/8  
   sudo fail2ban-client set sshd banip  222.186.0.0/16

теперь проверьте наличие эффективных постоянных банов,

tail /var/log/fail2ban.log

вы должны увидеть что-то вроде,

NOTICE  [sshd] Restore Ban 112.0.0.0/8

так повторных атак можно избежать, и теперь вы можете использовать iptables, чтобы разрешить только свой ip

PS: поскольку fail2ban постоянно блокирует злоумышленников, вы можете просто расслабиться и убедиться, что НЕТ УСТАНОВЛЕННЫХ подключений к службам, использующим,

sudo lsof -i -n | egrep '\<ssh\>'   
sudo lsof -i -n | egrep '\<sshd\>'   

( обратите внимание, что вам нужна специальная «тюрьма» для конкретной службы) и посмотрите постоянные баны

cat /etc/fail2ban/persistent.bans

Вывод:

fail2ban-sshd 112.0.0.0/8
fail2ban-sshd 218.92.0.0/16
fail2ban-sshd 218.92.0.138

Объяснение

  1. actionstart: мы можем добавить некоторые команды действий, которые будут выполняться только во время запуска fail2ban. Итак, мы добавили /etc/fail2ban/persistent.bans во время запуска

  2. actionban: всякий раз, когда на ip накладывается бан, этот ip добавляется в файл persist.bans, который будет действовать во время фейл2бан работает. Вы можете позже отредактировать этот файл, если считаете, что IP-адрес не участвует в вредоносных атаках.

  3. вы можете вручную заблокировать рассматриваемые IP-адреса, используя

    sudo fail2ban-client set sshd banip 112.0.0.0/8
    sudo fail2ban-client установить sshd banip 222.186.0.0/16
    
1
ответ дан 2 November 2020 в 15:31

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

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