duminică, 14 aprilie 2013

Configurarea unui server DNS

Primul pas este definirea unui alias pentru placa de rețea.
Comandă
sudo gedit etc/network/interfaces
Se editează fișierul interfaces astfel
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth0:0
iface eth0:0 inet static
address 192.168.22.3
netmask 255.255.255.0
dns-nameservers 192.168.22.3
După editarea fișier se va salva modificările iar 192.168.22.0 este rețeaua unde se va furniza serviciul de server DNS. Pentru revenire la terminal este suficient închiderea ferestrei gedit. În loc de gedit este recomandat să folosiți editorul nano
Se va restarta rețeaua cu comanda-
sudo /etc/init.d/networking restart
Se va testa funcționarea aliasului de rețea cu comanda-
ping 192.168.22.3 -t ttl Se va opri testarea cu combinația de taste Ctrl+C.

Următorul pas este instalarea BIND. Comanda este -
sudo apt-get install bind9 bind9utils bind9-doc
Se restartează calculatorul.

Acum trebuie configurată zona în care serviciul DNS este oferit. O implementare comuna este folosirea ca forwarder a DNS furnizate de ISP si crearea unei zone locale penru serviciul DNS.

1.Adaugare forwarder
sudo gedit /etc/bind/named.conf.options
se va activa forwarder prin înlăturarea slash și adăugare adrese IP servere DNS
forwarders {
78.96.7.88; 95.77.94.88;
};
și se va anula suport Ipv6
listen-on-v6 { none; };

2.Definire zonă
Se creează și editează fișiere definire zone. Vom folosi domeniul local numdom.local 
sudo gedit /etc/bind/db.numdom.local
Se adaugă următorul conținut
; 
; BIND data file for local loopback interface 
; 
$TTL    604800 
@       IN      SOA     ns.numdom.local. administrator.numdom.local. ( 
                              1         ; Serial 
                         604800         ; Refresh 
                          86400         ; Retry 
                        2419200         ; Expire 
                         604800 )       ; Negative Cache TTL 
; 
@       IN      NS      ns.numdom.local. 
ns      IN      A       192.168.22.3 
box     IN      A       192.168.22.3
3.Definire server ca master server DNS în zonă
sudo gedit /etc/bind/named.conf.local

   zone "numdom.local" {
             type master;
             file "/etc/bind/db.numdom.local";
        };
4.Restartare serviciu DNS
sudo /etc/init.d/bind9 restart
5.Crearea zone Reverse pentru convertirea de adrese IP în nume domeniu
a)se editează din nou named.conf.local și se adaugă următoarele:
sudo gedit /etc/bind/named.conf.local
zone "22.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.192";
};
b) se creeaza si se editeaza continutul fisierului /etc/bind/db.192
sudo gedit /etc/bind/db.192
Se adaugă următorul conținut
; 
; BIND reverse data file for local loopback interface 
; 
$TTL    604800 
@       IN      SOA     ns.NUMDOM.local. administrator.numdom.local. ( 
                              2         ; Serial 
                         604800         ; Refresh 
                          86400         ; Retry 
                        2419200         ; Expire 
                         604800 )       ; Negative Cache TTL 
; 
@       IN      NS      ns. 
10      IN      PTR     ns.numdom.local.

c)se restarteaza bind
sudo /etc/init.d/bind9 restart

d)se editează fisierul hosts
sudo gedit /etc/hosts
Se va adăuga următoarea linie -
192.168.22.3 home1 home1.numdom.local    unde home1 este numele stației.

e)se editează fisierul resolv.conf
sudo gedit /etc/resolv.conf
Se înlocuiește  conținutul cu următoarea linie
nameserver 192.168.22.3 
f)Se restartează rețeaua și serviciul Bind 
sudo /etc/init.d/networking restart /etc/init.d/bind9 restart

 Verificare
used@home1:~$ dig numdom.local 
; <<>> DiG 9.7.0-P1 <<>> numdom.local 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21389 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 
;; QUESTION SECTION: 
;numdom.local.   IN A 
;; AUTHORITY SECTION: 
numdom.local.  604800 IN SOA ns.numdom.local. administrator.numdom.local. 1 604800 86400 2419200 604800 
;; Query time: 0 msec 
;; SERVER: 192.168.22.3#53(192.168.22.3) 

luni, 25 martie 2013

Auto IT

  AutoIt  was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

Task-ul inițial avea următoarele date:
- O aplicație pentru a fi lansată necesita drepturi administrative. 
- Utilizatorii aplicației aveau conturi limited user.
Bineînțeles că soluția de moment a fost acordarea de drepturi administrative utilizatorilor ce foloseau aceea aplicație. Ulterior toți utilizatorii au cerut drepturi administrative.

M-a impresionat plăcut programul AutoIt v3. În general majoritatea programelor de acest gen arată utilizatorului limitele și lipsurile programului. AutoIt oferă funcțiile care le dorești pentru scripturi eficiente. Relevante sunt rapiditatea scrierii scripturilor și complexitatea acțiunilor ce sunt tratate eficient în câteva linii de cod.

Exemplu de script care permite unui user vizualizarea eventurilor inclusiv de securitate:
; Fill in the username and password appropriate for your system.
Local $sUserName = "nameofadmin"
Local $sPassword = "passwordofadmin"

; Run a command prompt as the other user.
RunAs($sUserName, @ComputerName, $sPassword, 0, @ComSpec & " /c eventvwr.exe & Exit ", @SystemDir)
După compilare se obține un program executabil care poate fi lansat în execuție de orice utilizator ca și cum ar avea drepturi administrative. Serviciul secondary logon trebuie să fie activ. Altfel scriptul nu funcționează. Utilitarele SysInternals  gen „runas” nu funcționează cu setările uzuale de securitate.