четверг, 20 октября 2016 г.

Создаем флешку с портабельным веракриптом, телеграмом и чем там еще надо

Для начала пара скринов, как это выглядит.
После вставки флешки в USB порт она откроется и Вам нужно будет воспользоваться батниками.

Двойной щелчок по батнику "начало работы" вызывает окно ввода пароля:
(Англ в скобках служит напоминанием, что пароль от криптоконтейнера надо вводить в английской раскладке).

После успешного ввода пароля в системе появляется диск Z: и с него автоматически запускается телеграм, а также открывается окно explorer.exe с папочкой telegram_downloads
в нее будут падать все файлы которые Вам пересылают по Телеграму.

Кроме Телеграма можно добавить портабельный браузер, скайп и прочую лабуду. Которая так же в полностью автоматическом режиме будет завершаться по окончанию работы.

Желательно флешку держать отформатированой в exfat, так будет работать быстрее. Можно и в Fat32, будет максимально быстро, но не забывайте про ограничение размера файла в 4GB.


1) Софт залил сюда. Его достаточно распаковать на флешку.
https://www.dropbox.com/s/hdbfqedar40t8oj/portable_drive.rar?dl=0
2) Криптоконтейнер должен иметь название container.vc  и лежать в корне флешки. Если контейнера еще нет, запустите veracrypt\VeraCrypt Format-x64.exe и создайте его.  Можно закопать и глубже или дать другое имя / расширение, но тогда придеться редактировать батник "Начало работы (англ.bat)"
3) Внутри криптоконтейнера должны быть минимум 2 папки
Z:\Telegram_Downloads (пустая)
Z:\PortableSoft\Telegram  с лежащим внутри портабельным бинарником телеги с оффсайта (качайте именно по ссылке portable version!)

4) После первого запуска телеграма с криптоконтейнера сходите в настройки и выберите правильный Download_path

5) Убедитесь в абсолютной портабельности телеграма 



По окончанию работы можете воспользоваться батником "Завершение работы"
Он завершит выполнение Telegram'a, безопасно отключит криптоконтейнер с буквы Z:, и безопасно отключит флешку из системы "как щелчок на безопасное извлечение устройства в трее возле часов".

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

1) При добавлении портабельного софта его нужно ложить в папку Z:\PortableSoft и дописывать в батник "начало работы" и "окончание работы".
2) Для завершения работы браузеров лучше не юзать параметр /f у taskkill
это жесткое убийство процесса.
Он мне понадобиться для телеграма посколку телега ныкается в трей если ее мягко убиваешь.
Как вариант или отключать tray-icon в настройках телеграма или жестко убивать.
Ей то все равно, а вот у браузера будет "oops, в прошлый раз меня некорректно закрыли"



PS - начиная с Windows 7 в винде выпилили исполнение autorun.inf (к сожалению)
В этом случае это могло бы крайне пригодиться чтоб автоматически отображать окно ввода пароля при подключении флешки.

PS2 - что еще можно сделать.

1) запретить запись и чтение в саму флешку чтоб юзер не смог снести файлы или попутав диски записать данные на флешку, а не в криптодрайв. Для распределения прав требуется фс NTFS, что может вызвать тормоза.

2) разбить флешку на 2 раздела первый сделать на пару мегабайт под софт и второй сделать криптодрайвом - но тут есть куча проблем
проблема а - определение буквы диска с контейнером - она будет следующей за буквой флешки - надо писать костыль который прибавляет буковку и монтирует
проблема б - винда будет писать что подрублен неизвестный раздел с криптоконтейнером и предлагать отформатировать его. беда будет если юзер на это согласиться.
впрочем я не пробовал но возможно если поставить тип раздела UNIX, винда не будет его предлагать отформатировать. Но я это не тестировал.

суббота, 24 сентября 2016 г.

Почему использовать аппаратные телефоны с TLS в VOIP из мира - это плохая идея.

Собственно купил я телефон своим коллегам аппаратный. Пока один.
Работает он неплохо, До поры до времени.
Здесь нужно понимать, что IP-телефоны хардверные предназначены для использования ВНУТРИ офиса. И программная АТС должна стоять в ОФИСЕ.
Если хотим чтобы телефон всегда был онлайн - никаких извращений с шифрованием голосового трафика трафика по SRTP между этим телефоном и сессионной авторизации с использованием TLS городить не нужно.
Именно номера локальных телефонов нужно элементарно описать в SIP-сервере как SIP-пиры без шифрования трафика и с использованием протокола UDP. Тогда они доступны всегда и мгновенно.

