Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest piątek, 29 marca 2024, 01:59

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 38 ]  Przejdź na stronę Poprzednia  1, 2
Autor Wiadomość
 Tytuł:
Post: wtorek, 6 maja 2008, 20:44 
Offline
Użytkownik

Rejestracja: środa, 8 czerwca 2005, 19:39
Posty: 571
Cytuj:
! użytkownicy, którzy nie byli zdefiniowani w panelu administracyjnym dostawali internet bez podawania jakiegokolwiek loginu i hasła. Teraz tak się nie da :)


A czy konfiguracyjne jest możliwe aby część hostów mogła działać poza autoryzacją (chodzi o bramki voip i inne urządzenia nie-komputery)

_________________
| ArchLinux X64 2.6.29-6 (Custom) @ IBM eServer 235
| Intel Xeon 2,4GHz (x2) : 2GB RAM : 2x36GB SCSI (RAID1)
| httpd2.6 mysql exim dhcpd named proftpd stats niceshaper06
| WAN: 35|35 mb/s (GTS) @ 500+ hosts


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 8 maja 2008, 16:03 
Offline

Rejestracja: wtorek, 8 kwietnia 2008, 23:47
Posty: 7
na szybkości to coś takiego można zmajstrować

: [/] [] ()
ip=ip_urzadzenia \
ips=ip_sieci/maska \
user=login_do_bazy \
pass=haslo_do_bazy \
server=localhost \
interface=interfejs_lokalny \
ip_wew=ip_routera \
ip_zew=ip_zewnetrzne_routera \
xtimes=1 \
iptables=/sbin/iptables \
baza=autoryzacja \
tautoryzacja=autoryzacja \
/pelnasciezkadoblokodblok/blokodblok "odblok"


dodac jakas petelke dla adresów ip, których autoryzacja ma nie dotyczyć i wsio


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 08:49 
Offline
Użytkownik

Rejestracja: środa, 11 grudnia 2002, 14:37
Posty: 101
Mam problem z wykonywaniem skryptu odblokuj. W bazie msql nie zapisuje się aktywacja usera. Pozostałe skrypty działają bez zastrzeżeń.
Mimo prawidłowego wpisu w pliku suoders nie działa. Jak z tego wybrnąć?

_________________
Z wyrazami szacunku.
Cesik


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 14:44 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
na początku skryptu zdefiniuj zmienną $ip, która będzie odpowiadać jakiemuś adresowi w sieci który dodałeś do bazy, czyli np:
: [/] [] ()
ip='192.168.1.123'

i odpal skrypt "z palca" ;] czyli:
: [/] [] ()
sh /home/httpd/other/blokada

Po to aby sprawdzi czy skrypt wypluwa jakieś błędy...

Pozdrawiam.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 14:51 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
A dlaczego sprawdzasz hosty co minute ?
Niepotrzebnie to obciaza dodatkowo serwer.
Nielepiej jest sprawdzac znacznik czasu w momencie jak wchodzi user ?
Wtedy jesli juz czas minol mozna wykonac skrypt ...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 14:58 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
nie wiem czy zauważyłeś, ale hosty są sprawdzane co 5 min
: [/] [] ()
*/5 * * * * php -f /home/httpd/other/check.php

i tylko te które po zalogowaniu zostały oznaczone jako aktywne...


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 15:08 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
No ok. No to co 5 min. W kazdym razie niepotrzebnie
w ten sposob, ale i tak mozna :)
Poprostu podpowiadam jak zrobilem cos takiego u siebie.
Jesli blokujesz to i tak przekierowujesz na stronke wiec
na poczatku mozna porownac zancznik czasu aktualny z tym
zapisanym w bazie i jesli juz czas minol to poprostu wykonuje
sie czesc odblokowujaca. Dzieki temu nie musze odpalac
skryptu co 5 min, ale tylko w razie potrzeby.

Uznaj za niewazne :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 23:32 
Offline
Użytkownik

Rejestracja: środa, 11 grudnia 2002, 14:37
Posty: 101
Skrypt odblokuj po zmianie wypluwa następujące błędy:
    iptables: Bad rule (does a matching rule exist in that chain?)
    iptables: No chain/target/match by that name

Wpis o aktywności w bazie msql jest.

