среда, 29 мая 2013 г.

Создаем свой локальный репозитарий на ubuntu

# Создаем локальный репозитарий, на примере zabbix 2.0
aptitude install debmirror

# смотрим исходный адрес в /etc/apt/source.list
deb http://repo.zabbix.com/zabbix/2.0/ubuntu lucid main

# скачиваем пакеты
debmirror --nosource -m --passive --host=repo.zabbix.com --root=zabbix/2.0/ubuntu --method=http --progress --dist=lucid --ignore-release-gpg --section=main --arch=i386,amd64 ubuntu


# настраиваем nginx для раздачи репозитария
vim /etc/nginx/sites-enabled/repo

server {
listen 192.168.100.201:80;
server_name zabbix.local.repo;
root /home/zabbix-repo;
allow 192.168.0.0/24;
deny all;
}

# Правим hosts если нету named
vim /etc/hosts
192.168.0.1 zabbix.local.repo

# Меняем source на локальный
vim /etc/apt/source.list

deb http://zabbix.iconto.repo lucid main

# Пробуем получить содержимое локального репозитария
apt update

# если требуется gpg ключ, то копируем его из пакета
wget http://repo.zabbix.com/zabbix/2.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.0-1lucid_all.deb
и копируем в /etc/apt/trusted.gpg.d/


http://wiki.debian.org/ru/CreateLocalRepo

P.S. Боремся с нехваткой произвольных байт при генерации gpg
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy

sudo apt-get install rng-tools
sudo rngd -r /dev/urandom

Добавление русской локали в ubuntu (locale RU.UTF-8)

# Просмотр доступных локалей
less /usr/share/i18n/SUPPORTED

# Добавление локали
locale-gen ru_RU.UTF-8 UTF-8
dpkg-reconfigure locales

# Удаление локали
localedef --delete-from-archive ru_RU.iso88595
locale-gen --purge ru_RU.ISO-8859-5
locale -a

# Осталось выставить локаль в текущей консоли
export LC_ALL= "ru_RU.UTF-8"
export LANG="ru_RU.UTF-8"

вторник, 28 мая 2013 г.

Выполняем требования PCI-DSS по политике паролей (ubuntu)

# Устанавливаем нужную библиотеку
apt-get install libpam-cracklib

# Проверка на стойкость паролей
vim /etc/pam.d/common-password
password        required                        pam_cracklib.so retry=3 minlen=7 dcredit=-1 lcredit=-1 ocredit=0 ucredit=-1
password        sufficient                      pam_unix.so remember=4 sha512 shadow nullok try_first_pass use_authtok
password        requisite                       pam_deny.so
password        required                        pam_permit.so

retry=3     три подхода для установки нового пароля
minlen=7   требуется как минимум семь символов
dcredit=-1  как минимум одна цифра
lcredit=-1   как минимум один символ в нижнем регистре
ocredit=-1  как минимум один неалфавитный символ
ucredit=-1  как минимум один символ в верхнем регистре

# Блокировка пользователя после 3 неудачных попыток ввода пароля на 1800 сек
/etc/pam.d/common-auth
auth    required    pam_tally2.so onerr=fail deny=6 unlock_time=1800
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

/etc/pam.d/common-account
account required pam_tally2.so
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
account requisite                       pam_deny.so
account required                        pam_permit.so

просмотр заблокированных
pam_tally2
faillog

разблокировать
pam_tally2 -u rfedorov -r

# Уменьшаем срок действия пароля
vim /etc/login.defs
ENCRYPT_METHOD SHA512
PASS_MAX_DAYS 90
PASS_WARN_AGE 14
LOGIN_RETRIES 6
LOGIN_TIMEOUT 1800

# Настраиваем сетевые параметры
vim /etc/sysctl.conf

net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=0

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.defualt.send_redirects = 0

net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

net.ipv4.icmp_echo_ignore_broadcasts = 1

