Обзор новой версии дистрибутива Debian GNU/Linux 4.0 Евгений Балдин deb http://security.debian.org/ stable/updates main contrib non-free > aptitude update > aptitude upgrade ----------------------------------------------------------------------------------------------------------------- Используем Cisco PIX для обеспечения VPN-подключений к локальной сети Ильяс Кулиев pixfirewall> enable # show version # conf t # interface ethernet0 auto # interface ethernet1 auto # nameif ethernet0 outside security0 # nameif ethernet1 inside security100 # ip address outside 1.1.1.1 255.255.255.252 # ip address inside 192.168.224.1 255.255.255.0 # route outside 0.0.0.0 0.0.0.0 1.1.1.2 # ip local pool vpnclient 192.168.250.1-192.168.250.14 # access-list 101 permit ip 192.168.224.0 255.255.255.0 192.168.250.0 255.255.255.240 # global (outside) 1 1.1.1.1 # nat (inside) 0 access-list 101 # nat (inside) 1 0.0.0.0 0.0.0.0 0 0 # aaa-server RADIUS protocol radius # aaa-server partnerauth protocol radius # aaa-server partnerauth (inside) host 192.168.224.127 radiuspassword timeout 10 # sysopt connection permit-ipsec # crypto ipsec transform-set mytrans1 esp-3des esp-md5-hmac # crypto dynamic-map dynmap 10 set transform-set mytrans1 # crypto map mymap 10 ipsec-isakmp dynamic dynmap # crypto map mymap client authentication partnerauth # crypto map mymap interface outside # isakmp enable outside # isakmp policy 10 authentication pre-share # isakmp policy 10 encryption 3des # isakmp policy 10 hash md5 # isakmp policy 10 group 2 # isakmp policy 10 lifetime 3600 # vpngroup pixvpn address-pool vpnclient # vpngroup pixvpn dns-server 192.168.224.127 # vpngroup pixvpn wins-server 192.168.224.127 # vpngroup pixvpn default-domain peanuts-unlimited.local # vpngroup pixvpn split-tunnel 101 # vpngroup pixvpn idle-time 1800 # vpngroup pixvpn password myVPNgrouppassword # exit pixfirewall# wr mem ----------------------------------------------------------------------------------------------------------------- Split DNS: заставим BIND работать на два фронта! Яков Коваленко Листинг 1. Файл ext.hornsandhooves.ru $TTL 86400 hornsandhooves.ru. IN SOA ns1.hornsandhooves.ru. noc.hornsandhooves.ru. ( 2007032900 ; serial 21600 ; refresh (6 hours) 1200 ; retry (20 minutes) 86400 ; expire (1 day) 432000 ; minimum (5 days) ) IN NS ns1.hornsandhooves.ru. IN NS ns2.hornsandhooves.ru. IN MX 5 mx1.hornsandhooves.ru. IN MX 10 mx2.hornsandhooves.ru. IN A 194.0.1.1 www IN A 194.0.1.1 ns1 IN A 194.0.1.3 ns2 IN A 194.0.1.4 mx1 IN A 194.0.1.3 mx2 IN A 194.0.1.4 Листинг 2. Файл int.hornsandhooves.ru $TTL 86400 hornsandhooves.ru. IN SOA ns1.hornsandhooves.ru. noc.hornsandhooves.ru. ( 2007032900 ; serial 21600 ; refresh (6 hours) 1200 ; retry (20 minutes) 86400 ; expire (1 day) 432000 ; minimum (5 days) ) IN NS ns1.hornsandhooves.ru. IN NS ns2.hornsandhooves.ru. IN MX 5 mx1.hornsandhooves.ru. IN MX 10 mx2.hornsandhooves.ru. IN A 192.168.1.1 www IN A 192.168.1.1 ns1 IN A 192.168.1.3 ns2 IN A 192.168.1.4 mx1 IN A 192.168.1.3 mx2 IN A 192.168.1.4 dev IN A 192.168.1.10 gate IN A 192.168.1.11 filesrv IN A 192.168.1.12 dhcp IN A 192.168.1.13 bender IN A 192.168.1.20 panikovsky IN A 192.168.1.21 funt IN A 192.168.1.22 shura IN A 192.168.1.23 options { directory "/var/named"; notify yes; pid-file "/var/run/named/named.pid"; statistics-file "named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; // Создадим ACL, в котором укажем, что внутренние адреса – подсеть 192.168.1 acl "internals" {192.168.1.0/24; 127.0.0.1/32;}; // Объявляем вид – internal зоны для внутренней сети view "internal" { // Этот вид разрешено просматривать только внутренним клиентам match-clients { "internals"; }; // Обозначим slave-сервер. Только ему разрешим скачивать зону allow-transfer {192.168.1.4;}; // Наш сервер рекурсивен для внутренних клиентов, сам будет узнавать адрес для клиента recursion yes; //ROOT zone zone "." IN { type hint; file "named.ca"; }; //Forward zones zone "hornsandhooves.ru" in { type master; file "forward/int.hornsandhooves.ru"; }; //Reverse zone zone "1.168.192.in-addr.arpa" in { type master; file "reverse/1.168.192"; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; }; // Объявляем вид для внешних запросов view "external" { // К этому виду имеют доступ все match-clients {"any"; }; // Наш сервер не рекурсивен для Интернета allow-recursion { localhost; }; // Укажем внешний адрес slave-сервера allow-transfer { 194.0.1.4;}; //ROOT zone zone "." IN { type hint; file "named.ca"; }; //Forward zones zone "hornsandhooves.ru" in { type master; file "forward/ext.hornsandhooves.ru"; }; //Reverse zone zone "1.0.194.in-addr.arpa" in { type master; file "reverse/1.0.194"; }; }; include "/etc/rndc.key"; // Файл можно сгенерировать командой rndc-confgen -a -c /etc/rndc.key options { directory "/var/named"; notify yes; pid-file "/var/run/named/named.pid"; statistics-file "named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; //ACLs acl "internals" {192.168.1.0/24; 127.0.0.1/32; }; view "internal" { match-clients { "internals"; }; query-source address 192.168.1.4 port 43303; recursion yes; // Здесь мы как раз указываем, с какого интерфейса запрашиваем передачу зоны. // В данном случае – с внутреннего, так как на внутреннем виде, на мастере, // трансфер разрешен для внутреннего интерфейса transfer-source 192.168.1.4; //ROOT zone zone "." IN { type hint; file "named.ca"; }; zone "hornsandhooves.ru" in { type slave; file "slave/int.hornsandhooves.ru"; masters { 192.168.1.3; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; //Reverse zone zone "1.168.192.in-addr.arpa" in { type slave; file "reverse/1.168.192"; masters { 192.168.1.3; }; }; }; view "external" { match-clients {"any"; }; query-source address 194.0.1.4 port 43303; allow-recursion { localhost; }; // Здесь мы указываем, что забираем зону с внешнего интерфейса – // только для него на мастере внешняя зона отдается transfer-source 194.0.1.4; //ROOT zone zone "." IN { type hint; file "named.ca"; }; //Forward zones zone "hornsandhooves.ru" in { type slave; file "slave/ext.hornsandhooves.ru"; masters { 194.0.1.3; }; }; //Reverse zone zone "1.0.194.in-addr.arpa" in { type slave; file "reverse/1.0.194"; masters { 194.0.1.3; }; }; }; include "/etc/rndc.key"; acl "internals" {!192.168.1.5; 192.168.1.0/24;}; ----------------------------------------------------------------------------------------------------------------- Строим Jabber-сервер с OpenFire Сергей Яремчук $ sudo apt-get update $ sudp apt-get install sun-java6-jre mysql-server $ cd /opt/ $ sudo tar xzvf /home/source/openfire_3_3_0.tar.gz $ sudo mysqladmin --user=root --password=db_passwd create jabber $ cat ./openfire/resources/database/openfire_mysql.sql | mysql --user=root --password=db_passwd --database=jabber $ cd openfire/bin $ ./openfire $ ./openfire start jdbc:mysql://localhost:3306/jabber $ cd /opt/openfire/resources/security/ $ sudo keytool -storepasswd -keystore keystore $ sudo keytool -delete -keystore keystore -alias rsa $ sudo keytool -delete -keystore keystore -alias dsa $ sudo keytool -genkey -keystore keystore -alias grinder.com $ sudo keytool -certreq -keystore keystore -alias grinder.com -file grinder_com.csr $ sudo keytool -import -keystore keystore -alias grinder.com -file signed_ grinder_com.csr $ sudo keytool -storepasswd -keystore truststore $ sudo keytool -import -keystore truststore -alias user1 -file user1_certificate_file ----------------------------------------------------------------------------------------------------------------- Резервное копирование и восстановление базы данных Oracle средствами ОС Сергей Косько $backuponl.sh ORCL /backup/hot $backup.sh ORCL /backup/cold SQL> alter system switch logfile; testcase$cd /ora/oracle/oradata/ORCL;find . -type f -exec rm -f {} \; testcase$cd /ora/oracle/oradata/Redo-Ctrl;find . -type f -exec rm -f {} \; testcase$cd /backup/cold testcase$tar xvf control.tar testcase$tar xvf data.tar testcase$tar xvf dbs.tar testcase$tar xvf redo.tar testcase$dbstart testcase$sqlplus "/ as sysdba" SQL>startup mount SQL>alter database open resetlogs; testcase$cd /ora/oracle/oradata/ORCL;find . -type f -exec rm -f {} \; testcase$cd /backup/hot testcase$tar xvf data.tar testcase$recover.sh ORCL testcase$tmprecov.sh ORCL testcase$tar xvf control.tar testcase$cp control01.ctl /ora/oracle/oradata/Redo-Ctrl/replica0/control01.ctl … testcase$cp control01.ctl /ora/oracle/oradata/Redo-Ctrl/replica1/control03.ctl testcase$sqlplus "/ as sysdba" SQL>startup mount SQL> alter database backup controlfile to trace as 'control.sql' ; SQL>shutdown SQL>exit SQL> alter database recover automatic using backup controlfile; testcase$dbshut testcase$cd /ora/oracle/oradata/Redo-Ctrl testcase$find . –type f -name \*.log –exec rm –f {} \; testcase$sqlpplus "/ as sysdba" SQL>startup mount SQL>recover database until cancel SQL> alter database open resetlogs; SQL>exit testcase$tar xvf data.tar testcase$tar xvf control.tar testcase$tar xvf dbs.tar testcase$recovincomplett.sh ORCL Листинг 1. Холодная копия БД (файл backup.sh) #!/bin/sh # if [ $# -ne 2 ] then echo "script needs two parameters: \${ORACLE_SID} " exit; fi # ORACLE_SID=${1};export ORACLE_SID copydir=${2};export copydir #Create lists of files. #Regular database files datalist=`sqlplus -s "/ as sysdba" <" exit; fi # ORACLE_SID=${1};export ORACLE_SID copydir=${2};export copydir #Make lists of files for backup. #data files datalist=`sqlplus -s "/ as sysdba" < <Номер версии SIP> <Номер версии SIP> <Код статуса> <Текст причины> -----------------------------------------------------------------------------------------------------------------