_________________
Z wyrazami szacunku.
Cesik


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 13 lutego 2009, 23:51 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
usuń definicje zmiennej ip z pliku odblokuj, którą niedawno dodałeś

zrestartuj iptables
: [/] [] ()
/etc/rc.d/iptables restart

dodatkowo odpal skrypt startsys.php
: [/] [] ()
php -f /home/httpd/other/startsys.php

Po takich zabiegach wszystko powinno zacząć działać

reguły które znajdują się w pliku odblokuj, usuwają regułki iptables odpowiedzialne za przekierowanie na stronę z logowaniem, a z tego co widzę to u Ciebie te regułki nie były aktywne...

Pozdrawiam.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 15 lutego 2009, 02:54 
Offline
Użytkownik

Rejestracja: środa, 11 grudnia 2002, 14:37
Posty: 101
Wykonałem wszystkie czynności jeszcze raz (ponownie włączyłem reguły php), a efektów zadowalających brak.
Tworzą mi się dwa dodatkowe i puste zbiory: errorsys i outsys w katalogu głównym.
Dodatkowo mam błąd certyfikatu - widziany jest certyfikat poczty przez www mimo właściwych ścieżek w plikach konfiguracyjnych.

_________________
Z wyrazami szacunku.
Cesik


Ostatnio zmieniony poniedziałek, 16 lutego 2009, 21:56 przez Cesik, łącznie zmieniany 2 razy

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 15 lutego 2009, 17:22 
Offline
Użytkownik

Rejestracja: niedziela, 8 kwietnia 2007, 15:17
Posty: 383
według mnie ta autoryzacja jest troche dziurawa korzystałem z niej i nie polecam na dłuższą metę.
Jeśli chcesz w ten sposób autoryzować klientów to przetestuj m0n0walla tam masz captive portal działa to bardzo sprawnie
testuję to u siebie w sieci i z logowaniem nie ma większych problemów

_________________
Jeśli post okazał się pomocny kliknij Pomógł
GG: 9822296
Obrazek
Multimo 2Mb


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 25 sierpnia 2010, 11:52 
Offline

Rejestracja: piątek, 29 sierpnia 2008, 12:28
Posty: 22
Wiem, że odgrzewam kotleta sprzed lat ale nie znalazłem nigdzie podobnej autoryzacji opierającej się na bazie MySQL z uwzględnieniem loginu, hasła, ip userów. Próbowałem rożnych wersji 0.3, 0.3b, 0.3c, problem był ten sam z odblokowaniem.

Odpowiednie wpisy w sudoers zrobione i sprawdzone.

Mianowicie skrypt startsys.php działa prawidłowo wszyscy userzy zdefiniowani w bazie są przekierowani na stronę z autoryzacją. Po podaniu loginu i hasła, wyswietla się komunikat o poprawnym zalogowaniu. Niestety po zamknięciu przeglądarki i ponowym jej włączeniu znów wyświetla się strona logowania i internet nie jest odblokowany.

Z tego co mi wiadomo problem tkwi ze zmienna $ip, jeżeli zamiast niej wpisze dowolny adres IP w skrypcie z regułkami odblokowującymi internet, wówczas działa. Moze ktoś wie w czym problem?

Opieram się na wersji 0.3b

plik odblokuj
: [/] [] ()
#!/bin/bash -x

. `echo $0 | sed s/'odblokuj'//`config

     $iptabels -I INPUT -s $ip -p tcp --dport 84 -j REJECT 2>/dev/null
     $iptables -D FORWARD -s $ip -p udp --dport 53 ! -j REJECT 2>/dev/null
     $iptables -D PREROUTING -t nat -s $ip -p tcp --dport 80 -j DNAT --to- 192.168.0.1:84
echo "UPDATE autoryzacja SET aktywny='1' WHERE ip='$ip'" | mysql -u "$user" --password="$pass" -h "$server" --database='autoryzacja'

config
: [/] [] ()
#!/bin/bash

server="localhost"   #serwer mysql
user="xxx"             #user mysql
pass="xxx"             #haslo do mysql
interface="eth1"      #interfejs wewnetrzny
ips="192.168.0.1"     #ip serwera"
port="84"             
x="40"                  #ilosc powtorzen arpingu, domyslnie zaleca sie okolo 40
iptables="/usr/sbin/iptables"   #pelna sciezka do iptables

