На этот вопрос уже есть ответ здесь:
Я новичок в Ubuntu.
У меня дома есть тестовый сервер для разработчиков, и мы вместе с другом работаем над ним.
Мы используем SSH, FTP, а также некоторый порт для почты, Интернета и т. Д.
Я хочу разрешить только наш IP, с которого мы работаем на этом сервере:
Я проверил журналы и вижу много попробуйте, некоторые люди пытаются войти в систему как root, поэтому я хочу разрешить вход только мне и моему другу. Но поскольку это веб-сервер, мы должны держать порты Интернета и почты открытыми для входящих.
Не уверен, хорошо ли я объясню. Как я могу это сделать? Я уже безуспешно пытаюсь использовать iptable, все еще много входящего соединения и пытаюсь войти в систему как root.
Не могли бы вы сообщить мне, как я могу продолжить?
С уважением и наилучшими пожеланиями, GP
Для Вашего сценария Вы должны установить iptables
правила для этого. Также Вы можете пользователь firewalld
, который является богатой командой для руководящего брандмауэра в Linux. Я объясню iptables
здесь.
Iptables для ipv4/ipv6 пакетной фильтрации для ядра Linux. В iptables там является тремя таблицами по умолчанию, которые каждый из них содержат три цепочки по умолчанию:
команда Iptables следует с различными вариантами. Для Вашего сценария как пример необходимо записать следующие команды:
$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -s x.x.x.x -j ACCEPT
$ iptables -A INPUT -j DROP
Эти команды только принимают соединение SSH от порта 22 от IP x.x.x.x и каждого, входящие пакеты будут отбрасыванием. Можно сделать это для любого IP и любых Портов, которые Вы хотите к ответу сервера. Для входящих пакетов, которые Вы не знаете, какие состояния являются использованием , ИМЕЛ ОТНОШЕНИЕ и НЕДОПУСТИМЫЙ в --state
.
необходимо заметить, что iptables
последовательный порядок правила. Поскольку пример при блокировании каждой вещи затем, принимает некоторых затем, Вы не получили бы результата, потому что, когда входящий пакет соответствуют любому правилу, другие правила не рассмотрят.