Анатомия React компонента
Моё видение того, как должен выглядеть React компонент
100
7 мин.
50
2 мин.
Для работы установим nginx, docker и ufw.
sudo apt update && sudo apt install nginx docker.io ufw -y
Работать под пользователем root не безопасно, поэтому нужно создать нового пользователя командой adduser your_name и дать ему права администратора с помощью usermod -aG sudo your_name и groups your_name.
После этого в консоли появится уведомление о добавлении пользователя Adding user "your_name" ..., и поле для ввода пароля.
Это надёжный способ защиты от брутфорса, если ssh-ключ уже есть, просто отправьте его на сервер ssh-copy-id your_name@server_ip, если нет, то создайте ssh-keygen -t ed25519 -C "your_name@vps"
При копировании таким способом, может потребоваться ввести пароль от сервера, при вводе пароля он не будет отображаться из-за безопасности!
Теперь нужно закрыть возможность входа любым другим способом, кроме ssh-ключа, откройте конфиг sudo nano /etc/ssh/sshd_config, потом найдите и измените (или добавьте) строки:
PermitRootLogin no - запрещает вход в систему напрямую под пользователем root через ssh;PasswordAuthentication no - отключает возможность входа на сервер с использованием обычного пароля;ChallengeResponseAuthentication no - отключает аутентификацию по принципу "вызов-ответ".Перезапустите службу
sudo systemctl restart ssh, теперь при попытке войти под root будет ошибкаroot@ip: Permission denied (publickey).
Фаервол блокирует все порты, кроме тех, что разрешены.
Для большей безопасности нужно поменять порт для ssh на другой, и также добавить его в конфиг ufw!
sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable sudo ufw status
Команда
statusпокажет включен ли ufw и какие порты разрешены.
React2Shell это критическая уязвимость, позволяющая хакерам исполнять свой код на сервере.
Для проверки нужно смотреть список процессов и файлов, если найдено что-то из этого, то сервер заражён:
ssh.sh, sex.sh, kai.tar.gz или httd;top или htop.Для защиты от вируса нужно обновить NextJS до одной из безопасных версий (см. на сайте NextJS), обновить NodeJS и запускать Docker контейнеры через --read-only из под USER node с доступами через Whitelist
Если же проект взломали, нужно удалить зараженные поды/контейнеры, очистить кэш и обязательно сменить все ключи и пароли.
Похожие категории:
Моё видение того, как должен выглядеть React компонент
100
7 мин.
Разбор критических ошибок веб-дизайна. Почему слайдеры, автоплей и тяжёлые страницы снижают конверсию и позиции в Google и Yandex
45
1 мин.
Решение проблемы с работой Vite при включённом VPN, настройка соединения, для избежания перенаправления локального трафика в VPN-туннель
109
2 мин.