autoryzacja.php
: [/] [] ()
<?
session_start();
include("../conf.php");
if (!isset($_SESSION['login']))
{

    header("Location: index.php");

    exit();
}
?>

<?
$ip = $_SERVER[ 'REMOTE_ADDR' ];
putenv("ip=$ip");
shell_exec(`sudo $script_path/odblokuj > out 2>error &`);
echo "<br><br><br><br><br><br><br><br><br><br><br>";
echo "<p align=\"center\"><font face=\"verdana\" color=\"red\" size=\"5\"><b>Autoryzacja przebiegla pomyslnie.<br>Aby korzystac z internetu wylacz i ponownie wlacz przegladarke www</b></font></p>";
?>

mysql.php
: [/] [] ()
<?php

          $link = mysql_connect("localhost", xxx, xxx)
          or die("Could not connect");

$query = "CREATE DATABASE autoryzacja";

$result = mysql_query($query)
       or die("<FONT color=\"red\">Problem 1</FONT>");

mysql_select_db("autoryzacja");
$query = "CREATE TABLE autoryzacja (ip TINYTEXT NOT NULL, login TINYTEXT NOT NULL, haslo TINYTEXT NOT NULL, username TINYTEXT, aktywny TINYTEXT, zablokowany TINYTEXT NOT NULL, ogloszenie TINYTEXT NOT NULL, info TINYTEXT)";
$result = mysql_query($query)
       or die("<FONT color=\"red\">Problem 2</FONT>");


$query = "CREATE TABLE logi (ip TINYTEXT NOT NULL, data TINYTEXT NOT NULL, godzina TINYTEXT NOT NULL, akcja TINYTEXT NOT NULL)";
$result = mysql_query($query)
       or die("<FONT color=\"red\">Problem 3</FONT>");


$query = "CREATE TABLE ogloszenia (ip TINYTEXT NOT NULL, ogloszenie TINYTEXT)";
$result = mysql_query($query)
       or die("<FONT color=\"red\">Problem 4</FONT>");

$query = "INSERT INTO `ogloszenia` (`ip`, `ogloszenie`) VALUES ('all', 'NULL')";
$result = mysql_query($query)
       or die("<FONT color=\"red\">Problem 5</FONT>");


$query = "CREATE TABLE admin (login TINYTEXT NOT NULL, haslo TINYTEXT NOT NULL, nrtel TINYTEXT NOT NULL)";
$result = mysql_query($query)
            or die("<FONT color=\"red\">Problem 6</FONT>");


$query = "INSERT INTO `admin` (`login`, `haslo`, `nrtel`) VALUES ('tuuser', 'tupass', 'tunrtel')";
$result = mysql_query($query)
            or die("<FONT color=\"red\">Problem 7</FONT>");


echo "Baza danych poprawnie zainstalowana :)";


?>


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 25 sierpnia 2010, 16:48 
Offline
CDN Support

Rejestracja: środa, 12 lipca 2006, 14:46
Posty: 497
Lokalizacja: Sarnaki / Warszawa
bardzo prawdopodobne że masz transparentne proxy i tu właśnie leży problem.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 26 sierpnia 2010, 11:16 
Offline