Почему?
Во-первых шифрование трафа в локалке бессмысленно. Если конечно Вы не работайте в компании где все коллеги спецслужбы которые следят за Вами. В таком случае надо смотреть в сторону ieee 802.1x. Эта локалка стоит за корпоративным интернет-шлюзом. Шифрование немного ухудшает качество голоса (я заметил да).
А во вторых что САМОЕ ужасное - так это TLS. Телефону нужно переустановить соединение с сервером после устранения сетевых проблем (если они возникли). Для этого нужно заново пройти TLS -рукопожатие (Handshake), обменяться серт-инфой. Инженера Д-ЛИНК(а) не слишком заморочились с этим гемором в прошивке телефона. Потому если сервер телефонии ребутается то при включеном в аппаратном телефоне TLS-шифровании голоса он отпадает на рандомное время от минуты до бесконечности.

SIP-клиенты в мобильных телефонах реконектяться мгновенно. Ибо расчитаны на использование на нестабильном мобильном инете.
Вывод - если хотите юзать апапатные телефоны во всех офисах - Вам придеться поднимать сервер телефонии в каждом, строить туннели и шифровать трафик с двух сторон между ними. А уже хардверным телефонам отдавать нешифрованый траф по локалке и по не-сессионному RAW-протоколу UDP.

Иначе Вы заебетесь ребутать телефоны. Пользователям.
Ну или посмотреть модели от CISCO, говорят в них как бы с этим меньше проблем. Попробую - отпишусь.

четверг, 22 сентября 2016 г.

Настройка простого сервера IP-телефонии ASTERISK с SSL / TLS шифрованием.

У меня тут спросили как настроить SIP сервер чтоб пользователи могли звонить друг другу и все ихние разговоры были зашифрованы. Рассказываю на практике.
Первый шаг - купить VPS, сервер для виртуальной АТС.
Чисто технически подойдет на основе openvz. Ресурсов ASTERISK кушает мало (в районе нескольких мегабайт ОЗУ на звонок), процессор тоже почти не грузит и даже на гиге RAM и 1-2 ядрах CPU выдержит немалое количество клиентов. Практически Asterisk нормально обслуживает до 280 одновременных звонков, выше начинаются проблемы. Если хотите обслуживать большее количество абонентов, советую использовать FreeSwitch.
И вообще для телефонии важна приоритезация трафика, потому как бы есть необходимость настройки шейпинга где только можно. Иначе Васян с его торентами будет мешаться Вам в офисе болтать по SIP'у.

Настройка SIP-телефонии сводиться к 2 этапам
1) Генерация сертификата, которым по TLS протоколу будет шифроваться SIP трафик.
2) Редактирование конфигурации ASTERISK.

Установить asterisk всегда можно из репозиториев, он есть во всех линуксах. В дебьяне / убунте через apt-get install, в centos через yum install

1) Генерим серт!
Информация по генерации TLS серта была взята с этой статьи, автору спасибо https://habrahabr.ru/post/186530/

создаем папочку mkdir /etc/asterisk/certificates/ переходим в нее cd /etc/asterisk/certificates/

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
openssl genrsa -out key-server.pem 1024
openssl req -new -key key-server.pem -out req-server.csr
openssl x509 -req -days 365 -in req-server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out cert-server.crt
cat /etc/asterisk/certificates/key.pem > /etc/asterisk/certificates/asterisk.pem
cat /etc/asterisk/certificates/cert-server.crt >> /etc/asterisk/certificates/asterisk.pem

В результате этих действий у нас будет достаточно файлов, из которых нам понадобиться только
/etc/asterisk/certificates/asterisk.pem
/etc/asterisk/certificates/ca.crt

все остальное нафиг не нужно, можно удалять. а эти файлы нужно забэкапить.
для надежности файл /etc/asterisk/certificates/asterisk.pem можно изучить любым текстовым редактором, его содержимое должно соответствовать

-----BEGIN RSA PRIVATE KEY-----
ТУТ ДАННЫЕ КЛЮЧА (КАША цифробукв в разных регистрах)
-----END RSA PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
ТУТ ДАННЫЕ СЕРТА (КАША цифробукв в разных регистрах)
-----END CERTIFICATE-----

Содержимое второго файла должно быть:

