Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
 Użytkownik
	
Hej, robie projekt "centralne zarządzanie siecią bezprzewodową", mam już skonfigurowanego radius-a z mysql-em (logowanie odbywa się poprzez indywidualny login oraz hasło), mam postawiony główny urząd ceryfikacji oraz serwer dhcp.
 
Mam takie pytania:
1) Co i jak logować w przypadku jeśli przyjdzie pewniego dnia policja z danymi że tego dnia o tej godzinie z takiego adresu na taki adres nastąpił atak bądź ktoś ściągał jakieś nielegalne rzeczy.
2) Jak ogarnąć certyfikaty żeby nie biegać do każdego nowego uzytkownika z pendrivem wgrywając mu certyfikat (myślałem o stronce z tym że użytkownik musiał by mieć jakiś dostęp do internetu).
3)Jakieś dodatkowe sugestie co by można jeszcze zaimplementować.
Docelowo myślałem o jakiejś stronce w php z pod której będzie można sprawdzić kto i kiedy oraz jaki adres ip został mu przyznany, plus możliwość edycji użytkowników sieci.
No i tutaj będe miał do Was późniejsprawe abyście pomogli mi w kwestii połączenia tego wszystkiego.
Z góry dziękuje za jakiekolwiek uwagi.
Offline



 Członek DUG
	



Docelowo myślałem o jakiejś stronce w php z pod której będzie można sprawdzić kto i kiedy oraz jaki adres ip został mu przyznany, plus możliwość edycji użytkowników sieci.
Tu nagios było by fajne, są tam też statystyki więc będziesz miał kompleksowe informacje dotyczące sieci, możesz sobie również do niego napisać jakieś wtyczki w razie potrzeby :D
Offline
 Użytkownik
	
Tu nagios było by fajne, są tam też statystyki więc będziesz miał kompleksowe informacje dotyczące sieci, możesz sobie również do niego napisać jakieś wtyczki w razie potrzeby :D
Widze, że ten nagios to ciekawa rzecz, teraz tylko czy jest gdzieś sensowanie opisana kofiguracja tego narzędzia
Offline




 matka przelozona
	
 Użytkownik
	
BiExi napisał(-a):
Ulogd + jakaś baza danych i masz ładne logowanie
Są też jakieś graficzne narzędzia do przeglądania logów
A macie jakąś dokumentacje lub info jak to skonfigurować bo na stronie netfilter mało info jest.
Offline
 Użytkownik
	
a da się wyświetlić logi z pliku w php, bo ulogd cos u mnie nie działa
Offline
 Użytkownik
	
Wie ktoś czy da się połączyc serwer dhcp z radiusem by przy autoryzacji użytkownika w radiusie wyświetlany był też adres ip jaki został mu przydzielony ?
Offline


 Użyszkodnik DUG
	


Offline







 Podobno człowiek...;)
	







Bardzo łatwo.
Jedno malutkie pytanko.
Czy wiek ktoś, jak wbić do łba serwerowi dhcp, żeby oferował prawidłowy  DHCP-Pack  tylko przypadku, kiedy Radius uwierzytelni duszyczkę prawidłowo?
A w przeciwnym razie przydzielał adres  IP 127.0.0.1,DNS 127.0.0.2 i 3, Gateway 127.0.0.5 itp. :P
Czy to w ogóle wykonalne?
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2011-10-28 15:44:32)
Offline
 Użytkownik
	
Czy jest możliwość w freeradiusie lub już w iptables jakoś podzielić użytkowników na grupy, przykładowo żeby kadra zarządzająca miała dostęp do wszystkiego, a użytkownicy zwykli mieli ograniczony dostęp np. do przeglądania stron itp. ?
Offline


 Moderator
	
 Użytkownik
	
też o tym myslałem, tylko niewiem jak ustawić w serwerze dhcp, że ten użytkownik należy do takiej grupy i trzeba mu przydzielić adres z tego zakresu.
Offline


 Moderator
	
 Użytkownik
	
mam radiusa, a do tego serwer dhcp który po przepuszczeniu przez radiusa przydziela dynamicznie adresy z zadanego zakresu.
Offline


 Użyszkodnik DUG
	


