Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest czwartek, 18 kwietnia 2024, 02:38

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 9 ] 
Autor Wiadomość
Post: sobota, 22 listopada 2008, 15:51 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Szukalem podobnego tematu i znalazlem, ale traktowaly jedynie
o wykonaniu komend z pod php, ale to co mnie napotkalo
zaintrygowalo na tyle, ze postanowilem zapytac na forum:
dlaczego tak sie dzieje ?
Z linuxa nie jestem mocny i wierzcie mi, ze probowalem wszystkich
metod znanych mnie. Przewertowalem wpisy w NND i forum, ale
odpowiedzi nieznalazlem.

Moze od poczatku ...
Na serwerze apatche zalozylem sobie virtualny host na porcie 200
i tam przekierowuje wszystkiech kto jest zablokowany w sieci i przy
wywolaniu dowolnej stronki pokazuje sie zamiast niej strona umieszczona
w odpowiednim folderze mojego serwera. Jest to zwykle powiadomienie
o blokadzie i kontakt do administratora. To jest akurat proste i dziala
znakomicie. Wystarczy po wprowadzeniu w odpowiednim miejscu
wprowadzic poprostu adres IP blokowanego i przeladowac iptables :
/etc/rc.d/iptables restart

Zatrzymywane jest forewall i pare innych uslug po czym sa uruchamiane
bez potrzeby restartowania NND.

Jak do tej pory jest wszystko zrozumiale, ale zachcialo mi sie
to robic z poziomu php wiec zrobilem sobie folderek w folderze
serwera i napisalem :
: [/] [] ()
<?PHP
#!/bin/bash
exec ("sudo /home/httpd/html/folder/skrypt.txt");
?>

I zapisalem to pod nazwa przladuj.php
Po czym w tym samym folderze umiescilem plik skrypt.txt z zawartoscia:
: [/] [] ()
/etc/rc.d/iptables restart

Widomo, ze to niezadziala poki sie niewpisze odpowiedniej linijki w
sudoers wiec uruchomilem visudo i zrobilem takie wpisy :
nobody ALL=NOPASSWD:/home/httpd/html/folder/skrypt.txt
nobody ALL=NOPASSWD:/home/httpd/html/folder/przeladuj.php
Zapisalem, zrobilem restart NND no i jeszcze nadalem na wszelki wypadek
chmod na 777 calemu folderowi oraz wszystkim plikom zeby byc
penym ze sie to wykona.

Na koniec pozostalo mi to wyprobowac wiec sobie zahashowalem
linijke ze swoim ip w pliku blokady i wywolalem skrypt z pod
www :
http://192.168.0.1/folder/przeladuj.php
Niby to dziala, ale po wywolaniu strony cos sie robi, ale strona niekonczy
dzialania i tak dzieje sie bardzo dlugo !! Na pewno zadlugo zeby
to moznabylo wdrozyc w przyszlosci do jakiegos innego rozwiazania.
Czym to moze byc spowodowane ?
Nie znam wszystkich procesow jakie sa wykonywane po kolei i zaczolem
nawet myslec, ze przy przeladowywaniu iptables oraz zamykaniu i
otwieraniu firewall jest zrywane polaczenie do serwera i stad taki, a nie
inny afekt. Nie jestem tego pewien bo w tym wypadku jesli tak by
bylo rzeczywiscie to w przegladarce powinna sie pojawic pusta strona, a
ona niekonczy poprostu dzialania tylko czeka na serwer w nieskonczonosc.
Napisalem, ze to dziala bo jesli wywolam dowolna stronke w drugim
oknie przegladarki to uzyskuje zadany efekt czyli albo jestem
zablokowywany bo pojawia mi sie komunikat z foldera blokada
apatche, albo moge normalnie surfowac po internecie.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 22 listopada 2008, 17:18 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Zdaje się, że o tym ci pisałem na priv. Komendy iptables mogą być wykonywane z poziomu php i to działa pod warunkiem oczywiście, że w systemie istnieje uprawnienie do ich wykonywania przez nobody. W twoim przypadku raczej jest to związane albo ze złą konstrukcja skryptu php, alebo też (na co wskazywałem) z błędami firewalla (te dwuznaczne przekierowania), co powoduje, że komenda nie kończy wykonywania skryptu, bo brakuje mu jednoznacznej reakcji coś tam kończącej.
Nie jestem orłem w php, ale zaręczam ci, że takie skrypty mogą działać prawidłowo, aczkolwiek nie jest to dobre rozwiązanie... można je raczej wykorzystać do jakichś awaryjnych procedur, a nie do budowania reguł...

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 22 listopada 2008, 17:33 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Witam panie Macku :)
Dziekuje za odpowiedz i juz tlumacze dlaczego to opisalem na forum.
Po naszej rozmowie zaczolem grzebac we wpisach i usunolem wszystkie bledy, a
przynajmniej tak mi sie wydaje. Nieznam sie i moge czesciowo sie opierac jedynie
na logicznym mysleniu, ale przy wykonywaniu tego wpisu niepojawiaja sie juz
zadne bledy. To znaczy wszystkie linijki odznaczaja sie na wykonano.
Mniemam wiec, ze tak jest na prawde chyba, ze sie myle. Firewall jest ladnie
zatrzymywany i startowany jak i inne uslugi, a mimo to pojawia sie wlasnie cos takiego.
Podobnie jest przy wykonaniu z linii polecen php z sciezka do tego skryptu.
Program niekonczy znakiem zachety ani zadnym komunikatem bledu tylko na cos
czeka.