-----BEGIN CERTIFICATE-----
ТУТ ДАННЫЕ СЕРТА (КАША цифробукв в разных регистрах)
-----END CERTIFICATE-----


На этом закончили.

2) Переходим ко второму этапу - конфигурирование ASTERISK'a

Привожу пример файлов конфигурации. Создадим 2 пользователей с номерами 111 и 222 и разрешим звонить друг другу.

/etc/asterisk/sip.conf

[general]
tlsenable=yes
tlsbindaddr=0.0.0.0:5061
tlscertfile=/etc/asterisk/certificates/asterisk.pem
tlscafile=/etc/asterisk/certificates/ca.crt
tlsclientmethod=tlsv1
dtmfmode=RFC2833
promiscredir = no        ; не запрещаем редиректы между юзерами (перевод звонка на другого)
nat=yes
accept_outofcall_message = yes
outofcall_message_context = messages
auth_message_requests = yes

[111]
host=dynamic
disallow=all
allow=alaw
context=default
type=friend
username=111
nat=yes
transport=tls
encryption=yes
secret=USER_PASSWORD

[222]
host=dynamic
disallow=all
allow=alaw
context=default
type=friend
username=222
nat=yes
transport=tls
encryption=yes
secret=USER_PASSWORD

/etc/asterisk/extensions.conf

[default]
exten => 111,1,Dial(SIP/111)
exten => 222,1,Dial(SIP/222)

[messages]
exten => _XXX,1,MessageSend(sip:${EXTEN},"${CALLERID(name)}"${MESSAGE(from)})

Вот и все, пользователи 111 и 222 могут звонить друг другу с шифрованием голоса и обмениваться текстовыми сообщениями. Это МИНИМАЛЬНАЯ конфигурация секурного сервера телефонии.
Для добавления пользователей нужно редактировать эти два файла. первый файл описывает пользователя и его пароль, а второй файл описывает права пользователя. В контексте мы создаем первый диалплан и разрешаем его использовать пользователям.

Останется только установить софтофон на ваш андроид-смартфон / яблофон / ПК / или купить аппаратный SIP телефон.
Для смартов настоятельно рекомендую клиент bria, он радует качеством звука.
В следующих статьях я расскажу как настроить остальной функционал (по мере надобности). А Астериск умеет все.

1) Аудиоконференции с неограниченым количеством участников. Вызов всех участников отдела в конфу по звонку на определенный номер и добавление себя же (реализуется костылями).
2) Видеоконференции с неограниченым количеством участников.
3) Маршрутизация звонков входящих и исходящих, музыка вместо гудков, перенаправление на секретаря, Голосовое меню.
4) Пиринг с мобильными и городскими операторами через SIP транки и просто через аналоговое оборудование. Поддержка аналогового оборудования для создания мостов
5) Запись разговоров в аудиофайлы (если нужно).
6) Голосовая почта


Для просмотра активных звонков (кто кому звонит и сколько времени) есть команда
asterisk -vvvvvrx 'core show channels' | grep call

Для просмотра подключеных к серверу и готовых звонить / принимать звонки клиентов (айпи, время подключения) есть команда
asterisk -r -x 'sip show peers' | grep -v 'Unspecified'

воскресенье, 28 августа 2016 г.

checkinet.sh

Скрипт который реконектит PPPoE Фрегата бесконечно если оно отпадает...
Первым делом добавляем его в crontab и задаем исполнение каждых 5 минут.

Добавляем в /etc/crontab
*/5   *   * * *   root    bash /root/checkinet.sh

и создаем файл
/root/checkinet.sh
с содержимым

#! /bin/bash

wget --spider http://ya.ru
if [ "$?" != 0 ]; then
  echo `date` >> /root/reconnect.log
  /usr/bin/poff dsl-provider
  sleep 10
  /usr/bin/pon dsl-provider
fi

не забываем файл сделать исполняемым и дать на него права всем:
chmod +X /root/checkinet.sh chmod 777 /root/checkinet.sh
логи реконектов пишуться в /root/reconnect.log

суббота, 30 июля 2016 г.

Начинаю изучать FreeBSD

Милости прошу к нашему сервашу.





По долгу службы, да и на благо родины + ради саморазвития решил я изучить фряху и ее возможности роутинга.
Вот тривиальная задача - есть роутер на фре с двумя провайдерами, за которым через свитч подрублены 2 тачки (172.16.0.2 и 172.16.0.3)
На роутере есть 2 интернета - первый работает через дефолтный шлюз, у второго openvpn интерфейса (tap0) айпи адрес 10.0.0.2 и шлюз 10.0.0.1
Нужно чтоб первая клиентская тачка (172.16.0.2) ходила через первый инет (дефолтный шлюз), и вторая (172.16.0.3) через второй. При этом нужно чтоб машина с IP 172.16.0.3 могла заходить по ssh на роутер наш фряшный (172.16.0.1) и получать доступ к сервисам на нем (ssh, proxy etc).

Таки запилил, ничего сложного.

1) Пересобираем ядро ОС с нужными нам параметрами, устанавливаем, ребутаемся.

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=50
options         IPFIREWALL_NAT
options         LIBALIAS
options         ROUTETABLES=16
options         DUMMYNET
options         HZ="1000"
options         IPFIREWALL_DEFAULT_TO_ACCEPT

2) Настраиваем сеть.
3) Настраиваем IPFW

Конфиг IPFW, его нужно разбить на 2 части и 1 часть исполнять после загрузки ос и поднятия интерфейса em0, вторую часть после загрузки и поднятия интерфейса tap0  (тама где двойка + последняя строка касается интерфейса tap0), последних 2 строки тоже исполнять после поднятия tap0

#!/bin/sh
/sbin/ipfw -q flush
/sbin/ipfw disable one_pass
/sbin/ipfw nat 1 config if em0 reset same_ports
/sbin/ipfw nat 2 config if tap0 reset same_ports
/sbin/ipfw add nat 1 ip from 172.16.0.2 to any out
/sbin/ipfw add nat 2 ip from 172.16.0.3 to any out via em0
/sbin/ipfw add nat 1 ip from not me to any in
/sbin/ipfw add nat 2 ip from not me to any in via tap0
/sbin/ipfw add fwd 10.0.0.1 ip from 172.16.0.3 to not me



и не забываем добавить в /etc/rc.conf
gateway_enable="YES"  (врубаем форвардинг пакетов в ядре)
в /etc/sysctl.conf
net.inet.ip.fastforwarding=1   (врубаем быстрый фовардинг - будет пахать быстрее на 20-30%, но может побить фреймы IPSec, если он используется.

проверил на машинах 172.16.0.2 и 172.16.0.3 действительно первая ходит через первый инет вторая через второй

поднимаем SOCKS5 прокси для второго провайдера (VPN)!!!
копируем /etc/ssh/sshd_config в /etc/ssh/sshd_config_fib1
редактируем конфиг sshd_config_fib1, задаем порт отличный от стандартного ssh (например 23), и listen 127.0.0.1

используя команду setfib, прокладываем маршрут по 1 шлюзу через tap0
setfib 1 route add default 10.0.0.1
запускаем после подключения к интерфейсу tap0
setfib 1 /usr/sbin/sshd -f /etc/ssh/sshd_config_fib1

и сопсно запускаем соксик:

 nohup sshpass -p [пароль_рута] ssh -p 23 -N -D 192.168.0.250:1089 root@localhost &
можно создать отдельного юзера и от него запускать сокс

все, на интерфейсе 192.168.0.250 на 1089 появился соксик пятый который виден из локалки и пашет через 2 провайдера.

чтоб поднять сокс для 1 прова нужно просто выполнить 
 nohup sshpass -p [пароль_рута] ssh -p 22 -N -D 192.168.0.250:1090 root@localhost &

все, на интерфейсе 192.168.0.250 на 1089 появился соксик пятый который виден из локалки и пашет через 1 провайдера.

это если ssh дефолтный висит на 22 порту (а это как бы не круто, не забываем его перевесить на 2244 хотя бы).

пятница, 10 июня 2016 г.

Вебсервер своими руками, который отдает картинку и штмл-файл)))
Собственно, для этого нам понадобиться netcat, bash, html и графический файл с картинкой.
1) устанавливаем на сервер netcat из репозитория
2) пишем html-файл, называем index.html

<html>
        <h2>Hello world from Melnax Web server, v 0.0</h2><br>
        <img src="http://rockorus.ru:8889/image.jpg">
</html>

3) создаем bash-скриптик server.sh
поскольку неткат вылетает после отдачи данных, ставим это все в бесконечный цикл.

while true
do
nc -l 8888 < index.html
nc -l 8889 < image.jpg
done

4) ложим картинку image.jpg рядом с bash-скриптом и index.html

5) запускаем под скрином ./server.sh

6) результат можно глянуть тут

http://rockorus.ru:8888


конечно это все хуета... но зато нескучно убил 10 минут времени

пятница, 20 мая 2016 г.

Конвертируем ЗверополисЪ в MP4, в два прохода, с максимальным качеством.
За основу взят блюрейрип- исходник mkv с nnm-club Full HD, весом 5.7 ГБ
Отсюда http://nnmclub.to/forum/viewtopic.php?t=1018396


//первый проход
ffmpeg -i Zootopia.2016.BDRip.1080p.LINE.RUS.mkv -t 01:40:03 -acodec mp3 -ab 96k -af volume=+7 -map 0:a:0 -map 0:v:0 -vcodec libx264 -preset veryslow -vf scale=960:404 -pass 1 -vb 1000k Zveropolis.mp4

//второй

ffmpeg -i Zootopia.2016.BDRip.1080p.LINE.RUS.mkv -t 01:40:03 -acodec mp3 -ab 96k -af volume=+7 -map 0:a:0 -map 0:v:0 -vcodec libx264 -preset veryslow -vf scale=960:404 -pass 2 -vb 1000k Zveropolis.mp4

четверг, 19 мая 2016 г.

Шпаргалочка по openvz \ virtuozzo

Шпаргалочка по openvz \ virtuozzo


vzctl create 1 --ostemplate centos-7-x86_64           - создать контейнер (ID=1) с предустановленной centos7 (образ качается и устанавливается из Интернета)
prlctl delete 2                                       - удалить контейнер (ID=2)
prlctl list -a                                        - вывести список всех контейнеров-виртуальных машин и их состояние (запущен остановлен приостановлен итд)
prlctl start 1                                        - запустить виртуальную машинку (ID=1)
prlctl stop 1                                         - остановить виртуальную машинку(ID=1)
prlctl enter 1                                        - зайти в машинку-контейнер для работы снутри
prlsrvctl net list                                    - показать сетевые адаптеры всей системы
vzctl set 1 --ram 1024M --swap 1056M --save           - задает ОЗУ и размер файла подкачки для машины (ID=1)
prlctl restart 1                                      - перезапуск виртуальной машины (ID=1)

vzctl set 1 --ipadd 192.168.0.1 --save                - добавить IP в машинку (ID=1)
vzctl set 1 --ipdel 192.168.0.1 --save                - удолить IP из машинки (ID=1)
vzctl set 1 --nameserver 8.8.8.8 --save               - добавить DNS в машинку (ID=1)

nano /etc/modprobe.d/parallels.conf  - поменять  ip_conntrack_disable_ve0=1 на  ip_conntrack_disable_ve0=0 , перезагрузить нужно для работы nat в iptables


iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE  - добавить это в /etc/rc.local   - разрешит виртуальным машинам выход в Интернет (если айпишники виртуалок лежат в пределах подсети 192.168.0.0/24 )
iptables -t nat -A PREROUTING -p tcp --dport 2245 -j DNAT --to-destination 192.168.0.1:22   - проброс 2245 порта с хоста на 22 гостя - чтоб можно было через Интернет зайти по ssh

среда, 13 апреля 2016 г.

ARP Spoofing в локальных сетях.

Недавно поставил перед собой интересную задачу - почитать переписку вконтакте того, кто сидит на публичном вайфае (например в торгово-развлекательном центре) рядом со мной.
Весь прикол заключается в том, что любое сетевое оборудование имеет свой аппаратный mac-адрес, и взаимодействие между железками в пределах локальной сети (компьютерами, маршрутизаторами, смартфонами) осуществляется на основе mac-адресов. Для этого у каждого устройства внутри хранится локальная таблица сопоставления IP и MAC. Когда мы пингуем ближнего своего, наш компьютер посылает широковещательный ARP - запрос, например "who has 192.168.0.93" и ему приходит ответ например ‎FC-AA-14-1C-FB-98.
Наша задача послать на устройство жертвы фальшивый ARP ответ (даже не ответ, а просто arp пакет) что IP роутера имеет MAC - адрес сетевого адаптера нашего ноутбука. Android и IOS устройства начинают сразу же гнать интернет через наш ноутбук!
Для этого необходимо воспользоваться утилитой arpspoof из пакета dsniff