Rejestracja: piątek, 29 sierpnia 2008, 12:28
Posty: 22
W tym problem, iż nie mam serwera proxy i pomimo tego właśnie to nie działa. :-(
Małe info o pakietach na serwerze nnd:

apache-2.2.6-1nnd
iptables-1.3.4-15nnd
kernel24-2.4.35-2nnd
mysql-5.0.41-1nnd
php-4.4.7-2nnd
phpmyadmin-2.9.0.2-1nnd

Dziwne bo z pliku startsys.php a w nim wywoływany plik startsys.sh działa prawidłowo. Więc w czym może tkwić problem?

startsys.sh
: [/] [] ()
#!/bin/sh -x

. `echo $0 | sed s/'startsys.sh'//`config

     $iptabels -I INPUT -s $ip -p tcp --dport 84 -j REJECT 2>/dev/null
     $iptables -I FORWARD -s $ip -p udp --dport ! 53 -j REJECT 2>/dev/null
     $iptables -A PREROUTING -t nat -s $ip -p tcp --dport 80 -j DNAT --to- 192.168.0.1:84
echo "UPDATE autoryzacja SET aktywny='0' WHERE ip='$ip'" | mysql -u "$user" --password="$pass" -h "$server" --database='autoryzacja'

startsys.php
: [/] [] ()
<?php

include ("/home/httpd/autoryzacja3b/conf.php");

$link = mysql_connect($server, $user, $pass)
or die("Could not connect");
mysql_select_db("autoryzacja");

$zapytanie = "SELECT `ip` FROM `autoryzacja`";
$idzapytania = mysql_query($zapytanie);

while ($wiersz = mysql_fetch_row($idzapytania))
    {
    shell_exec(`ip='$wiersz[0]' $script_path/startsys.sh > outsys 2>errorsys &`);
    }

?>


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 26 sierpnia 2010, 13:01 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Wiesz co u mnie byl taki problem i wlasciwie jest do tej pory mimo
tego co pisal wtedy o ile pamietam chyba Jakub. Twierdzil, ze wystarczy
napisac shell_exec i system powinien to wykonac jesli mu sie na to zezwoli.
A zezwolic mozna nadajac odpowiednie chmod plikowi oraz dopisanie go do
sudo poprzez visudo. Teoretycznie komenda powinna sie wykonac. U mnie
jednak w ten sposob nie chce to zadzialac i musze wykonywac osobne
pliki txt w systemie wywolujac je z poziomu php. Czyli w tym miejscu
gdzie u ciebie jest :
: [/] [] ()
shell_exec(`ip='$wiersz[0]' $script_path/startsys.sh > outsys 2>errorsys &`);

powinno byc wywolanie pliku wykonywalnego txt z przekazaniem do niego
parametrow. Ja sobie poradzilem w ten sposob, ze tworze plik txt
w skrypcie php i zapisuje go na dysku w znanej lokacji i nazwie
dla sudo i wywoluje go z poziomu php za pomoca shell_exec i dopiero
taka kombinacja mi dziala. Sprawdz czy samo shell_exec wykonuje
to co powinno.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 27 sierpnia 2010, 11:29 
Offline

Rejestracja: piątek, 29 sierpnia 2008, 12:28
Posty: 22
CyberDuck w najbliższym czasie postaram się to sprawdzić. Chwilowo nie mam dostępu do nnd. A byłaby taka możliwość byś wstawił swoją zawartość tych plików?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: piątek, 27 sierpnia 2010, 12:52 
Offline
Użytkownik

Rejestracja: środa, 23 stycznia 2008, 17:32
Posty: 691
Lokalizacja: Pabianice
Nie bo ja pisalem sam taki panel. Procz blokowania dodalem
pare rzeczy jak : system rozliczen, forward portow, kto na
nnd, virtualhost, reboot, wylacz i pare innych.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 listopada 2010, 15:36 
Offline

Rejestracja: piątek, 29 sierpnia 2008, 12:28
Posty: 22
Sprawdziłem, samo
: [/] [] ()
shell_exec(`sudo $script_path/odblokuj > out 2>error &`);
wykonuje się prawidłowo. Za to zauważyłem, jakby nie działała funkcja:
: [/] [] ()
$ip = $_SERVER[ 'REMOTE_ADDR' ];
putenv("ip=$ip");
z pliku autoryzacja.php, odpowiadająca za poprawne odczytanie adresu IP klienta. Po wykonaniu pliku ('odblokuj') otrzymuje 2 pliki out i error.
W error:
: [/] [] ()
++ echo /bin/odblokuj
++ sed s/odblokuj//
+ . /bin/config
++ server=localhost
++ user=xxx
++ pass=xxx
++ iptables=/usr/sbin/iptables
+ /usr/sbin/iptables -D INPUT -s -p tcp --dport 84 -j REJECT
+ /usr/sbin/iptables -D FORWARD -s -p udp --dport 53 '!' -j REJECT
+ /usr/sbin/iptables -D PREROUTING -t nat -s -p tcp --dport 80 -j DNAT --to- 192.168.0.1:84
Try `iptables -h' or 'iptables --help' for more information.
+ echo 'UPDATE autoryzacja SET aktywny='\''1'\'' WHERE ip='\'''\'''
+ mysql -u xxx --password=xxx -h localhost --database=autoryzacja
Widać że za "-s" powinien być adres IP klienta.
I tu już moje możliwości się kończą. Może ktoś wie co jest nie tak?


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 38 ]  Przejdź na stronę Poprzednia  1, 2

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 25 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