1

Всем привет !
Помогите пожалуйста. Неполучается ограничить доступ к серверу по 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 адресов.

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

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

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

2

filipp_85 пишет:

iptables -A INPUT -p tcp -m multiport --dport 21,22,10000,2222 -j DROP

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

drBatty пишет:

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

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

drBatty пишет:

И покажите iptables -L

Пожалуйста  bo

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

4 (04.09.2012 10:42:07 отредактировано Hrafn)

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

system-config-firewall-tui

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

/etc/sysconfig/iptables

5

filipp_85 пишет:

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

facepalm...

filipp_85 пишет:

Пожалуйста

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6 (04.10.2012 12:28:38 отредактировано filipp_85)

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

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

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

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

7

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

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 иначе это не имеет смысла.

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

8

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

*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

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

service iptables restart

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

9

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

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


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

10 (04.10.2012 13:31:10 отредактировано alexfinn)

filipp_85 пишет:

/sbin/iptables-save > /etc/iptables/rules

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