JunOS, IOS, Unix, Linux, Windows, routing, switching, security, QoS, network design, telecom.. Статьи, заметки. Решил собрать блог, чтоб разместить полезные статьи в одном месте.
четверг, 3 марта 2016 г.
четверг, 28 января 2016 г.
SSL. Просто и понятно.
Генерируется сеансовый ключ для защищенного соединения. Это делается следующим образом:Отсюда - http://mnorin.com/tls-ssl-neobhodimy-j-minimum-znanij.html
— Клиент генерирует случайную цифровую последовательность
— Клиент шифрует ее открытым ключом сервера и посылает результат на сервер
— Сервер расшифровывает полученную последовательность при помощи закрытого ключа
Учитывая, что алгоритм шифрования является асимметричным, расшифровать последовательность может только сервер. При использовании асимметричного шифрования используется два ключа — приватный и публичный. Публичным отправляемое сообщение шифруется, а приватным расшифровывается. Расшифровать сообщение, имея публичный, ключ нельзя.
Добавлю, что случайная цифровая последовательность, которую сгенерировал клиент, является ключом для симметричного шифрования. После того, как сервер расшифрует данные, отправленные клиентом, зашифрованные публичным ключом, он получает эту случайную последовательность. После этого начинается уже симметричное шифрование с использованием общего ключа.
SSL использует как асимметричную, так и симметричную криптографию.Суть асимметричного шифрования заключается в том, что используется пара ключей. Один из них используется в качестве открытого (как правило, он публикуется в самом сертификате владельца), второй ключ называется секретным - он держится в тайне и никогда никому не открывается. Оба ключа работают в паре: один используется для запуска противоположных функций другого ключа. Если открытый ключ используется для того, чтобы зашифровать данные, то расшифровать их можно только секретным ключом.
Любой пользователь может получить открытый ключ по назначению и использовать его для шифрования данных, расшифровать которые может только пользователь, владеющий секретным ключом.
RSA - самый распространенный алгоритм шифрования с использованием асимметричных ключей.
При шифровании симметричным ключом используется один и тот же ключ для шифрованных данных. Если стороны хотят обменяться зашифрованными сообщениями в безопасном режиме, то у обеих сторон должны быть одинаковые симметричные ключи. Такой тип шифрования используется для большого объема данных.
Протокол SSL использует шифрование с открытым ключом для аутентификации клиент-сервер и наоборот, а также для определения ключа сессии, который, в свою очередь, используется более быстрыми алгоритмами симметричной криптографии для шифрования большого объема данных.Отсюда - https://ru.wikipedia.org/wiki/SSL
четверг, 21 января 2016 г.
четверг, 14 января 2016 г.
Изменить MTU в Windows
Изменение размера MTU в ОС Windows Vista/2008/7
Запустите командную строку Windows от имени администратора (Пуск > Выполнить > cmd). Выполните команды для просмотра текущих значений MTU:
netsh interface ipv4 show subinterfaces
Далее выполните команду для установки нового значения MTU (например, 1452; по умолчанию в Windows используется значение MTU=1500):
netsh interface ipv4 set subinterface "Local Area Connection" mtu=1452 store=persistent
или для беспроводного интерфейса:
netsh interface ipv4 set subinterface "Wireless Network Connection" mtu=1452 store=persistent
Затем перезагрузите компьютер.
Для просмотра текущих значений MTU вновь выполните команду:
netsh interface ipv4 show subinterfaces
При необходимости, для сброса значений MTU на установки по умолчанию выполните команду:
netsh interface ipv4 reset
и перезагрузите компьютер.
Отсюда - https://zyxel.ru/kb/1815
Запустите командную строку Windows от имени администратора (Пуск > Выполнить > cmd). Выполните команды для просмотра текущих значений MTU:
netsh interface ipv4 show subinterfaces
Далее выполните команду для установки нового значения MTU (например, 1452; по умолчанию в Windows используется значение MTU=1500):
netsh interface ipv4 set subinterface "Local Area Connection" mtu=1452 store=persistent
или для беспроводного интерфейса:
netsh interface ipv4 set subinterface "Wireless Network Connection" mtu=1452 store=persistent
Затем перезагрузите компьютер.
Для просмотра текущих значений MTU вновь выполните команду:
netsh interface ipv4 show subinterfaces
При необходимости, для сброса значений MTU на установки по умолчанию выполните команду:
netsh interface ipv4 reset
и перезагрузите компьютер.
Отсюда - https://zyxel.ru/kb/1815
пятница, 25 сентября 2015 г.
Private VLAN trunk
В рамках подготовки к экзамену CCIE written.
conf t
!
vtp transparent mode
!
vlan 200
private-vlan primary
private-vlan association 205,210
!
vlan 205
private-vlan community
!
vlan 210
private-vlan isolated
!
!
!
interface Fastethernet 4/24
switchport mode private-vlan host
switchport private-vlan host-accociation 200 205
!
interface Fastethernet 4/25
switchport mode private-vlan host
switchport private-vlan host-accociation 200 205
!
interface Fastethernet 4/26
switchport mode private-vlan host
switchport private-vlan host-accociation 200 210
!
interface Fastethernet 4/27
switchport mode private-vlan promiscuous
switchport private-vlan mapping 200 205,210
!
!
! В сторону маршрутизатора без поддержки PVLAN.
! Для исходящих пакетов ставит метку 200 вместо 205 или 210
! Для входящих - оставляет как есть
!
interface Fastethernet 4/28
switchport mode trunk private-vlan trunk promiscuous
switchport private-vlan mapping trunk 200 205,210
!
! На сколько я понял, для добавления обычных VLAN:
! где 10,200,290 - обычные VLAN (primary)
! 205,210 - secondary
!
interface fastethernet 5/2
switchport mode private-vlan trunk promiscuous
switchport private-vlan trunk native vlan 10
switchport private-vlan trunk allowed vlan 10,200,290
switchport private-vlan mapping trunk 200 205,210
!
! Все, что связано с Private VLAN Trunk работает только на 4500, 6500
!
! В сторону коммутатора с поддержкой protected-port (isolated)
! Для исходящих пакетов ставит метку 210 вместо 200
! Для входящих - оставляет как есть
!
interface Fastethernet 4/29
switchport mode private-vlan trunk secondary
switchport private-vlan association 200 210
!
!
! В случае, если нужен SVI в VLAN 200 - Primary, нужно сконфигурить его как
! promiscuous
!
!
interface vlan200
private-vlan mapping 205,210
ip address 192.168.0.1 255.255.255.0
!
понедельник, 21 сентября 2015 г.
My CCIE start
Я стал на путь CCIE. Специализация - Routing and Switching. Уже есть куча видосов и книг. Начал просмотр и изучение. Нет только лабораторного стенда. Первая серьезная задача - собрать стенд. Нужен нормальный эмулятор.
Начало положено.
http://www.gns3.com/
https://community.gns3.com/thread/4557
Сейчас старт взял ещё один эмулятор - UNetLab http://www.ciscolab.ru/labs/42-unetlab-stroim-stend-dlya-podgotovki-k-ccie-rs-sp-dc-sec.html
Начало положено.
http://www.gns3.com/
https://community.gns3.com/thread/4557
Сейчас старт взял ещё один эмулятор - UNetLab http://www.ciscolab.ru/labs/42-unetlab-stroim-stend-dlya-podgotovki-k-ccie-rs-sp-dc-sec.html
пятница, 21 августа 2015 г.
Squid transparent HTTPS Proxy
Сейчас на рынке много платных продуктов, которые предлагают раскрывать SSL трафик и фильтровать запросы пользователей. Когда-то я занимался freeware решениями на linux. Тогда в squid не было возможности на лету раскрыть SSL, сейчас есть. В интернетах много статей на эту тему, но не нашел такой, после которой все заработало бы без шаманств.
1. Соберем squid
Посмотрите последнюю версию сквида.
wget http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.7.tar.gz
tar -zxf squid-3.2.7.tar.gz
cd squid-3.2.7
./configure --prefix=/opt/squid --enable-ssl --enable-ssl-crtd --with-openssl
make all
make install
2. Создадим сертификат
openssl genrsa -out privkey.pem 1024
openssl req -new -key privkey.pem -out certreq.csr
openssl x509 -req -days 3650 -in certreq.csr -signkey privkey.pem -out squid.pem
3. Подготовим кэширование сертификатов
mkdir /opt/squid/var/lib
/opt/squid/libexec/ssl_crtd -c -s /opt/squid/var/lib/ssl_db
chown -R nobody /opt/squid/var/lib/ssl_db
Если меняется сертификат сервера, нужно грохнуть /opt/squid/var/lib/ssl_db, после чего запустить по новой процедуру подготовки кэширования.
4. Добавим в конфиг сквида
http_port 3130
http_port 3128 intercept
https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/opt/squid/etc/squid.pem key=/opt/squid/etc/privkey.pem cipher=TLSv1:!AES128:!CAMELLIA
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all
#ssl_bump client-first all
ssl_bump server-first all
ssl_bump none all
5. Запустить squid
/opt/squid/sbin/squid -z
/opt/squid/sbin/squid
Клиенту я добавил сертификат squid.pem в доверенные корневые центры сертификации.
Во многих статьях (всех, которые мне попались) для клиента генерят сертификат так:
openssl x509 -in squid.pem -outform DER -out squid.der
У меня и Firefox и IE и, соответственно, Chrome отказались есть .der
На squid я отправляю трафик микротиком, указывая его в качестве шлюза для пакетов с определенными метками (их микротик ставит в таблице mangle). На линуксовой машине в нужные порты распихивает iptables:
-A PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:3128
-A PREROUTING -i tun0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 127.0.0.1:3129
---
Использовал выдержки и инфу их статей:
http://habrahabr.ru/post/168515/
https://toster.ru/q/43184
Очень помог этот тред - http://www.linux.org.ru/forum/admin/11419750
Пока что не получается импортировать сертификать в смартфон Nexus 5 с ОС Android 5.1.1. Процедура проходит без ошибок ()http://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn, но в результате во вкладке "пользовательские сертификаты" нет импортируемого сертификата. Рута нет. Если кто победит, прошу поделиться. Тут точное описание проблемы с импортом сертификата - http://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn
Вот описан способ с рутом - http://wiki.cacert.org/FAQ/ImportRootCert, но интересует без рута.
1. Соберем squid
Посмотрите последнюю версию сквида.
wget http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.7.tar.gz
tar -zxf squid-3.2.7.tar.gz
cd squid-3.2.7
./configure --prefix=/opt/squid --enable-ssl --enable-ssl-crtd --with-openssl
make all
make install
2. Создадим сертификат
openssl genrsa -out privkey.pem 1024
openssl req -new -key privkey.pem -out certreq.csr
openssl x509 -req -days 3650 -in certreq.csr -signkey privkey.pem -out squid.pem
3. Подготовим кэширование сертификатов
mkdir /opt/squid/var/lib
/opt/squid/libexec/ssl_crtd -c -s /opt/squid/var/lib/ssl_db
chown -R nobody /opt/squid/var/lib/ssl_db
Если меняется сертификат сервера, нужно грохнуть /opt/squid/var/lib/ssl_db, после чего запустить по новой процедуру подготовки кэширования.
4. Добавим в конфиг сквида
http_port 3130
http_port 3128 intercept
https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/opt/squid/etc/squid.pem key=/opt/squid/etc/privkey.pem cipher=TLSv1:!AES128:!CAMELLIA
sslproxy_flags DONT_VERIFY_PEER
sslproxy_cert_error allow all
always_direct allow all
#ssl_bump client-first all
ssl_bump server-first all
ssl_bump none all
Забегая вперед скажу, что заработало все, когда я закоментил строку "ssl_bump client-first all" и добавил "cipher=TLSv1:!AES128:!CAMELLIA". После этого в динамических сертификатах появилась строка с доменным именем хоста. До этого при динамическом перехвате трафика и отправки его в проксю, гмаил ругался на mitm атаку (NET::ERR_CERT_COMMON_NAME_INVALID).
5. Запустить squid
/opt/squid/sbin/squid -z
/opt/squid/sbin/squid
Клиенту я добавил сертификат squid.pem в доверенные корневые центры сертификации.
Во многих статьях (всех, которые мне попались) для клиента генерят сертификат так:
openssl x509 -in squid.pem -outform DER -out squid.der
У меня и Firefox и IE и, соответственно, Chrome отказались есть .der
На squid я отправляю трафик микротиком, указывая его в качестве шлюза для пакетов с определенными метками (их микротик ставит в таблице mangle). На линуксовой машине в нужные порты распихивает iptables:
-A PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:3128
-A PREROUTING -i tun0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 127.0.0.1:3129
Использовал выдержки и инфу их статей:
http://habrahabr.ru/post/168515/
https://toster.ru/q/43184
Очень помог этот тред - http://www.linux.org.ru/forum/admin/11419750
Пока что не получается импортировать сертификать в смартфон Nexus 5 с ОС Android 5.1.1. Процедура проходит без ошибок ()http://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn, но в результате во вкладке "пользовательские сертификаты" нет импортируемого сертификата. Рута нет. Если кто победит, прошу поделиться. Тут точное описание проблемы с импортом сертификата - http://android.stackexchange.com/questions/61540/self-signed-certificate-install-claims-success-but-android-acts-as-if-cert-isn
Вот описан способ с рутом - http://wiki.cacert.org/FAQ/ImportRootCert, но интересует без рута.
Подписаться на:
Сообщения (Atom)