Найти тему
takoedelo

Переход от веб-сервера Raspberry Pi к недорогому маломощному веб-серверу x86(часть4)

Повышение безопасности веб-сервера

В этом разделе мы научимся:

  • Отключить вход в root через SSH
  • Установка и настройка брандмауэра UFW
  • Установка и настройка Fail2Ban

Отключение имени пользователя "root" снижает вероятность успеха атак методом перебора. Чтобы никто не мог через SSH на ваш сервер x86 как root, вы должны отредактировать файл /etc/ssh/sshd_config и вставить строку с надписью "PermitRootLogin no" (без кавычек). Затем в командной строке Linux введите:

sudo systemctl restart ssh

Теперь убедитесь, что root не может войти в систему через SSH. Пользователь bob должен по-прежнему иметь возможность стать root, когда это необходимо, используя команду Linux "su".

Затем установите брандмауэр UFW с помощью этой команды:

sudo apt-get install ufw

По-видимому, когда UFW впервые включен, он по умолчанию блокирует все порты, поэтому перед его включением вы должны разрешить SSH-соединения и трафик HTTP и HTTPS со следующими командами:

sudo ufw allow 22
sudo ufw alllow 80
sudo ufw allow 443

  • Не включайте брандмауэр UFW, пока не разрешите соединение через порт 22 в брандмауэре, как показано выше.

Если вы это сделаете, вы не сможете подключиться к серверу по SSH, и вам придется повторно подключить монитор, клавиатуру и мышь, чтобы разрешить соединение через порт 22. После этого включите брандмауэр UFW и убедитесь, что он активен, введя следующие команды:

sudo ufw enable
sudo ufw status

Одним из преимуществ перехода с сервера Raspberry Pi на более мощный сервер x86 является возможность блокировать большее количество IP -адресов веб-роботов. Одним из способов блокировки диапазонов IP-адресов является добавление дополнительных правил в файл /usr/share/ufw/user.rules сервера Debian. Каждый диапазон IP-адресов, который будет заблокирован , может быть добавлен непосредственно в файл user.rules следующим образом:

-A ufw-user-input -s 1.144.27.0/24 -j DROP

Число "24" означает, что IP-адреса между 1.144.27.0 и 1.144.27.255 заблокированы. Правило, которое выглядит следующим образом:

-A ufw-user-input -s 1.144.0.0/16 -j DROP

блокирует все IP-адреса между 1.144.0.0 и 1.144.255.255 .

Большинство людей, вероятно, предпочтут вставлять правила из командной строки, используя такие команды:

sudo ufw insert 1 reject in from 202.54.5.7 to any
sudo ufw insert 1 deny in from 202.54.5.7 to any
sudo ufw insert 1 deny in from 202.54.5.0/24 to any
sudo ufw insert 1 deny in from 202.54.0.0/16 to any

"1" используется в приведенных выше командах, потому что отклоненные и отклоненные IP-адреса должны быть включены перед всеми другими правилами UFW, чтобы работать! Вы, вероятно, должны прочитать о деталях приведенных выше команд, прежде чем блокировать IP-адреса таким образом. Fail2Ban также можно использовать для блокировки IP-адресов.

Помните, что каждый раз, когда вы добавляете правило блокировки, вы заставляете процессор вашего веб-сервера работать тяжелее. Если вы чувствуете необходимость блокировать слишком много IP-адресов, лучшим вариантом может быть разрешение маршрутизатору выполнять эту работу или добавление аппаратного брандмауэра. Если вы в настоящее время блокируете IP-адреса через UFW на своем сервере Raspberry Pi, скопируйте файл /etc/ufw/user.rules вашего Raspberry Pi в файл /usr/share/ufw/user.rules вашего сервера x86.

Fail2Ban повышает безопасность вашего сервера, временно блокируя любого, кто безуспешно пытается войти в систему через SSH более определенного количества раз. Это и надежный пароль предотвращают проникновение хакеров на ваш сервер. Установите Fail2Ban с помощью этой команды:

sudo apt-get install fail2ban

После установки Fail2Ban должен начать работать автоматически, и он должен запускаться каждый раз при перезагрузке сервера. Убедитесь, что Fail2Ban запускается с командой:

sudo systemctl status fail2ban

Fail2Ban имеет несколько файлов конфигурации в каталоге /etc/fail2ban .

На данный момент измените время блокировки с 10 минут по умолчанию на 2 минуты, чтобы предотвратить слишком длительную блокировку, если вы не введете правильный пароль в течение отведенного количества попыток. Bantime определяется в нескольких местах в файле /etc/fail2ban/jail.conf. Все, кроме одного, закомментированы символом"#". Найдите тот, который не закомментирован, и установите его на 2 минуты, изменив эту строку так:

bantime = 2m

Вы также можете просмотреть следующие файлы на своем Raspberry Pi, если у вас там настроен Fail2Ban:

  • /etc/fail2ban/jail.conf и jail.local
  • /etc/fail2ban/action.d/ufw.conf

Переход от веб-сервера Raspberry Pi к недорогому маломощному веб-серверу x86(часть1)

Переход от веб-сервера Raspberry Pi к недорогому маломощному веб-серверу x86(часть2)

Переход от веб-сервера Raspberry Pi к недорогому маломощному веб-серверу x86(часть3)