Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Przeladowanie iptables i apatche http://forum.freesco.pl/viewtopic.php?f=8&t=17317 |
Strona 1 z 1 |
Autor: | CyberDuck [ sobota, 22 listopada 2008, 15:51 ] |
Tytuł: | Przeladowanie iptables i apatche |
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 : I zapisalem to pod nazwa przladuj.php Po czym w tym samym folderze umiescilem plik skrypt.txt z zawartoscia: 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. |
Autor: | Maciek [ sobota, 22 listopada 2008, 17:18 ] |
Tytuł: | |
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ł... |
Autor: | CyberDuck [ sobota, 22 listopada 2008, 17:33 ] |
Tytuł: | |
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. |
Autor: | tasiorek [ sobota, 22 listopada 2008, 20:40 ] |
Tytuł: | |
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. |
Autor: | CyberDuck [ sobota, 22 listopada 2008, 23:58 ] |
Tytuł: | |
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. |
Autor: | Maciek [ niedziela, 23 listopada 2008, 02:38 ] |
Tytuł: | |
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 ![]() |
Autor: | CyberDuck [ niedziela, 23 listopada 2008, 02:51 ] |
Tytuł: | |
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. |
Autor: | Maciek [ niedziela, 23 listopada 2008, 03:17 ] |
Tytuł: | |
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ł. ![]() |
Autor: | zciech [ niedziela, 23 listopada 2008, 11:08 ] |
Tytuł: | |
Wpisz na po poczatku wszytkich "zamieszanych" skryptów -x #!/bin/sh -x 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 |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |