Забележки!
От: gamehack <ghack_uk__at__yahoo__dot__co__dot__uk>
На: 26-10-2004@18:38 GMT+2
Оценка: 1/НеутраленСтатията е идялка - практическа, супер е! Само една забележка имам - смени си хостинга, ако нямаш къде - драни ми на ICQ-то ;)
Поздрави,
gamehack
[Отговори на този коментар]
Spell Check
От: iive <iive__at__abv __точка__ bg>
На: 26-10-2004@23:07 GMT+2
Оценка: 1/Неутрален /etc/myfirewall/witelist.txt
предполагам че си искал да напишеш whitelist.
Все пак предлагам да смениш имената на
white.hosts
black.hosts
allow.ports
(аз така направих)
[Отговори на този коментар]
Tcp Wrapper
От: avatar <macrosoft__at__abv[ точка ]bg>
На: 27-10-2004@5:46 GMT+2
Оценка: 1/НеутраленСамо да попитам - Не е ли по-добре това да се направи с Tcp wrapper-a (има си за целта hosts.allow и hosts.deny)? Доколкото знам обвивката на инет демона се грижи за разрешаване и забраняване на определени хостове, а iptables е по-скоро на пакетно ниво за по-финна настройка.
[Отговори на този коментар]
добавка
От: Добри
На: 27-10-2004@7:25 GMT+2
Оценка: 1/НеутраленЗа всеки случай не забравяйте да добавите машината си във white списъка.
[Отговори на този коментар]
ne stava taka :-P
От: drRoss <drrosss (a) yahoo __точка__ com>
На: 27-10-2004@7:43 GMT+2
Оценка: 1/Неутрален Нищо не правите с този firewall, не го прилагайте, пълна безсмислица е. Като пример само ще посоча, че щом default политиките са accept, нищо не правите. Хайде със здраве :-)
P.S. А и още, не ползвайте судо :-))
Редактиран на: 27-10-2004@7:49
[Отговори на този коментар]
RE: не става така
От: Н. Антонов <nikola< at >linux-bg __точка__ org>
На: 27-10-2004@8:03 GMT+2
Оценка: 1/НеутраленВярно е, че скриптът нищо не прави, но за sudo не разбрах забележката.
И наистина, къде са му политиките на този скрипт?
[Отговори на този коментар]
RE: TCP Wrapper
От: Н. Антонов <nikola (a) linux-bg__dot__org>
На: 27-10-2004@8:05 GMT+2
Оценка: 1/НеутраленФайловете hosts.allow и hosts.deny на tcpd не се взимат предвид от всички приложения. Зависи дали придложението е компилирано с поддръжката на tcpd или не. Например, можеш да компилираш ssh и по единия, и по другия начин.
[Отговори на този коментар]
Малка кръпка
От: Георги Теллалов <gtellalov__at__bigfoot __точка__ com>
На: 27-10-2004@8:05 GMT+2
Оценка: 1/Неутрален Ето една малка кръпка, която обединява предложенията на iive и добавя файл с разрешени udp портове и забранява останалите. Понеже статията е за начинаещи ето и описание как да се приложи кръпката:
1. Запишете си програмата от статията във файл fw.sh
2. Запишете си кръпката в друг файл (например fw.patch)
3. От командния ред изпълнете: patch < fw.patch
Ето я и самата кръпка:
*** fw.sh 2004-10-27 10:39:24.000000000 +0300
--- fw-new.sh 2004-10-27 11:06:11.000000000 +0300
***************
*** 1,30 ****
#!/bin/sh
! whitelist=/etc/myfirewall/witelist.txt
! blacklist=/etc/myfirewall/blacklist.txt
! allowed=/etc/myfirewall/allowed.txt
# iztriwame predi6nite nastroiki
iptables –F
#obhojadme whitelist, priemaiki celiqt trafik ot mrejite i ma6inite w spisaka
for white in `grep –v ^# $whitelist | awk ‘{print $1}’`; do
! echo “Permitting $white…”
! iptables –A INPUT –t filter –s $white –j ACCEPT
done
#obhojadme blacklist, othwarlqiki celiqt trafik ot mrejite i ma6inite w spisaka
for black in `grep –v ^# $blacklist | awk ‘{print $1}’`; do
! echo “Blocking $black…”
! iptables –A INPUT –t filter –s $black –j DROP
done
# i nakraq portowete pozwoleni za ma6inite koito ne sa w spisaka na lo6ite mom4eta
! for port in `grep –v ^# $allowed | awk ‘{print $1}’`; do
! echo “Accepting port $port…”
! iptables –A INPUT –t filter –p tcp --dport $port –j ACCEPT
done
#oswen ako ne se spomenawa po-gore I stawa wapros
#za whodq6ta zaqwka za startirane na wrazka, prosto q otkazwame.
iptables –A INPUT –t filter –p tcp --syn –j DROP
--- 1,37 ----
#!/bin/sh
! whitelist=/etc/myfirewall/white.hosts
! blacklist=/etc/myfirewall/black.hosts
! allowed_tcp=/etc/myfirewall/allowed_tcp.ports
! allowed_udp=/etc/myfirewall/allowed_udp.ports
# iztriwame predi6nite nastroiki
iptables –F
#obhojadme whitelist, priemaiki celiqt trafik ot mrejite i ma6inite w spisaka
for white in `grep –v ^# $whitelist | awk ‘{print $1}’`; do
! echo “Permitting $white…”
! iptables –A INPUT –t filter –s $white –j ACCEPT
done
#obhojadme blacklist, othwarlqiki celiqt trafik ot mrejite i ma6inite w spisaka
for black in `grep –v ^# $blacklist | awk ‘{print $1}’`; do
! echo “Blocking $black…”
! iptables –A INPUT –t filter –s $black –j DROP
done
# i nakraq portowete pozwoleni za ma6inite koito ne sa w spisaka na lo6ite mom4eta
! for port in `grep –v ^# $allowed_tcp | awk ‘{print $1}’`; do
! echo “Accepting port $port…”
! iptables –A INPUT –t filter –p tcp --dport $port –j ACCEPT
! done
!
! for port in `grep –v ^# $allowed_udp | awk ‘{print $1}’`; do
! echo “Accepting port $port…”
! iptables –A INPUT –t filter –p udp --dport $port –j ACCEPT
done
#oswen ako ne se spomenawa po-gore I stawa wapros
#za whodq6ta zaqwka za startirane na wrazka, prosto q otkazwame.
iptables –A INPUT –t filter –p tcp --syn –j DROP
+ # Razreshavame otgovorite na DNS zayavkite i zabranyavame vsichko ostanalo
+ iptables -A INPUT -t filter -p udp --sport 53 --dport 1024:65535 -j ACCEPT
+ iptables –A INPUT –t filter –p udp –j DROP
Редактиран на: 30-10-2004@23:00
[Отговори на този коментар]
RE: не става така
От: Георги Теллалов <gtellalov (a) bigfoot __точка__ com>
На: 27-10-2004@8:15 GMT+2
Оценка: 1/НеутраленВсъщност става така. Ако се загледате в скрипта ще видите, че така става, макар и не перфектно. Последният му ред отхвърля всички заявки с вдигнат TCP syn.
[Отговори на този коментар]
RE: RE: не става така
От: drRoss <drrosss< at >yahoo[ точка ]com>
На: 27-10-2004@8:25 GMT+2
Оценка: 1/Неутрален Ама аз не мога да ви разбера, не дейте да заблуждавате хората! Защо бъркате политиките input i otput s forward!? Какво общо има input i output политиките с това кои портове ще са отворени за машините след вас!? И пак повтарям, какво ще направите когато default политиките са ви accept?! А то е видно че са така!
P.S. Uf, ne vidiah che di napisal za na4inaeshti, sorry, ama popravi si skripta, ne e dobra ideia tova, dosta po-elementarno se praviat neshtata :)
Редактиран на: 27-10-2004@8:29
[Отговори на този коментар]
for Н. Антонов
От: drRoss <drrosss__at__yahoo__dot__com>
На: 27-10-2004@8:36 GMT+2
Оценка: 1/НеутраленИмм предвид, че ако съм пуснат като прост user на машината с sudo ще направя мазало :-)
[Отговори на този коментар]
RE: RE: RE: не става така
От: Георги Теллалов <gtellalov (a) bigfoot< dot >com>
На: 27-10-2004@8:37 GMT+2
Оценка: 1/НеутраленПонеже статията е за начинаещи се предполага, че защитната стена е за десктоп машина, а не за маршрутизатор (така поне го виждам аз). Именно затова INPUT политиката е единствената, която има значение. И за да ти отговоря какво ще стане с политика на приемане и така направените настройки, ще те насоча към ръководството на iptables.
Ако статията гласеше "как да си направим маршрутизатор без да знаем нищо за линукс", то тя щеше да е много кратка - платете си на някого да ви го направи.
[Отговори на този коментар]
RE: RE: RE: РЕ: не става така
От: drRoss <drrosss__at__yahoo[ точка ]com>
На: 27-10-2004@8:44 GMT+2
Оценка: 1/НеутраленAma napravo me predizvika da ti otgovariam,
iavno "man iptables" ti e matna india, ama to si e za teb, spri da pisheshpo toia vapros, po-dobre shte e za na4inaeshtite :)
I ia mi kaji kato ne emarshrutizator, kakvo e tova? :
[quote]И накрая искам да ви дам една задачка. Какво ще стане , ако прибавим в скрипта
iptables –t nat –A POSTROUTING –o $EXT_IFACE –j MASQUERADE
Отговора е ШЛЮЗ.[/quote]
Haide ostani si s zdrave i malko pove4e literatura pod vazglavnicata :))
[Отговори на този коментар]
RE: for Н. Антонов
От: Н. Антонов <nikola< at >linux-bg[ точка ]org>
На: 27-10-2004@9:40 GMT+2
Оценка: 1/НеутраленВъзможно е, но за да го направиш, първо трябва да имаш права да го изпълняваш;)
[Отговори на този коментар]
Предложение
От: Н. Антонов <nikola __@__ linux-bg[ точка ]org>
На: 27-10-2004@9:43 GMT+2
Оценка: 1/НеутраленСлед като статията е за начинаещи, значи няма какво да усложнявате излишно скрипта. Преди да започнете с всякакви правила, просто сложете:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Нормалната логика предполага, че един работещ скрипт за защитна стена трябва да започва от глобално забраняване на всякакъв трафик и последователно пускане само на нужните неща. Затова всички скриптове от този тип започват с горните три реда.
[Отговори на този коментар]
Хмм...
От: avatar <macrosoft__at__abv__dot__bg>
На: 27-10-2004@9:51 GMT+2
Оценка: 1/НеутраленДобре де, да кажем, че искаме да имаме интернет на машината. Това значи да разрешим всеки сорс адрес (надали ще седнем да въвеждаме десетки ip-та) в whitelist, т.е. ще напишем 0/0. И после ще добавим някви адреси в blacklist. Да ама скрипта обхожда първо whitelist и тъй като сме дали -j ACCEPT, той приема и iptables не гледа кво става нататък.
Това не е ли проблем?
А и наистина не е ясно това рутер ли е или самичка машина. Щото ако е рутер трябва и Forward политики. Струва ми се, че един начинаещ по-скоро ще се обърка от дадения пример.
Най-важното е като се прави защитна стена, първо всичко да се забрани и после да разрешим само квото ни трябва. Ето едно мое предложение за проста защитна стена на самостоятелна машина:
iptables -F INPUT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth0 -j ACCEPT
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp ! --syn -j ACCEPT
iptables -A INPUT -p udp --source-port 53 -j ACCEPT
iptables -A INPUT -p udp --destination-port 68 -j ACCEPT
iptables -A INPUT -j DROP
[Отговори на този коментар]
предложение, линкове статии
От: pid0 <nik_markov__at__abv__dot__bg>
На: 27-10-2004@10:34 GMT+2
Оценка: 1/Неутраленза начинаещи
http://www.lowth.com/LinWiz/1.09/
за 2 интерфейса
http://obsidianrook.com/devnotes/2face.html
http://www.shorewall.net/two-interface.htm
за 3 интерфейса
http://www.shorewall.net/three-interface.htm
[Отговори на този коментар]
for Avatar
От: drRoss <drrosss__at__yahoo[ точка ]com>
На: 27-10-2004@12:23 GMT+2
Оценка: 1/НеутраленChudesno!
Za tova stava duma, s edno uto4nenie, parvo drop sled tova accept :-)
Ne slucahino napisah che vsi4ko e mnogo po-prosto ot kolkoto izglejda, samo triabva da se podrediat neshtata :)
[Отговори на този коментар]
for RE: for Н. Антонов
От: drRoss <drrosss (a) yahoo __точка__ com>
На: 27-10-2004@12:26 GMT+2
Оценка: 1/НеутраленNe, ne mi triabvat prava v/u sudo, shte si gi sazdam, no ne e tuka miastoto da se obiasniava kak.
Oshte pove4e che statiata e napisana tak, che veche sa dadeni prava na usera za sudo :-)
[Отговори на този коментар]
RE: for Н. Антонов
От: Н. Антонов <nikola< at >linux-bg__dot__org>
На: 27-10-2004@13:20 GMT+2
Оценка: 1/НеутраленЯвно всички са се родили хакери на този свят. Обаче така и не разбират какво означава да нямаш права за изпълнение на един файл.
nikola@logos-bg:~$ ls -l /usr/bin/sudo
-rwsr-xr-- 1 root sudo 80584 2002-04-27 07:43 /usr/bin/sudo*
Така, сега, предполагам знаеш какво означава това - този файл може да си изпълни само от root или от членове на групата sudo.
Хайде сега, обясни на хората как ще си "вземеш" правата да го изпълниш, ако не си член на sudo:)
Може би, ще експлойтнеш машината и ще вземеш правата на root, за да си промениш потребителската група. Е, добре, но след като си го направил, е напълно безсмислено да се занимаваш със sudo;)
[Отговори на този коментар]
Отговор...
От: GigaVolt <gigavolt __@__ abv< dot >bg>
На: 27-10-2004@16:35 GMT+2
Оценка: 1/НеутраленПърво искам да спомена, че скрипта е тестван на Сусе 9.1 Про и РАБОТИ !!!
Обърнете внимание на WHITELIST там са потребителите, който имат достъп до всички портове. Ако не сте част от тях минавате по надолу – ако сте в списака BLACKLIST няма да получите достъп до никой порт. Ако не сте в този списък минавате надолу. След като минете получавате достъп до определени портове. Тъй като този скрипт е за десктоп потребители и той трябва да отваря страници се използва последния ред. Което означава, че не е необходимо да се въвеждат ИП’тата на сайтовете в WHITELIST. Иначе има доста добри коментари и допълнения към скрипта. И като гледам има доста можещи и знаещи и ще се радвам ако прочета една статия за по-хубава защитна стена.
[Отговори на този коментар]
sudo
От: Георги Теллалов <gtellalov (a) bigfoot< dot >com>
На: 29-10-2004@6:56 GMT+2
Оценка: 1/НеутраленНикола, така показаните права на sudo дават
възможност на всеки потребител, който има
достъп до /usr/bin да го изпълни. Направи си
следния експеримент - с потребител, който не
е от sudo групата
изпълни: /lib/ld-linux.so.2 /usr/bin/sudo
Това е отдавна известен проблем с правата за
достъп в линукс - ако искаш някой да няма
права за изпълнение, то той не трябва да има
и права за четене (както е в Дебиан)
-rwsr-x--- /usr/bin/sudo
[Отговори на този коментар]
RE: Отговор...
От: Георги Теллалов <gtellalov__at__bigfoot__dot__com>
На: 29-10-2004@7:04 GMT+2
Оценка: 1/НеутраленНаистина работи, но грешиш, че последният
ред разрешава достъп до външни tcp услуги.
Достъпът до тях е гарантиран, просто защото
не е забранен. Последният ред прави това,
което хората с частично разбиране за
iptables си мислят, че не е направено -
забранява всички заявки за tcp услуги към
нашата машина. Мога да поспоря дали това е
по-добре от задаване на политика DROP за
всички входящи връзки или е по-зле, но това
би било повече flame/religious war.
[Отговори на този коментар]
RE: sudo
От: Н. Антонов <nikola (a) linux-bg< dot >org>
На: 29-10-2004@8:42 GMT+2
Оценка: 1/Неутрален Съжалявам, но това, което изтъкваш като отдавна известен проблем с правата в Линукс, просто не работи по други причини. Иначе няма спор, че с права 4750 нещата са още по-сигурни.
Редактиран на: 29-10-2004@8:51
[Отговори на този коментар]
sudo debian testing/unstable sid
От: rujiru
На: 30-10-2004@9:29 GMT+2
Оценка: 1/Неутралендо Георги Теллалов
konstantin@borek:~$ uname -a ; cat /etc/issue ; ls -l /usr/bin/sudo ; /lib/ld-linux.so.2 /usr/bin/sudo
Linux borek 2.6.9 #1 Thu Oct 21 22:17:56 EEST 2004 i686 GNU/Linux
Debian GNU/Linux 3.1 \n \l
-rwsr-xr-x 1 root root 89624 2004-07-20 19:31 /usr/bin/sudo
Sorry, /usr/bin/sudo must be setuid root.
не е така както смяташ, т.е ако не си в sudo групата не можеш да запалиш това : /lib/ld-linux.so.2 /usr/bin/sudo, въпреки че /usr/bin/sudo е "-rwsr-xr-x 1 root root 89624 2004-07-20"
[Отговори на този коментар]
Linux Server Hacks
От: kabbalah
На: 3-11-2004@23:37 GMT+2
Оценка: 1/Неутраленknigata naistina e mno gotina mojete da si ia drupnete v PDF variant ot education centera na www.bulhack.org
[Отговори на този коментар]
за всичките тези лист-ове
От: anonymous
На: 4-11-2004@5:53 GMT+2
Оценка: 1/Неутраленвсе пак не мисля, че е "за начинаещи" тази стена, с разните й уайт,блек етц листове... все пак при добро желание и голям мързел винаги има иптаблес-саве и иптаблес-ресторе, който биха вършили прекрасна работа за хора който не разбират толкова от баш, а имат някви познания поне един път да си нагласят огнената стена... бест регардс
[Отговори на този коментар]
За начинаещи а?
От: Graf Devil <grafdevil __@__ email __точка__ bg>
На: 29-10-2009@20:40 GMT+2
Оценка: 1/НеутраленА самоя скрипт къде се поставя?
А как се казва на системата да се обърне към Forewala?
Много неща за начинаещи не си казал
Благодаря все пак че си се опитал
[Отговори на този коментар]