LinuxForum.Fans
Тема

Ограничить доступ к серверу по IP

Автор: filipp_85 10 сообщений 6959 просмотров
#272859

Всем привет !
Помогите пожалуйста. Неполучается ограничить доступ к серверу по IP.
У меня CentOS 5.8. Установленна на VPS. К SSH подключась по 32875 порту.

Прописал следующие:
iptables -N STAFF
iptables -A INPUT -j STAFF
iptables -A STAFF -s мой IP -j ACCEPT
iptables -A STAFF -s еще один мой IP -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 21,22,10000,2222 -j DROP

service iptables save
service iptables restart

После этого вроде все заработало но я прописал:
reboot

После reboot работать перестало, т.е. сервер стал пускать к себе со всех IP адресов.

Прописал заново все команды и сервак подвис....... Вообщем доступа я теперь к нему не имею :(((

Подскажите пожалуйста что я неправильно делаю. Что надо прописать чтобы ограничить доступ к управлению сервером (FTP, SSH, панели управления) по IP всем кроме меня.

Заранее ограмное спасибо!

#272881
"filipp_85" написал:
iptables -A INPUT -p tcp -m multiport --dport 21,22,10000,2222 -j DROP

а какой вообще смысл запрещать порты 21,22,10000,2222? Если вы их всё равно похоже не используете?
И покажите iptables -L
Данной вами информации недостаточно.

#273468
"drBatty" написал:
а какой вообще смысл запрещать порты 21,22,10000,2222? Если вы их всё равно похоже не используете?

Незнаю, я эти команды в одной инструкции вычитал :-X

"drBatty" написал:
И покажите iptables -L

Пожалуйста *DANCE*

[root@]# 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@]#

#273483

куда писали-то? для настройки файерволла используйте

text
system-config-firewall-tui

или
пропишите правила в

text
/etc/sysconfig/iptables
#277439
"filipp_85" написал:
Незнаю, я эти команды в одной инструкции вычитал
facepalm...

"filipp_85" написал:
Пожалуйста

эх... пустые правила - ВСЁ можно.
вам надо ВСЁ запретить, (man iptables -P DROP), а потом что-то нужное разрешить.

ЗЫЖ надеюсь ещё актуально...

#277934

Спасибо большое!

Вы не могли бы написать какие конкретно команды мне надо прописать чтобы ограничить доступ к управлению сервером по IP всем кроме меня с помощью iptables.

Мои данные:
ОС сервера: Cent OS 5
К SSH подключась по 32875 порту
IP с которого надо разрешить доступ: x.x.x.x

Заранее ОГРОМНОЕ спасибо! O:)

#277938

Чтобы открыть конкретный порт 1234 для ip:10.10.1.1

text
iptables -A INPUT -s 10.10.1.1 -p tcp -m tcp --dport 1234 -j ACCEPT
iptables -A OUTPUT -o 10.10.1.1 -p tcp -m tcp --sport 1234 -j ACCEPT

При этом мы понимаем, что политики изначально у нас установлены в DROP иначе это не имеет смысла.

#277940

Применительно к CentOS содержимое файла /etcsysconfig/iptables (примерное, само собой):

text
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -s x.x.x.x -p tcp -m tcp --dport 32875 -j ACCEPT
COMMIT

После этого сделать

text
service iptables restart

Ну а проще всего использовать system-config-firewall-tui и просто выбрать нужные опции. Если и он Вам покажется слишком сложным, то лучше всего пойтить почитать что-нибудь про работу iptables.

#277944

Учитывая что политики вообще не установленны я хочу прописать следующее:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# т.е. как писал drBatty запрещаем все!


iptables -A INPUT -s x.x.x.x -p tcp -m tcp --dport 32875 -j ACCEPT
iptables -A OUTPUT -o x.x.x.x -p tcp -m tcp --sport 32875 -j ACCEPT

# разрешаем ходить на сервер только с ip x.x.x.x на порту 32875

iptables -I FORWARD 1 -i venet0 -p udp -j ACCEPT
iptables -I FORWARD 1 -i venet0 -p tcp -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source ip-адрес сервера

# добавляем правила в iptables для того чтобы работал OpenVPN.

/sbin/iptables-save > /etc/iptables/rules
echo "/sbin/iptables-restore < /etc/iptables/rules" >> /etc/rc.d/rc.local
service iptables save


Подскажите пожалуйста я все правильно написал?

#277945
"filipp_85" написал:
/sbin/iptables-save > /etc/iptables/rules

Это что еще такое?
Используйте стандартные способы задания правил iptables в выбранном Вами дистрибутиве.
Самому же проще будет потом управлять всем этим. К тому же, в CentOS есть нормальные способы управления и хранения правилами.

Войдите или зарегистрируйтесь, чтобы ответить.