вторник, 21 мая 2013 г.

Создание SSL сертификата для сайта

Создаем самоподписанный сертификат.

Генереруем приватный ключ:
openssl genrsa -out server.key 2048

Создаём запрос для подписания (certificate signing request, CSR):
openssl req -new -key server.key -out server.csr

Создаем сертификат (публичный) при помощи созданного ранее ключа и запроса:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

--

Тоже самое в но в одну строку: 

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout iconto.key -out iconto.crt

--

При наличии своего CA подписываем его своим CA.
Создать его можно пользуясь инструкции выше (как обычный самоподписанный сертификат).

Создаем key и csr, подписываем его на своем CA:
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt


P.S:
Просматриваем информацию внутри файлов:
openssl rsa -noout -text -in server.key
openssl req -noout -text -in server.csr
openssl x509 -noout -text -in ca.crt

Типы других файлов:
crl - файл отозванного сертификата (Certificate Revocation List)
p12 - сертификат p12, с private-ключом (Personal Information Exchange File)

пятница, 17 мая 2013 г.

Настройка PPTP в Mikrotik (proxy-arp, gre,1723)

# Включаем ARP-proxy чтобы можно было пинговать машины внутри сети
/interface ethernet
set Local-Port-Name arp=proxy-arp

# Разрешаем локальный dns для пользователей vpn
/ip dns
set allow-remote-requests=yes

# Создаем pool адресов для пользователей vpn
/ip pool
add name=vpn-pool ranges=192.168.0.100-192.168.0.150

# Создаем профиль PPTP сервер
/ppp profile
add ppname=pptp-in local-address=192.168.0.1 remote-address=vpn-pool use-mpls=default use-compression=default use-vj-compression=default use-encryption=required only-one=default change-tcp-mss=yes dns-server=192.168.0.1

# Активируем PPTP сервер
/interface pptp-server server
set enabled=yes max-mtu=1460 max-mru=1460 authentication=chap,mschap1,mschap2 default-profile=pptp-in

# Разрешаем подключаться к PPTP серверу из интернета и разрешаем GRE трафик
(правило должно быть выше последнего запрещаещего)
/ip firewall filter
add chain=input action=accept protocol=tcp in-interface=Inet-Port-Name dst-port=1723
add chain=input action=accept protocol=gre

# Создаем пользовалей vpn
/ppp secret
add name=vpnuser password=password profile=pptp-in

среда, 15 мая 2013 г.

Настройка SSH в Cisco

1. cisco> enable
2. cisco# clock set 12:10:00 15 May 2013
3. cisco# configure terminal
4. cisco(config)# ip domain name cisco.domain
5. cisco(config)# crypto key generate rsa encryption modulus 1024
cisco(config)# ip ssh version 2
6. cisco(config)# service password-encryption
cisco(config)# enable secret password1
7. cisco(config)# username roman privilege 15 password 7 Pa$$w0rd
8. cisco(config)# aaa new-model
9. cisco(config)# line vty 0 4
10. cisco(config-line)# transport input ssh
11. cisco(config-line)# logging synchronous
12. cisco(config-line)# exec-timeout 60 0
13. cisco(config-line)# exit
14. cisco(config)# exit
15. cisco# copy running-config startup-config

Пояснение:

1. Входим в привилегированный режим
2. Устанавливаем точное время для генерации ключа
3. Входим в режим конфигурирования
4. Указываем имя домена (необходимо для генерации ключа)
5. Генерируем RSA ключ 1024 для SSHv2
6. Активируем шифрование паролей в конфигурационном файле
7. Заводим пользователя с именем user, паролем Pa$$w0rd и уровнем привилегий 15
8. Активируем протокол ААА. (до активации ААА в системе обязательно должен быть заведен хотя бы один пользователь)
9. Входим в режим конфигурирования терминальных линий с 0 по 4
10. Указываем средой доступа через сеть по умолчанию SSH
11. Активируем автоматическое поднятие строки после ответа системы на проделанные изменения
12. Указываем время таймаута до автоматического закрытия SSH сессии в 60 минут
13. Выходим из режима конфигурирования терминальных линий
14. Выходим из режима конфигурирования
15. Сохраняем конфигурационный файл в энергонезависимую память