Co do bałwan jestem zgodze sie i zaczolem juz probowac czegos innego, ale ten problem
nie daje mi spokoju. Jak juz bede wiedzial co to jest to pewnie dam spokoj, ale problemik
jest ciekawy.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 22 listopada 2008, 20:40 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
Nie wnikajac w problem napisze tylko, ze przeladowanie calego firewalla w celu dodania/usuniecia jednej reguly nie jest dobrym pomyslem. Kasuj odpowiednia regule, a jak nie mozesz sobie z tym poradzic, to zaloz osobny lancuch ktory mozesz sobie caly czyscic.
Njlepszym pomyslem byloby zaciagniecie do tego ipset, ale w przypadku NND nie ma gotowej paczki.

_________________
FAQ dla NND: http://nnd-linux.pl/faq.php
Doswiadczenie, to cos, co zdobywasz tuz po chwili w ktorej go potrzebowales.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: sobota, 22 listopada 2008, 23:58 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Nie nie niezrozumieliscie mnie.
Ja juz ten pomysl z przeladowywaniem porzucilem.
Znalazlem inny sposob i dziala genialnie zeby niepowiedziec perfekcyjnie :)
Jestem laikiem, ale podpatrujac rozne bałwan jestem i to co wypisujecie na forum napisalem cos takiego :
zablokuj :
: [/] [] ()
/usr/sbin/iptables -t nat -A PREROUTING -p tcp -s 192.168.0.210 -d ! 192.168.0.1 -j REDIRECT --to-port 200
/usr/sbin/iptables -A FORWARD -p udp -s 192.168.0.210 -m ipp2p --ipp2p -j DROP
/usr/sbin/iptables -A PREROUTING -t nat -s 192.168.0.210 -p udp --dport 300:65535 -j DROP

odblokuj :
: [/] [] ()
/usr/sbin/iptables -t nat -D PREROUTING -p tcp -s 192.168.0.210 -d ! 192.168.0.1 -j REDIRECT --to-port 200
/usr/sbin/iptables -D FORWARD -p udp -s 192.168.0.210 -m ipp2p --ipp2p -j DROP
/usr/sbin/iptables -D PREROUTING -t nat -s 192.168.0.210 -p udp --dport 300:65535 -j DROP

Mozna to juz wywolac poprzez shell_exec z poziomu php i to dziala.
Oczywiscie ten tekst to dopiero prolog do prawdziwego skryptu
i panela, ale od czegos musialem zaczac.
Po wykonaniu skryptu z poziomu przegladarki ladnie pokazuje sie
stronka z Virtualnego Servera, a co bedzie w niej zawarte to juz zalezec
bedzie jedynie od sytuacji w jakiej chce ja wywolac. Obojetnie
czy to bedzie pojedynczy komunikat czy tez komunikat o blokadzie.
Bezpieczenstwem zajme sie pozniej ubierajac to wszystko w jakies ladne
cos :)

Mnie chodzilo jedynie o cos innego. Dlaczego tak sie dzieje jak to
opisalem w pierwszym poscie. Nurtuje mnie to. Wszystko niby jest ok.
Niepojawia sie zaden komunikat bledu, a skrypt jakby na cos jeszcze
czekal i to bardzo dlugo mimo ze z linii polecen wszystko sie wywoluje
ladnie i plynnie. No coz moze sie kiedys dowiem. Domyslam sie, ze
to wykracza poza granice forum poniewaz trzebaby bylo obejrzec logi
i przesledzic kolejne wpisy i bałwan jestem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 listopada 2008, 02:38 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
A ja bym na twoim miejscu zajął się jeszcze poprawieniem swoich postów, bo kończenie wypowiedzi: "i przesledzic kolejne wpisy i bałwan jestem." brzmi nieco niepoważnie ;)

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 listopada 2008, 02:51 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Niepisalem tego i szkoda ze nie ma na forum historii wpisow bo pewnie
odrazu by wyszlo kto mi to na koncu dopisal. Przykro mi, ze dzieja sie tutaj takie rzeczy.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 listopada 2008, 03:17 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Nikt niczego ci nie dopisał, zadziałał automatyczny moduł sprawdzania pisowni. Ponieważ zwykłe zwracanie uwagi spływało po userach jak woda po gęsi, postanowiliśmy kiedyś najgorsze błędy zamieniać na frazę "bałwan jestem" w nadziei że wkurzony user poprawi swój wpis...
Niestety jak widać nie poprawi, tylko twierdzi, że ktoś mu dopisał. :)

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 listopada 2008, 11:08 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
Wpisz na po poczatku wszytkich "zamieszanych" skryptów -x


#!/bin/sh -x

: [/] [] ()
#!/bin/sh -x
/etc/rc.d/iptables restart


dotyczy to rowniez skryptu iptables i skryptow przez niego wywolywanych to (-x)

zobaczysz po kolei wykonujące się komendy

byzobaczyc wyniki w php nalezy tak skonstruowac skrypt php:

: [/] [] ()
<?PHP
$answer = array();
echo start;
exec ('sudo /home/httpd/html/folder/skrypt.txt 2>&1', $answer);
foreach($answer as $line)
{
 echo $line;
 }
echo Koniec;

?>


By upewnic sie ze problemem nie sa sprawy uprawnien skrypt php mozna wywolac z posziomu shela:

php skrypt.php

_________________
Nie jestem NEKROMANTĄ, nie wróżę z flaków!
Alkohol pity z umiarem nie szkodzi nawet w największych ilościach!
Przeczytaj nim zapytasz
Obrazek


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 9 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl