Мой сервер ubuntu замедляет выход в Интернет соединение при запуске

У меня есть сервер Ubuntu 16.04, на котором работает LAMP с phpmyadmin. У меня установлен git и crontab для автоматического резервного копирования в облако. Моя проблема в том, что когда сервер работает, я не могу использовать Интернет на любом другом устройстве. У меня есть Dell Optiplex GX620. Любая помощь будет оценена. Я запустил iftop и обнаружил, что следующие IP-адреса резко увеличивают трафик передачи:

  • 116.211.144.72
  • 183.60.203.94
  • 61.164.158.91
  • 119.167.139. 11
  • 122.228.29.172
  • 219.128.79.112
  • 122.228.29.40
  • 219.128.79.112
  • 103.5.58.234
  • 183.131.212.73
  • 183.60.133.135
  • 183.131.49.38
  • 59.56.66.32
  • 211.99.224.235

Кажется, я получаю новый IP-адрес каждую минуту. Те, что я проверил, из Китая, но я нахожусь в США. Единственный трафик, о котором я могу думать, это Codeanywhere, github / git и No-ip. Есть ли способ заблокировать трафик из Китая? У меня 100 мбит / с вниз и вверх, так как я использую оптоволоконное соединение. Как вы думаете, это одна из перечисленных мною служб?

РЕДАКТИРОВАТЬ:

root@buntubox-1:~# netstat -nputwa
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      972/mysqld      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      896/sshd        
tcp        0      1 192.168.1.99:52398      198.204.254.253:8623    SYN_SENT    1207/sshd       
tcp        0    296 192.168.1.99:22         192.168.1.50:55597      ESTABLISHED 14947/0         
tcp        0      0 192.168.1.99:47616      164.132.4.3:6000        ESTABLISHED 928/bash        
tcp6       0      0 :::80                   :::*                    LISTEN      1198/apache2    
tcp6       0      0 :::22                   :::*                    LISTEN      896/sshd        

...

root@buntubox-1:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

ОБНОВЛЕНИЕ:

Я переустановил ОС. Это нормально?

root@buntubox-001:~# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
f2b-sshd   tcp  --  anywhere             anywhere             multiport dports ssh
ufw-before-logging-input  all  --  anywhere             anywhere            
ufw-before-input  all  --  anywhere             anywhere            
ufw-after-input  all  --  anywhere             anywhere            
ufw-after-logging-input  all  --  anywhere             anywhere            
ufw-reject-input  all  --  anywhere             anywhere            
ufw-track-input  all  --  anywhere             anywhere            

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ufw-before-logging-forward  all  --  anywhere             anywhere            
ufw-before-forward  all  --  anywhere             anywhere            
ufw-after-forward  all  --  anywhere             anywhere            
ufw-after-logging-forward  all  --  anywhere             anywhere            
ufw-reject-forward  all  --  anywhere             anywhere            
ufw-track-forward  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ufw-before-logging-output  all  --  anywhere             anywhere            
ufw-before-output  all  --  anywhere             anywhere            
ufw-after-output  all  --  anywhere             anywhere            
ufw-after-logging-output  all  --  anywhere             anywhere            
ufw-reject-output  all  --  anywhere             anywhere            
ufw-track-output  all  --  anywhere             anywhere            