Теперь представим ситуацию - мы сидим в ТРЦ с ноутбуком на публичном вайфае. Все клиенты находящеися рядом подключены к роутеру, который раздает всем интернет. Наша задача стать самому роутером и пустить весь чужой трафик через себя. 
Сидят в основном со смартфонов, а мобильное приложение ВК на андроид и ios по умолчанию не использует https (если не включить это в настройках).

... Начинаем
Первое что нужно сделать - изучить сеть в которой мы находимся. Нам нужно подсмотреть IP роутера и прикинуть диапазон IP-адресов которые выдаются клиентам. Это можно сделать исходя из полученых от роутера по DHCP настроек (ip шлюза и маска сети).
Затем при помощи nmap нужно просканировать сеть на наличие доступных хостов. На выходе мы получим список IP - адресов мобильных устройств, которые подключены к сети. Android и IOS устройства отлично пингуются будучи подключеными к сети, поэтому ограничимся ping-сканированием.

nmap -sP 192.168.0.0/24 

(если наша сеть 192.168.0.0 и маска 255.255.255.0)
в выводе nmap после сканирования кроме доступных IP подключеных клиентов будет еще и описание производителя железки с этим адресом. Eсли Samsung - это смартфон самсунг, Lenovo - леново, Apple - айфон \ айпад итд. 
Осмотревшись вокруг и заглянув что за мобильное устройство в руках у тех кто рядом можно догадаться какую жертву мы нашли.

Становимся роутером и нюхаем чужой трафик!
Тут ничего сложного нету.


echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
arpspoof -i wlan0 -t 192.168.0.103 192.168.0.1



wlan0 - интерфейс который на нашем ноутбуке подключен к публичному вайфаю (можно посмотреть через ifconfig)
192.168.0.103 - айпи нашей жертвы, которая у нас на крючке
192.168.0.1 - айпи настоящего роутера (которым мы прикинемся)

Все! Трафик жертвы идет через наш ноутбук! 
Дальше необходимо запустить снифер tcpdump или wireshark на интерфейсе wlan0 в режиме декодирования http-трафика. Можно сразу сохранять все в файл или разгребать в реальном времени. Показывает адреса всех запросов клиента и их содержимое.

Самое важное я забыл - подготовка платформы для этого всего.
Нужно скачать последнюю версию Lubuntu например и записать при помощи ultraiso на флешку. Загрузить ноутбук с нее.
Затем нужно подключиться к вайфай сети и установить пакеты dsniff (предоставляет утилиту arpspoof) , nmap, tcpdump и (если хочется GUI) - wireshark, через apt-get.

В следующей статье я расскажу о перехвате и расшифровке зашифрованого https трафика пользователей.


среда, 6 апреля 2016 г.

Ебаный фрегат. Стыдно.
*здесь будут шуточки про PPPoE, MTU и MRU

Часть сайтов не будет работать если в роутере не зафигачить строчку

iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Если нужно на самом роутере держать прокси не забываем что это локальный трафик не транзитный

iptables -A OUTPUT -o ppp0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

среда, 24 февраля 2016 г.

Доводим Windows 10 до ума.

1) Качаем и устанавливаем Windows 10 отсюда. Нам вполне подойдет X64FRE_RU-RU.ISO (3.75 гб). Это 64-битная система, при установке выбрать редакцию Home или Pro. Pro отличается сервером терминалов, инструментами управления групповыми политиками итд. Аналогична "максимальной" семерке. Если компьютер мощный - желательно ставить ее.
Подготавливаем установочную флешку при помощи UltraISO.
В BIOS можно отключить старый режим поддержки ос (CSM \ MBR) включить режим EFI. Я ставлю десятку в EFI режиме. Это более современный способ, когда BIOS обращается напрямую к файловой системе для загрузки ядра ОС, в отличие от старой модели с "загрузочным сектором". Это дает некоторые преимущества (о них как-нибудь потом).

При установке ПРОПУСКАЕМ все окна для ввода ключей (серийных номеров). Еще желательно выдернуть кабель интернета, чтобы ограничиться локальным аккаунтом (при наличии интернета инсталлятор будет вымагать для работы онлайн - аккаунт в облаке Microsoft). ОС уже "облачная".

Сразу после установки настраиваем соединение с Интернетом и идем в панель управления - обновления системы и ОБНОВЛЯЕМ. Нам предложено будет скачать новую сборку (Билд) Windows, на момент написания этой статьи от середины февраля 2016 года. Соглашаемся, ждем, перезагружаемся. После перезагрузки только что скачаная новая сборка будет установлена. Винда переустановиться с нуля, данные от предыдущего сетапа будут сохранены. После нескольких ребутов мы получим рабочий стол, снова идем в обновление системы, опять жмем на "поиск обновлений" и скорее всего получаем ответ что Windows уже обновлена и последней версии. На этом установка винды закончена. Имеем самую свежую ОС.

2) В репозитории 10 винды очень много драйверов для всех устройств и они обновляются вместе с операционной системой через Windows Update. Открываем диспетчер задач и убеждаемся, что все в порядке, все оборудование настроено и готово к работе. Если чего-то не хватает, ищем на сайте производителя железа драйвера, можно и в гугле по DevID. Кстати, подходят драва от семерки и восьмерки. Если нету под 10 (что странно).

3) Винда с дравами установлена - самое время ее крякнуть. Неактивированая винда не даст себя кастомизировать, будет ставить страшные обои и ругаться что она нелегальная. В роли кряка отлично подойдет KMS.NET Auto последней версии. Взять можно тут.
Встроеный в Windows антивирус (защитник Windows - сразу же ругнется на активатор. Поэтому на время активации его желательно выключить (в его окошке жмем на шестеренку настроек и там выключаем.

4) Подчищаем следы - после повторной установки системы у нас будет на диске C: папочка Windows.OLD , c копией старой винды (которая была установлена с флешки, до обновления). Открываем свойства диска, жмем на кнопку "очистка диска", далее на "очистить системные файлы" и ставим галочку на "предыдущие версии Windows" или типа того. После этого папка Windows.OLD пропадет.

На этом установка закончена, все железо работает как надо, драйвера установлены, винда обновлена и активирована (лицензирована). Все вроде бы работает, но выглядит страшно. Теперь самое время заняться кастомизацией.


Часть 2. Кастомизация Windows.

1) Ставим нескучные обои. Для этого в гугле вбиваем чтото типа "windows 7 default wallpaper" и попадаем сюда. Сохраняем это в положеную папку (C:\Windows\Web\Wallpaper) рядом с другими обоями, затем открываем свойства рабочего стола и ставим картинкой. Можно заюзать обоину от стартовой семерки (starter windows 7 wallpaper), у нее нецветные окошки, можно вообще без окошек (logoless).

2) Возвращаем стандартное меню Пуск - для этого достаточно установить бесплатную программу ClassicShell. (качать с сайта русскую версию). Таких программ хватает, ближайший коммерческий конкурент Start8. Поставить, крякнуть и идти дальше.
Можно кликнуть правой кнопкой по меню пуск, выбрать там "Настройки" и настроить внешний вид меню пуск и кнопки пуск.

3) Настраиваем панель задач для удобства - включаем маленькие значки, отключаем группировку кнопок. Затем правой кнопкой по рабочему столу - персонализация, и в разделе цвета включаем автоматический выбор главного цвета фона, и сделать панель задач прозрачной. После этого она станет не черной, а будет по цвету похожей на обои рабочего стола.

 4) Отключаем ненужные свистоперделки и сглаживание шрифтов (чтоб шрифты были не говно - вернем Тахому!).
Идем в свойства системы - дополнительно - быстродействие, ставим напротив обеспечить наилучшее быстродействие. После этого ставим две галки - отбрасывание теней значками на рабочем столе и отображать содержимое окна при перетаскивании. Применяем.
Идем в реестр и хардкорно вырубаем сглаживание шрифтов заменой некоторых ключей (описано тут).
В браузере google chrome нужно сходить на вкладку chrome://flags/ и врубаем опцию "отключить DirectWrite - рендеринг шрифтов". Насчет FireFox не знаю, не стоит у меня, но там тоже что-то было по-моему в about:config , надо гуглить.

5) Подчищаем автозагрузку - чтоб в трее не висели утилиты которые установились с драйверами, обдумано вычищаем ересь и веток автозагрузки реестра (HKCU/Software/Microsoft/Windows/Current Version/Run) , (HKLM/Software/Microsoft/Windows/Current Version/Run).
В настройках панели задач переходим в область уведомлений и ставим отображать все значки в панели уведомлений, а включении и выключении системных значков отключаем "центр уведомлений".

Для параноиков есть софт который удоляет из винды шпионские модули. Например тут.

 Перезагружаемся. Можно работать.