zapodaj configami, może co doradzimy
Offline
 Użytkownik
	
dhcp:
log-facility local7;
ddns-update-style none;
option domain-name-servers 192.168.0.1;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}a które konfigi chcesz jeszcze zobaczyć, z radiusa ich troche sporo jest.
Offline


 Użyszkodnik DUG
	


dhcp i radiusa
Offline
 Użytkownik
	
clients.conf
client 192.168.0.50/32 {
secret = haslo
}eap.conf
    eap {
        
        default_eap_type = peap
        
        timer_expire     = 60
        
        ignore_unknown_eap_types = no
        
        cisco_accounting_username_bug = no
        
        max_sessions = 4096
        
        md5 {
        }
        
        leap {
        }
        
        gtc {
            
            auth_type = PAP
        }
        
        tls {
            
            certdir = ${confdir}/certs
            cadir = ${confdir}/certs
            private_key_password = haslo
            private_key_file = ${certdir}/server.key
            
            certificate_file = ${certdir}/server.pem
            
            CA_file = ${cadir}/ca.pem
            
            dh_file = ${certdir}/dh
            random_file = /dev/urandom
            
            
            CA_path = ${cadir}
             
            
            
            cipher_list = "DEFAULT"
            
            make_cert_command = "${certdir}/bootstrap"
            
            cache {
                
                  enable = no
                 
                  lifetime = 24 # hours
                
                  max_entries = 255
            }
            
            verify {
                
    
            }
        }
        
        ttls {
            
            default_eap_type = md5
            
            copy_request_to_tunnel = no
            
            use_tunneled_reply = no
            
            virtual_server = "inner-tunnel"
            
        
        }
        
        peap {
            
            default_eap_type = mschapv2
            
            copy_request_to_tunnel = yes
            use_tunneled_reply = yes
            
            virtual_server = "inner-tunnel"
        }
        
        mschapv2 {
        }
    }radiusd.conf
prefix = /usr
exec_prefix = /usr
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log/freeradius
raddbdir = /etc/freeradius
radacctdir = ${logdir}/radacct
name = freeradius
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/${name}
db_dir = ${raddbdir}
libdir = /usr/lib/freeradius
pidfile = ${run_dir}/${name}.pid
user = freerad
group = freerad
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
listen {
    
    type = auth
    
    ipaddr = *
        port = 0
    
}
listen {
    ipaddr = *
    port = 0
    type = acct
}
hostname_lookups = no
allow_core_dumps = no
regular_expressions    = yes
extended_expressions    = yes
log {
    
    destination = files
    
    file = ${logdir}/radius.log
    
    syslog_facility = daemon
    
    stripped_names = yes
    
    auth = yes
    
    auth_badpass = no
    auth_goodpass = no
    
}
checkrad = ${sbindir}/checkrad
security {
    
    max_attributes = 200
    
    reject_delay = 1
    
    status_server = yes
}
proxy_requests  = yes
$INCLUDE proxy.conf
$INCLUDE clients.conf
thread pool {
    
    start_servers = 5
    
    max_servers = 32
    
    min_spare_servers = 3
    max_spare_servers = 10
    
    max_requests_per_server = 0
}
modules {
    
    $INCLUDE ${confdir}/modules/
    
    $INCLUDE eap.conf
    
    $INCLUDE sql.conf
    
    
}
instantiate {
    
    exec
    
    expr
    expiration
    logintime
    
}
$INCLUDE policy.conf
$INCLUDE sites-enabled/sql.conf
sql {
    
    database = "mysql"
    
    driver = "rlm_sql_${database}"
    
    server = "localhost"
    
    login = "login"
    password = "haslo"
    radius_db = "radius"
    
    acct_table1 = "radacct"
    acct_table2 = "radacct"
    postauth_table = "radpostauth"
    authcheck_table = "radcheck"
    authreply_table = "radreply"
    groupcheck_table = "radgroupcheck"
    groupreply_table = "radgroupreply"
    usergroup_table = "radusergroup"
    
    deletestalesessions = yes
    
    sqltrace = no
    sqltracefile = ${logdir}/sqltrace.sql
    
    num_sql_socks = 5
    connect_failure_retry_delay = 60
    lifetime = 0
    max_queries = 0
    nas_table = "nas"
    $INCLUDE sql/${database}/dialup.conf
}/sites-enabled/default
authorize {
    preprocess
    auth_log
    chap
    mschap
    digest
    suffix
    
    eap {
        ok = return
    }
    
    files
    sql
    
    expiration
    logintime
    pap
}
authenticate {
    
    Auth-Type PAP {
        pap
    }
    
    Auth-Type CHAP {
        chap
    }
    
    Auth-Type MS-CHAP {
        mschap
    }
    
    digest
    unix
    eap
}
preacct {
    preprocess
    suffix
    files
}
accounting {
    detail
    unix
    radutmp
    sql
    sql_log
    exec
    attr_filter.accounting_response
}
session {
    radutmp
    sql
}
post-auth {
    reply_log
    sql
    sql_log
    exec
    Post-Auth-Type REJECT {
        attr_filter.access_reject
    }
}
pre-proxy {
}
post-proxy {
    eap
}/sites-enabled/inner-tunnel
server inner-tunnel {
listen {
       ipaddr = 127.0.0.1
       port = 18120
       type = auth
}
authorize {
    
    chap
    
    mschap
    
    suffix
    
    update control {
           Proxy-To-Realm := LOCAL
    }
    
    eap {
        ok = return
    }
    
    files
    sql
    expiration
    logintime
    pap
}
authenticate {
    Auth-Type PAP {
        pap
    }
    Auth-Type CHAP {
        chap
    }
    Auth-Type MS-CHAP {
        mschap
    }
    unix
    eap
}
session {
    radutmp
}
post-auth {
    Post-Auth-Type REJECT {
        attr_filter.access_reject
    }
}
pre-proxy {
}
post-proxy {
    eap
}
}dhcp
log-facility local7;
ddns-update-style none;
option domain-name-servers 192.168.0.1;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}Offline
 Użytkownik
	
Jest takie narzędzie jak dnsmasq, ale niewiem czy się do tego nada
Offline


 Użyszkodnik DUG
	


prawde mówiąc nie bawiłem się w taką konfigurację... ale z tego co wiem to musisz skonfigurować jeszcze plik `raddb/sites-available/dhcp` i dodać go do `raddb/sites-enabled` , musisz również wyedytować plik `share/dictionary` i odkomentować `$INCLUDE dictionary.dhcp` , tutaj masz jeszcze kilka linków:
http://www.mail-archive.com/freeradius-users@lists. … msg59082.html
http://www.trzepak.pl/viewtopic.php?t=21917
http://www.trzepak.pl/viewtopic.php?t=26694
http://freeradius.1045715.n5.nabble.com/SoH-and-DHCP-td4616593.html
http://freeradius.1045715.n5.nabble.com/FreeRADIUS-DHCP-td2773716.html
powinny wystarczyć do skonfigurowania freeradiusa, co do konfiguracji dhcpd pod radiusa to nie wiem, jak coś znajdę to dopiszę...
Offline
 Użytkownik
	
Dzięki za materiały, popróbuje coś skonstruować.
a propo znalazłem na sieci coś takiego, do zapobiegania zmianie adresu ip przez użytkownika, bo jeśli mam zarządzać uprawnieniami poprzez przydzielony adres ip to takie coś musi się tam znaleźć. I takie pytanie bo skrypt wywala się na warunku 
 
