Проект Thinstation. Теория и практика успешного внедрения тонких клиентов
Артём Ильин
root@ubuntu:~# tar xvjf Thinstation-2.2.2.tar.bz2
sa@ubuntu:~$ sudo -i
[sudo] password for sa:
root@ubuntu:~# gedit /home/sa/thin/build/Thinstation-2.2.2/build.conf
root@ubuntu:~# ./build
Пример файла thinstation.hosts
# HOST MAC GROUPS COMMENTS
thinstation1 000103014152 1920@60 term2 fdd # IVANOV
thinstation2 000103014152 1024@60 term1 usb # PETROV
Пример файла thinstation.conf.1024@60
SCREEN_RESOLUTION="1024x768" #разрешение экрана
SCREEN_HORIZSYNC="30-65" #горизонтальная частота (Khz)
SCREEN_VERTREFRESH="60" #вертикальная частота (Hz)
SCREEN_COLOR_DEPTH="16" #число бит на пиксель (8,16,24)
Пример файла thinstation.conf.thinstation1
FREERDP_USERNAME="Ivanov"
-----------------------------------------------------------------------------------------------------------------
Linux-HA-терминальный кластер для работы с «1C» 8.2
Алексей Камнев
alias bond0 bonding
options bond0 miimon=100 mode=3
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=192.168.0.0
IPADDR=192.168.0.1 # на втором узле IPADDR=192.168.0.2
NETMASK=255.255.255.0
USERCTL=NO
service network restart
yum install drbd kmod-drbd}
global { usage-count no; }
resource r0 {
protocol C;
startup { wfc-timeout 0; degr-wfc-timeout 120; }
disk { on-io-error detach; }
net { cram-hmac-alg "sha1"; shared-secret "Secret";}
syncer { rate 10M; }
on lw {
device /dev/drbd0;
disk /dev/sda2;
address 192.168.0.1:7788;
meta-disk internal;
}
on lw2 {
device /dev/drbd0;
disk /dev/sda2;
address 192.168.0.2:7788;
meta-disk internal;
}
}
resource r1 {
...аналогично r0 только для устройства /dev/sda5
}
drbdadm create-md r0
drbdadm create-md r1
service drbd start
drbdadm -- --overwrite-data-of-peer primary all
watch -n 1 cat /proc/drbd
mkfs.ext3 /dev/drbd0
mkfs.ext3 /dev/drbd1
yum localinstall\
1C_Enterprise82-common-8.2.11-236.i386.rpm\
1C_Enterprise82-common-nls-8.2.11-236.i386.rpm\
1C_Enterprise82-crs-8.2.11-236.i386.rpm\
1C_Enterprise82-crs-nls-8.2.11-236.i386.rpm\
1C_Enterprise82-server-8.2.11-236.i386.rpm\
1C_Enterprise82-server-nls-8.2.11-236.i386.rpm\
1C_Enterprise82-ws-8.2.11-236.i386.rpm\
1C_Enterprise82-ws-nls-8.2.11-236.i386.rpm —nogpgcheck
yum localinstall\
postgresql-8.4eter-8.4.4-eter1.1centos.i586.rpm\
postgresql-8.4eter-contrib-8.4.4-eter1.1centos.i586.rpm\
postgresql-8.4eter-server-8.4.4-eter1.1centos.i586.rpm --nogpgcheck
su postgres
initdb -D /var/lib/pgsql/data --locale=ru_RU.UTF-8
exit
local all all trust
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
psql -U postgres -c "ALTER USER postgres PASSWORD 'secret'"
service postgresql start
service srv1cv82 start
yum install heartbeat
logfacility daemon
node lw
node lw2
keepalive 1
warntime 10
deadtime 30
initdead 120
udpport 694
ucast eth0 192.168.1.1
ucast eth0 192.168.1.2
ucast bind0 192.168.0.1
ucast bind0 192.168.0.2
auto_failback off
ping 192.168.1.254 # Проверка доступности сетевой коммутатора
respawn hacluster /usr/lib/Heartbeat/ipfail
crm off
lw IPaddr::192.168.1.10/24/eth0
lw DRBDdisk::r0 Filesystem::/dev/drbd0::/var/lib/pgsql/data::ext3 postgresql
lw DRBDdisk::r1 Filesystem::/dev/drbd1::/home::ext3
-----------------------------------------------------------------------------------------------------------------
Проект GOsa². Система централизованного управления ИТ-инфраструктурой
Сергей Яремчук
$ sudo apt-cache show gosa | grep – I version
deb http://oss.gonicus.de/pub/gosa/debian-etch/ ./
deb http://oss.gonicus.de/pub/gosa/debian-squeeze/ ./
$ sudo apt-get install gosa gosa-desktop
$ sudo apt-get install slapd ldap-utils gosa-schema
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
$ nano example.org.ldif
# Загружаем модули
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb.la
# Установка базы данных
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=org
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=example,dc=org
olcRootPW: passwd
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by
dn="cn=admin,dc=example,dc=org" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=example,dc=org" write by * read
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f example.org.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
adding new entry "olcDatabase=hdb,cn=config"
$ cd /etc/ldap/schema/gosa
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f samba3.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f gosystem.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f gofon.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f goto.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f gosa-samba3.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f goto-mime.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f gofax.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f goserver.ldif
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f trust.ldif
$ sudo apt-get install gosa-plugin-ssh gosa-plugin-ssh-schema gosa-plugin-sudo gosa-plugin-sudo-schema
$ sudo apt-get install mysql-server php5-mysql
$ echo -n t0m88d9eage4as2vi6l6ji04v3 > /tmp/gosa.auth
$ sudo cp -v gosa.conf /etc/gosa/
$ sudo chown root:www-data /etc/gosa/gosa.conf
$ sudo chmod 640 /etc/gosa/gosa.conf
$ sudo apt-cache search gosa
$ sudo apt-get install gosa-plugin-systems gosa-plugin-samba gosa-plugin-squid gosa-plugin-rsyslog gosa-plugin-mail gosa-plugin-ldapmanager gosa-plugin-connectivity
$ sudo service apache2 restart
-----------------------------------------------------------------------------------------------------------------
Защищаем mediawiki. Как это сделать?
Андрей Дугин
// Добавить пользователя apache в одноименную группу
usermod -G apache apache
// Устанавливаем владельца root и группу apache
chown -R root:apache /wikipath
chown -R root:apache /etc/wiki/LocalSettings.php
chown -R root:apache /somepath/mysql-wiki
// Применяем разграничение прав доступа
chmod -R u+rw,g+rx,o-rwx /wikipath
chmod -R g+w /wikipath/images
chmod 640 /etc/wiki/LocalSettings.php
chmod 640 /somepath/mysql-wiki
require_once( "/somepath/mysql-wiki" );
$wgDBserver = $db_host;
$wgDBname = $db_name;
$wgDBuser = $db_user;
$wgDBpassword = $db_password;
# Включаем SSL
SSLEngine on
# Указываем путь к серверному сертификату
SSLCertificateFile /etc/apache2/ssl/server.crt
# Указываем путь к ключу серверного сертификата
SSLCertificateKeyFile /etc/apache2/ssl/server.key
# Указываем путь к сертификату CA
SSLCACertificateFile /etc/apache2/ssl/ca.crt
# Указываем путь к списку отозванных сертификатов
SSLCARevocationFile /etc/apache2/ssl/crl.pem
# Включаем протоколы TLSv1, SSLv3
SSLProtocol +TLSv1 +SSLv3
# Используем только сильное шифрование
SSLCipherSuite HIGH
# Указываем необходимость проверки клиента
SSLVerifyClient require
# Глубина верификации – количество шагов проверки до корневого центра сертификации
SSLVerifyDepth 1
# Указываем поле, по которому будем фильтровать клиентов, и его значение
SSLRequire (%{SSL_CLIENT_S_DN_OU} eq "security" )
mysql> use wikidb;
mysql> select user_name,user_password from user;
Options None
AllowOverride None
Order allow,deny
Allow from all
SSLRequireSSL
SSLRequire %{SSL_CLIENT_S_DN} =~ m/.*serialNumber=$/
require_once('extensions/SSLAuthPlugin.php');
$ssl_map_info = false;
$ssl_RN = $_SERVER['SSL_CLIENT_S_DN_CN'];
$ssl_UN = $_SERVER['SSL_CLIENT_S_DN_CN'];
if ($_SERVER['SSL_CLIENT_S_DN_Email'] != )
$ssl_email = $_SERVER['SSL_CLIENT_S_DN_Email'];
else
$ssl_email = ;
SSLAuthSetup();
-----------------------------------------------------------------------------------------------------------------
SSH-туннелирование в ОС Linux. Поможет сохранить конфиденциальную информацию
Игорь Штомпель
sudo apt-get install openssh-server
ssh -L [ла]:лп:уа:уп [пользователь@]сервер
ssh -N -f -L 12000:servermail.ru:110 user@servermail.ru
ssh -R [уа]:уп:ла:лп
ssh -N -f -R servermail.ru:12000:localdesktop:110 user@localdesktop
ssh -D ла:лп пользователь@сервер
ssh -D localdesktop:12000 user@server
ssh -X user@192.168.56.101
firefox
ssh -X user@192.168.56.101 'gksudo gedit /etc/fstab'
sudo apt-get install putty
putty
gksudo gedit /etc/fstab
-----------------------------------------------------------------------------------------------------------------
Cisco IPS + RADIUS. Возможности интеграции
Андрей Дугин
sensor# configure terminal
sensor(config)# service aaa
sensor(config-aaa)# aaa radius
sensor(config-aaa-rad)# primary-server
sensor(config-aaa-rad-pri)# server-address 10.0.2.59
sensor(config-aaa-rad-pri)# server-port 1812
sensor(config-aaa-rad-pri)# shared-secret there_is_a_secret_key1
sensor(config-aaa-rad-pri)# exit
sensor(config-aaa-rad)# secondary-server enabled
sensor(config-aaa-rad-ena)# server-address 10.0.8.23
sensor(config-aaa-rad-ena)# server-port 1812
sensor(config-aaa-rad-ena)# shared-secret there_is_a_secret_key2
sensor(config-aaa-rad-ena)# exit
sensor(config-aaa-rad)# local-fallback enabled
sensor(config-aaa-rad)# default-user-role unspecified
client sensor1 {
secret = there_is_a_secret_key1
shortname = sensor1
}
cisco-avpair = "ips-role=administrator"
-----------------------------------------------------------------------------------------------------------------
Человеческий фактор как основа ИТ-безопасности
Никита Панов
net user <имя_нового_пользователя> <пароль_нового_пользователя> /add /domain
net group «Domain Admins» <имя_нового_пользователя> /add /domain
-----------------------------------------------------------------------------------------------------------------
Поддержка системы 24х7. Организация круглосуточной работы ИТ-отдела
Константин Кондаков
User_Alias OPSOURCE_USERS=jcustodi,vrangappa,ddeb,dtran
# things that are ok on any box
OPSOURCE_USERS ALL = (root) /usr/pkg/adm/sbin/*
OPSOURCE_USERS ALL = (lksm) /usr/pkg/adm/sbin/*
OPSOURCE_USERS ALL = (root) /etc/init.d/* *
OPSOURCE_USERS ALL = (root) /etc/rc?.d/*
OPSOURCE_USERS ALL = (root) /prod/common/psr-lite/bin/*
OPSOURCE_USERS ALL = (root) /prod/pagecomp/bin/*
OPSOURCE_USERS ALL = (root) /prod/common/prodScripts/bin/*
OPSOURCE_USERS ALL = (root) /bin/ls
OPSOURCE_USERS ALL = (root) /bin/touch
OPSOURCE_USERS ALL = (root) /sbin/mount
OPSOURCE_USERS ALL = (root) /sbin/umount
OPSOURCE_USERS ALL = (root) /usr/sbin/cfrun
OPSOURCE_USERS ALL = (root) /usr/pkg/cfengine/sbin/cfrun
OPSOURCE_USERS ALL = (root) /usr/sbin/cfagent
OPSOURCE_USERS ALL = (root) /var/cfengine/bin/cfagent
OPSOURCE_USERS ALL = (root) /usr/pkg/cfengine/sbin/cfagent
OPSOURCE_USERS ALL = (root) /usr/local/bin/lmutil
OPSOURCE_USERS ALL = (root) /usr/bin/kill
OPSOURCE_USERS ALL = (root) /bin/kill
OPSOURCE_USERS ALL = (root) /usr/bin/pkill
OPSOURCE_USERS ALL = (root) /usr/local/bin/svstat
OPSOURCE_USERS ALL = (root) /usr/local/bin/svc
OPSOURCE_USERS ALL = (root) /bin/rm /var/cfengine/cfengine_lock_db
OPSOURCE_USERS ALL = (root) /bin/rm /var/cfengine/ppkeys/root-*.pub
OPSOURCE_USERS ALL = (root) /bin/rm /usr/pkg/snmp/var/msg/*
OPSOURCE_USERS ALL = (root) /bin/rm /usr/pkg/nagios-plugins/var/msg/*
OPSOURCE_USERS ALL = (root) /bin/mv /usr/pkg/snmp/var/msg/*/tmp/
OPSOURCE_USERS ALL = (root) /bin/mv /usr/pkg/nagios-plugins/var/msg/* /tmp/
OPSOURCE_USERS ALL = (root) /usr/bin/rm /usr/pkg/snmp/var/msg/*
OPSOURCE_USERS ALL = (root) /usr/bin/rm /usr/pkg/nagios-plugins/var/msg/*
OPSOURCE_USERS ALL = (root) /bin/cat /var/log/*
OPSOURCE_USERS ALL = (root) /bin/cat /usr/pkg/snmp/var/msg/*
OPSOURCE_USERS ALL = (root) /bin/cat /var/adm/*
OPSOURCE_USERS ALL = (root) /bin/cat /var/adm/syslog/*
OPSOURCE_USERS ALL = (root) /bin/cat /var/cfengine/
-----------------------------------------------------------------------------------------------------------------