Премини към съдържанието
AlkatrazBG

Филтриране на порт към определен IP чрез iptables

Препоръчан отговор


Здравейте,

Интересува ме дали съм на  правилен път ако  използвам следните правила ?

Отварям порта за конкретното IP  със правилото

iptables -I INPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT

И го затварям за всички други IP-та с правилото

iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 1234 -j DROP

Освен по tcp  трябва ли  да напиша и правила за udp  или не е необходимо? Няма ли да са в конфликт двете правила  защото хем затварям за всички порта хем го отварям за определен адрес ?  Трябва ли да описвам и  IP  адреси  от вътрешната мрежа и портове със които  приложението ми комуникира със други приложения или  не трябва? 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Логиката е първо да затвориш този порт за всички ip адреси и тогава да го отвориш за конкретния ip адрес.
За udp - ако ти трябва(т.е. ако е необходим), го отваряш за този порт и ip аадрес.

Редактирано от DarkEdge (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 8 часа, DarkEdge написа:

Логиката е първо да затвориш този порт за всички ip адреси и тогава да го отвориш за конкретния ip адрес.
За udp - ако ти трябва(т.е. ако е необходим), го отваряш за този порт и ip аадрес. 

Не че много го помня, но според мен трябва да е както той го е направил. Ако на първия ред е DROP /и се мачне/, никога няма да се изпълнят останалите надолу.

преди 11 часа, AlkatrazBG написа:

Освен по tcp  трябва ли  да напиша и правила за udp  или не е необходимо?

Необходимо е. Това са два различни протокола.

преди 11 часа, AlkatrazBG написа:

Няма ли да са в конфликт двете правила  защото хем затварям за всички порта хем го отварям за определен адрес ?

Това е като лист и правилата се трупат надолу. Щом се получи съответствие на някои ред, отгоре надолу, той се изпълнява и останалите не се проверяват.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ще изчакам още 2-3 дена да се изкажат още хора ако имат желание  и след това ще се тества на виртуалка и ако всичко е  както трябва  се  пишат правилата на сървъра.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 11 часа, AlkatrazBG написа:

Трябва ли да описвам и  IP  адреси  от вътрешната мрежа и портове със които  приложението ми комуникира със други приложения или  не трябва?

Зависи. Първото нещо, стената не ги различава. Трябва ти да и ги подскажеш. Това което се прави в повечето случаи и гледам ти също се опитваш да направиш, това е да създадеш лист които изключва всичко, освен разрешените. В такъв случай на последния ред се слага директива DROP, която мачва всичко възможно.

~~~~ iptables -A INPUT -j DROP

Това се прави за по-голяма безопасност, за да не забравиш да изключиш нещо принципно опасно. Естествено в този случаи ще трябва да разрешиш всичко което ти трябва на горните редове.

Най-важното е да запомниш това:

sudo iptables -L

За да листваш всички правила. Не забравяй и че ще ги забрави при рестарт на машината. Трябва ти нещо подоно за зареждане:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.downrules ]; then
   iptables-restore < /etc/iptables.downrules
fi
exit 0

https://help.ubuntu.com/community/IptablesHowTo


  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Някой неща ги  прочетох от  гайдовете но като знам   че във тоя софтуер  дето се опитвам да го  защитя влизат  още няколко различни IP-та  и P2P  кънекции работата става сложна. А и да не забравяме че трябва да се напишат и правила после да  имат достъп  до тоя софтуер  конкретни IP-та  . Не е като да дропна само Пешо и Киро и да разреша на Иван . Вкарвам се в голямо приключение ама като го направя ще стане бетон:) 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

https://www.a2hosting.com/kb/developer-corner/linux/configuring-a-firewall-using-iptables#Inserting-rules
Може да ти е полезен разписът.

Редактирано от DarkEdge (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Начи вижте каква ми е идеята.

Програмата е IPTV софтуер Astra  във която по локалната  мрежа са   вкарани тв канали и торент телеивзия  и линкове от Youtube и тн.  Самата астра си има контрол на достъпа и аз съм го настроил за сега но  искам изобщо тая Астра да не се вижда  за никой освен за  определени адреси и да може да приема от адресите  на които са ми  каналите и линковете от Youtube. най ми е мъглявос линковете от torent телевизиите защото там се връзваш към кого ли не  и  няма да сработи схемата.

 

Ясно ми е че трябва да си разреша  достъпа до локалната мрежа и това знам как да го напиша като правило. Ясно ми е и правилото  за да разреша на конкретни адреси да се вържат на порта  на астрата.  Не ми е ясно какво да правя с торентите .

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 6 минути, AlkatrazBG написа:

Вкарвам се в голямо приключение ама като го направя ще стане бетон:) 

Да, общо взето е така. Още един от съветите на баба:

Ако ползваш remote /примерно SSH/ има шанс да се отрежеш от сървъра. Затова винаги гледай да си разрешил себе си и ако пробваш нещо на истински сървър, което не си тествал 1000%, сложи команда да се рестартира след 10~15 минути. Понеже правилата не се зареждат автоматично и да сгафиш, ще можеш да влезеш след рестарта.

преди 7 минути, AlkatrazBG написа:

Не ми е ясно какво да правя с торентите .

Според мен ще стане, защото можеш или да зададеш портовете от торент програмата или да разрешиш всички UDP с изключение на малкото които се ползват за нещо друго /даже не се сещам какво друго ще ги ползва, освен мултимедийна програма/. Поне нещо такова ми иде на ум.

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Значи викаш да пробвам ей така

Правилото за порта на Астрата   да изглежда така

За моето IP

iptables -I INPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT 
iptables -I OUTPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT

За SSH 

iptables -I INPUT -p tcp -s 10.1.1.2 --dport 22 -j ACCEPT 
iptables -I OUTPUT -p tcp -s 10.1.1.2 --dport 22 -j ACCEPT

За хората дето искам да имат достъп ползвам правилото  дето е за моето IP като замествам само адреса с техните

iptables -I INPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT 
iptables -I OUTPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT

За локалната мрежа слагам правилото

iptables -I INPUT -p tcp -s 192.168.0.0./32 --dport 1234 -j ACCEPT

iptables -I OUTPUT -p udp -s 192.168.0.0./32 --dport 1234 -j ACCEPT

За порта на торентите шибвам правилото 

iptables -I INPUT -p tcp -s 10.1.1.2 --dport 1234 -j ACCEPT

iptables -I OUTPUT -p udp -s 10.1.1.2 --dport 1234 -j ACCEPT

 

И накрая слагам правилото дето да забрани достъпа за всички останали 

iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 1234 -j DROP

 

Това  ли трябва да е работещата схема или нещо друго?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Нещо такова трябва да е по идея. Имаш неточности на места. Не си позволил Web достъп, ОК е ако не ти трябва. Трябва да съобразиш какви са изискванията на приложенията, на рутера, на доставчика. Според мен за торентите трябва да разрешиш да преминава двустранно UDP-то, да настроиш торент клиента на определен порт, или алтернативно да разрешиш повечето UDP. Че и да го изпробваш, вероятно е при повечето настройки да вземе да ти бави. Например, възможно е да му служиш определен UDP порт, който обаче повечето пиъри да не щат да ползват - ще премине на TCP и ще бави ужасно.

Евентуално довечера ще мога да го погледна по-подробно. Много отдавна не съм се занимавал и дори и тогава не бях напреднал в аксес листите.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.