if [ \( $1 = 'add' -o $1 = 'old' \) -a \ `sudo $IPTABLES -L FORWARD | grep -i -c “ $3 “` -eq 0 ] then sudo $IPTABLES -A FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \ -m mac --mac-source $2 -s $3 -j ACCEPT sudo $IPTABLES -A FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \ -d $3 -j ACCEPT fi
a dokładniej na grep -i -c “ $3 “`ja prawde mówiąc też niewiem skąd i do czego służyć ma ta linijka jakby ktoś był w stanie wytłumczyć o co tam chodzi to byłbym wdzięczny
skrypt zarządzający regułami łańcucha forward:
# skrypt posiada trzy parametry: # 1) add (nowa dzierżawa DHCP) | # del (wygasająca dzierżawa) | # old (odnowiona dzierżawa – # np. w wypadku restartu dnsmasq w czasie trwania dzierżawy) # 2) adres MAC klienta # 3) adres IP klienta otrzymany z DHCP IPTABLES='/sbin/iptables' EXT_INTERFACE=<EXTERNAL INTERFACE> INT_INTERFACE=<INTERNAL INTERFACE> # jeśli dzierżawa jest nowa ($1 = add) lub odnowiona ($1 = old) # i nie ma jeszcze takiej reguły w łańcuchu FORWARD # to pozwalamy na przekazywanie pakietów w obie strony. if [ \( $1 = 'add' -o $1 = 'old' \) -a \ `sudo $IPTABLES -L FORWARD | grep -i -c “ $3 “` -eq 0 ] then sudo $IPTABLES -A FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \ -m mac --mac-source $2 -s $3 -j ACCEPT sudo $IPTABLES -A FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \ -d $3 -j ACCEPT fi # jeśli dzierżawa wygasa ($1 = del) # i istnieją reguły w łańcuchu FORWARD # pozwalające na przekazywanie pakietów w obie strony # to je usuwamy. if [ $1 = 'del' -a \ `sudo $IPTABLES -L FORWARD | grep -i -c “ $3 “` -ne 0 ] then sudo $IPTABLES -D FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \ -m mac --mac-source $2 -s $3 -j ACCEPT sudo $IPTABLES -D FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \ -d $3 -j ACCEPT fi
Konfiguracja dnsmasq.conf
# dnsmasq uruchamiany jest jako użytkownik dnsmasq, grupa dnsmasq user=dnsmasq group=dnsmasq # wypisujemy interfejsy, na których nasłuchuje dnsmasq interface=<INTERNAL_INTERFACE> # wypisujemy interfejsy, na których _NIE_ nasłuchuje dnsmasq except-interface=<EXTERNAL_INTERFACE> # podajemy dokładnie, na których adresach # dnsmasq powinien nasłuchiwać listen-address=127.0.0.1 listen-address=<IP_ADDRESS> # wymuszamy bindowanie określonego adresu dla usług # zadeklarowanych powyżej bind-interfaces # ustawiamy domenę domain=<DOMAIN> # ustawiamy skrypt, który ma być uruchamiany # przy uzyskaniu/wygaśnięciu dzierżawy DHCP dhcp-script=/opt/local/dnsmasq/dnsmasq_event # ustawiamy (umowną) nazwę sieci na mynetwork1, # zakres adresów IP i okres dzierżawy DHCP dhcp-range=mynetwork1,<LOWEST_IP>,<HIGHEST_IP>,2h # serwer DHCP ma być "autorytatywny" dhcp-authoritative
a wywala cos takiego:
grep: “: Nie ma takiego pliku ani katalogu [: 23: closing paren expected grep: “: Nie ma takiego pliku ani katalogu [: 35: =: unexpected operator
Ostatnio edytowany przez czeri (2011-11-11 13:49:38)
Offline
 Użytkownik
	
Chyba, że znacie jakieś inne metody zapobiegające zmianie adresu ip ?
Offline
 Użytkownik
	
Czy Radius jest w stanie logować odwiedzane witryny przez użytkowników, czy trzeba do tego zaprzęgać coś innego jak np. iptables?
Offline


 Moderator
	
 Użytkownik
	
Myślałem o iptables + ulog i nakładka graficzna nulog. Z tym, że mam problem z połączeniem logów radiusa z ulog-iem.
Nulog wyświetla mi adres ip źródłowy i docelowy, godzinę oraz port źródłowy i docelowy, chciałbym aby wyświetlał jeszcze nazwę użytkownika który tą strone odwiedzał, kiedy dany użytkownik sie zalogował oraz kiedy się wylogował. Czy macie jakieś pomysły jak się do tego zabrać ? i czy to jest osiągalne za pomocą tych narzędzi, czy trzeba by użyć czego innego?
Offline