Блокиране на един php файл с iptables

garnet

Well-Known Member
Как да направя следното с иптейбълс:

имам един пчп файл, който работи в браузера. Веб клиент за mysql.
Та искам този файл да може да се свързва само с ИП адреса на mysql сървъра ми, който не е localhost.
Всякакви други изходящ връзки към други ип-та да се блокират.
И другото е: на кое ниво трябва да е забраната? за файла, за php, за apacha?
 
От: Блокиране на един php файл с iptables

Да не е на localhost това не съм го правил, но съм чувал, че на съвръва, в който е mysql трябва да му се даде разрешение, кое IP може да ползва базата данни, чак след това php файла ще може да се свържи с базата данни.
Това за изходящите връзки не го разбрах.
 
От: Блокиране на един php файл с iptables

1. На кой порт слуша mysqld - по default е 3306
2. Ако порта е 3306 и искаш само от IP 1.2.3.4 да е достъпен пишеш
iptables -A INPUT -p tcp --dport 3306 ! -s 1.2.3.4 -j DROP
 
не, на локалхост върви пчп файла, на друг хост е БД.
Искам пчп файла да може да се свързва само с другия хост (на 3306)
Напр ако пчп файла иска да прати нещо на автора си да не може.
 
От: Блокиране на един php файл с iptables

Идея нямам какво искаш. ;)
Прочети си предния пост и ако схванеш какво искаш да стане, може някой да ти помогне.

Ако идеята е само изходящите връзки към порт 3306 да са позволени ;) , то как ще се свързват с тази машина. Скрипта може да изпраща "нещо" на автора си по много начина.
 
ако на скрипта му е разрешено да се свързва само с едно ИП как ще прати на автора му каквото и да било
 
От: Re: Блокиране на един php файл с iptables

До колкото разбирам си "взел" скрипт и искаш скрипта да не се свързва със автора си. ;)
Единствения начин това да стане е да провериш кода за подобни действия. Няма как да стане по друг начин.
 
От: Блокиране на един php файл с iptables

Пичове, опитвате се да контролирате нещо, което работи на application layer, с инструмент, който работи на network layer. :-/ като забраните порт 3306 на сървъра (щото iptables не разбира от php и не работи per script) то ще си блокирате достъпа и на вашия mysql към и от външни заявки. А да не говорим, че този скрипт, като не може да се свърже с друг хост най-много да върне грешка и да прекрати изпълнението.
 
От: Блокиране на един php файл с iptables

Потребителя Linuxa ти го е обяснил най-добре.

И потребителя s1yf0x също ти го е обяснил добре.


По принцип може да блокираш всички изходящи връзки с изключение към MySQL сървъра.

Но тогава ще блокираш всичко, а не само PHP скрита, щото iptables не разбира от php и файлове.
 
Re: От: Блокиране на един php файл с iptables

Пичове, опитвате се да контролирате нещо, което работи на application layer, с инструмент, който работи на network layer. :-/ като забраните порт 3306 на сървъра (щото iptables не разбира от php и не работи per script) то ще си блокирате достъпа и на вашия mysql към и от външни заявки. А да не говорим, че този скрипт, като не може да се свърже с друг хост най-много да върне грешка и да прекрати изпълнението.

Е това исках да разбера - може ли с иптейбълс да се обраничи определена програма да се свързва само с определени ИП-та, даже без да се мисли за порт 3306.
Явно не може.
 
В такъв случай какво се ползва за линукс. Дори 'тъпия' win firewall може да блокира/разреши определена програма към определени ИП-та.
 
От: Re: Блокиране на един php файл с iptables

В такъв случай какво се ползва за линукс. Дори 'тъпия' win firewall може да блокира/разреши определена програма към определени ИП-та.

Ти искаш да блокираш php-скрипт, който не е изпълнима програма. Програмата която изпълнява този скрипт е web-сървъра ти - в твоя случай до колкото разбирам това е apache.
Само че ако блокираш web-сървъра си да полва само пакети, с изходящ порт 3306, никой освен от localhost, няма да може да ползва този web-сървър.

Иначе не е никакъв проблем това да стане с iptables. Тук е обяснено как става.
 
Последно редактирано:

Горе