Chain f2b-sshd (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            

Chain ufw-after-forward (1 references)
target     prot opt source               destination         

Chain ufw-after-input (1 references)
target     prot opt source               destination         
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-ns
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ufw-skip-to-policy-input  tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootps
ufw-skip-to-policy-input  udp  --  anywhere             anywhere             udp dpt:bootpc
ufw-skip-to-policy-input  all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST

Chain ufw-after-logging-forward (1 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-input (1 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-output (1 references)
target     prot opt source               destination         

Chain ufw-after-output (1 references)
target     prot opt source               destination         

Chain ufw-before-forward (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ufw-user-forward  all  --  anywhere             anywhere            

Chain ufw-before-input (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-logging-deny  all  --  anywhere             anywhere             ctstate INVALID
DROP       all  --  anywhere             anywhere             ctstate INVALID
ACCEPT     icmp --  anywhere             anywhere             icmp destination-unreachable
ACCEPT     icmp --  anywhere             anywhere             icmp source-quench
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
ACCEPT     icmp --  anywhere             anywhere             icmp parameter-problem
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
ufw-not-local  all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns
ACCEPT     udp  --  anywhere             239.255.255.250      udp dpt:1900
ufw-user-input  all  --  anywhere             anywhere            

Chain ufw-before-logging-forward (1 references)
target     prot opt source               destination         

Chain ufw-before-logging-input (1 references)
target     prot opt source               destination         

Chain ufw-before-logging-output (1 references)
target     prot opt source               destination         

Chain ufw-before-output (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ufw-user-output  all  --  anywhere             anywhere            

Chain ufw-logging-allow (0 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "

Chain ufw-logging-deny (2 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere             ctstate INVALID limit: avg 3/min burst 10
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-not-local (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type MULTICAST
RETURN     all  --  anywhere             anywhere             ADDRTYPE match dst-type BROADCAST
ufw-logging-deny  all  --  anywhere             anywhere             limit: avg 3/min burst 10
DROP       all  --  anywhere             anywhere            

Chain ufw-reject-forward (1 references)
target     prot opt source               destination         

Chain ufw-reject-input (1 references)
target     prot opt source               destination         

Chain ufw-reject-output (1 references)
target     prot opt source               destination         

Chain ufw-skip-to-policy-forward (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            

Chain ufw-skip-to-policy-input (7 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            

Chain ufw-skip-to-policy-output (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

Chain ufw-track-forward (1 references)
target     prot opt source               destination         

Chain ufw-track-input (1 references)
target     prot opt source               destination         

Chain ufw-track-output (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             ctstate NEW

Chain ufw-user-forward (1 references)
target     prot opt source               destination         

Chain ufw-user-input (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     udp  --  anywhere             anywhere             udp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http /* 'dapp_Apache' */

Chain ufw-user-limit (0 references)
target     prot opt source               destination         
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

Chain ufw-user-logging-forward (0 references)
target     prot opt source               destination         

Chain ufw-user-logging-input (0 references)
target     prot opt source               destination         

Chain ufw-user-logging-output (0 references)
target     prot opt source               destination         

Chain ufw-user-output (1 references)
target     prot opt source               destination  
2
задан 20 June 2017 в 21:12
2 ответа

ИЗМЕНИТЬ

Теперь, когда вы переустановили и приобрели брандмауэр, я предлагаю вам рассмотреть следующее:

  • Вы когда-нибудь обращались к серверу из-за пределов сети, в которой он размещен? В противном случае: не перенаправляйте никакие порты с вашего маршрутизатора на сервер - он не должен принимать входящие соединения из Интернета.
  • Рассмотрите установку ClamAV и настройте его для работы ночью.
  • ] Установите RKHunter и настройте его для работы ночью.
  • Рассмотрите возможность установки ChRootKit и запускайте его каждую ночь.
  • Установите fail2ban для отслеживания попыток SSH, его также можно использовать для смягчения атак методом грубой силы MySQL / PHPMyAdmin и Apache -вы можете игнорировать основной раздел этой статьи о брандмауэре, так как он у вас уже отсортирован.
  • Рассмотрите возможность установки LogWatch и ежедневно просматривайте журналы.
  • Установите OSSEC-HIDS - это, а также fail2ban и RKHunter - основные из них, которые я бы порекомендовал. Ossec обнаруживает вторжения, обнаруживает изменения файлов, он предназначен для того, чтобы сообщать вам, когда и как вас взломали.
  • Установите и запустите Lynsis Audit , это предложит способы повышения безопасности, если вы: вы действительно параноик, проработайте их и отметьте как можно больше.
  • Запретить вход в систему root через SSH и использовать аутентификацию с ключом .

Надеюсь, это поможет, вы можете еще больше делай, всегда есть, и никогда нельзя быть в полной безопасности, все дело в том, чтобы усложнить задачу, а затем уменьшить ущерб. Резервное копирование, копирование жизненно важных журналов на другие серверы, не раскрывать порты, которые вам не нужны, изменять демаскировку по умолчанию ... список можно продолжить, но если вы просто играете, приведенного выше должно быть более чем достаточно . Если вы хотите большего, Google - ваш друг, это хороший стартер . Как это . И это .

Исходный ответ:

В идеале вы хотите знать, к какому процессу подключено соединение, netstat может вам это сказать.

netstat -nputwa

Это будет выводить каждое соединение, TCP / UDP, in / out, и покажет вам ответственный IP и процесс, к которому он прикреплен. Если вы определили, что IP-адрес подключается к процессу, которого не должно быть / не должно быть, просто заблокируйте его на уровне брандмауэра.

Если вам нужна помощь в его расшифровке, опубликуйте вывод команды в своем вопросе как правку.

РЕДАКТИРОВАТЬ: У вас нет брандмауэра.

Ниже показано, как начать работу. Создайте новый файл /etc/iptables.firewall.rules и вставьте его в него:

*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow SSH connections
#  The -dport number should be the same port number you set in sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

Сохраните файл и запустите iptables-restore

Вам также необходимо убедиться, что правила вступают в силу при загрузке, для этого создайте файл в / etc / network / if -pre-up.d / firewall и добавьте к нему:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

И затем, наконец, запустите:

 chmod +x /etc/network/if-pre-up.d/firewall

Это поможет вам начать, вам нужно больше исследовать iptables, в частности раздел «Разрешить весь исходящий трафик. - вы можете изменить это, чтобы разрешить только определенный трафик »- я предлагаю вам заблокировать это, чтобы разрешить только http и ssh. Эта статья содержит сценарий внизу с командами, объясняющими, как это сделать.

Кроме того, обратите внимание на установку Fail2Ban и OSSEC - это системы предотвращения атак и обнаружения вторжений. Кроме того, такие вещи, как Logwatch, могут помочь в мониторинге, ежедневном сканировании руткитов и не открывать ваш сервер для доступа в Интернет, если в этом нет необходимости.

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

iptables -A INPUT -s <ip to block> -j DROP

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

iptables-save > /etc/iptables.firewall.rules

Еще одна хорошая идея для вас - посмотреть на процессы, запущенные в вашей системе, с помощью htop / top - выглядят ли какие-то подозрительные? Попробуйте запустить RootkitHunter и CHRootKit - они дают какие-то результаты? Если да, протрите и начните заново.

Еще одна хорошая идея, как правило, при поиске защиты сервера - это запустить Lynsis Audit, он посоветует вам, что нужно предпринять.

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

tail -f /var/log/auth.log

tail -f /var/log/syslog

Наконец, посмотрите комментарий под вашим вопросом о том, что делать, если вас взломали, было ли это или нет, это очень хорошее чтение.

1
ответ дан 3 December 2019 в 12:36

"" Есть ли способ заблокировать трафик из Китая? ""

Да, например, вы можете использовать iptables для внесения этих IP в черный список диапазоны: http://www.nirsoft.net/countryip/cn.html (я только что искал в Google список заблокированных IP-адресов Китая)

0
ответ дан 3 December 2019 в 12:36

Теги

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