http://habrahabr.ru/post/68262/
http://www.maxblogs.ru/articles/nastroika-ssh-v-cisco

Обновление IOS Cisco

# Смотрим текушую версию (SW Version)
Switch# sh version

На прошивках IOS старше 12, рекомендую обновляться через archive (способ N1):
# Проверяем сколько доступно памяти
Switch# sh flash:
# Делаем бэкап на tftp
Switch# archive upload-sw tftp://192.168.1.1/backup.tar
# Заливаем новую прошивку в виде tar на cisco
Switch# archive download-sw tftp://192.168.100.201/c2960-lanbasek9-tar.150-2.SE2.tar


Или заменяем только bin (способ N2):
# Заливаем прошивку
Switch# copy tftp://192.168.1.1/c2960-lanbasek9-tar.150-2.SE2.bin flash:


# проверяем все ли закачалось
Switch#dir flash:

# Указываем загружаться с новой прошивки
Switch# configure terminal
Switch(config)# boot system flash:/c2960-lanbasek9-mz.150-2.SE2/c2960-lanbasek9-mz.150-2.SE2.bin
Switch(config)# exit


# Сохраняем конфигурацию и перезагружаемся
Switch#write
Switch#reload

# Проверяем что номер прошивки изменился (SW Version)
Switch# sh version

Устанавливаем TFTP в ubuntu за 30 секунд

# Устанавливаем сервер и клиент(для тестирования)
apt-get install tftpd-hpa tftp

# Редактируем конфиг vim /etc/default/tftpd-hpa
если требуется, например изменить директорию для файлов по умолчанию:
TFTP_DIRECTORY="/var/lib/tftpboot"
или включаем возможность записи файлов на сервер: TFTP_OPTIONS="--secure -c"
добавляем разрешение на запись в папку chmod o+w /var/lib/tftpboot

# после изменения конфига потребуется рестарт сервиса
service tftpd-hpa restart

# Размещаем свои файлы в /var/lib/tftpboot
для примера создадим тестовый файлик:
echo "test" > /var/lib/tftpboot/myfile

# Пробуем подключиться и скачать наш файл
tftp 192.168.1.1
tftp> get myfile
Received 6 bytes in 0.0 seconds

вторник, 14 мая 2013 г.

Микротик Базовая настройка

Все самое необходимое для настройки Mikrotik RouterOS Вы сможете найти в нашем пособии "Микротик.Базовая настройка". Настройка от А до Я с разбором функций и проблем, которые могут возникнут у простого пользователя в процессе внедрения Mikrotik под свои задачи. На сайт руководство Mikrotik будет вылаживаться по частям, которые наведены в плане. Mstream делает шаг помощи для своих клиентов. С нашим руководством настройка Mikrotik RouterOS не станет помехой для достижения поставленных целей.
Сюда вошли наиболее типичные проблемы и их решения.

http://mstream.com.ua/mikrotik-bazovaay-nastroyka/

P.S. http://notme.org.ua/uploads/mikrotik_doc/NAT.pdf

среда, 1 мая 2013 г.

Настройка времени ntpd и timezone (ubuntu)

# Устанавливаем правильную зону
dpkg-reconfigure tzdata

# Устанавливаем ntpd на сервере
apt-get install ntp

# Устанавливаем ntpd на серверах клиентах
apt-get install ntp

# На серверах клиентах прописываем наш сервер в /etc/ntpd.conf
server 192.168.1.1

# Перезапускаем клиента, и смотрим что он использует
/etc/init.t/ntpd restart
ntpq -p