Укуренный хомяк (fagaaa) wrote,
Укуренный хомяк
fagaaa

Лечение паранойи подручными методами :)

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

Но это как бы лирическое отступление, перейдем к сути вопроса.
Не так давно мой первый бук решил что время жизни в 5 лет это много и сделал себе харакири.
Ремонт опечалил своей стоимость, ну еще бы, менять мать в ноуте, да еще в таком раритетном очень затратное удовольствие. В связи с этим было принято решение собрать ему на замену маленькую машинку из серии чем меньше тем лучше, в процессе хотелось по максимуму использовать уже имеющееся железо (2 винта, память от ноута).
Некоторое время на гугление и в итоге решение получилось следующим:
1) мат. плата Intel D2700MUD со встроенным Intel Atom D2700
2) корпус Cooler Master Elite100
3) память Kingston KVR1333D3S8S9/2G
4) два харда Samsung 160 и 640 гиг
Все это было при помощи ответки, упорства и какой-то там материи собрано воедино.
За выбором операционки, под которой все это щастье будет работать, думать не пришлось ибо чего-то лучшего, из бесплатного, чем Debian еще не придумали.
Ставим в минимальной конфигурации ибо лишнее при наших ресурсах нафиг не надо, а затем тупо вводим:
#aptitude install ssh sudo vim
Т.к. мы параноики, то далее
#vim /etc/sudoers
временно (для не сильных параноиков постоянно) добавляем строчку: <LoginName> = ALL=(ALL) ALL
#^D
Логинимся под собой, пробуем корректность работы sudo:
$sudo cat /etc/debian_version
Если после ввода пароля получаем: 6.0.6 или аналогичное, то все настроили правильно и можно отключить рута
$sudo passwd -l root
Далее конфигурируем SSH, в соответствии со своей паранойей, у меня просто выставлен не стандартный порт, в планах ввести авторизацию по сертификатам.
Настройка openvpn, ради чего все и затевалось.
Здесь оторвемся по полной.
И так, начнем...
$sudo -i
Просто природная лень, сорри :)
#cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa
#cd /etc/openvpn/easy-rsa
#vim ./vars
и правим блок в самом конце:
export KEY_COUNTRY="RU"
export KEY_PROVINCE="MSK"
export KEY_CITY="Moscow"
export KEY_ORG="Home Server"
export KEY_EMAIL="admin@local.host"

#./vars
#./clean-all
#./build-ca
#./build-key-server server
#./build-dh
#mkdir ../keys
#cp ./keys/ca.crt ../keys
#cp ./keys/server.crt ../keys
#cp ./keys/server.key ../keys
#cp ./keys/dh1024.pem ../keys

Генерируем сертификат(ы), в силу параноидальности следующим образом:
#./build-key-pkcs12 notebook1
И забираем из папки ./keys файлик notebook1.p12
Затем
#vim /etc/openvpn/server.conf
и задаем нужные параметры, у меня конфиг примерно такой:
port 1194
proto tcp
dev tap0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
server 10.10.200.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-to-client
keepalive 10 120
comp-lzo
max-clients 5
user nobody
persist-key
persist-tun
local 192.168.100.254
status /var/log/openvpn/openvpn-status.log
log        /var/log/openvpn/openvpn.log
verb 0
push "redirect-gateway def1"

стартуем сервис:
#invoke-rc.d openvpn start

в /etc/rc.local добавляем следующее:
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
iptables -A FORWARD -s 10.10.200.0/24 -j ACCEPT
iptables -A FORWARD -d 10.10.200.0/24 -m state --state  ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.10.200.0/24 -j SNAT --to-source 192.168.100.254

Осталось настроить клиента и наслаждаться относительно безопасным инетом удаленно.
Конфиг для Win клиента выглядит примерно так:
client
dev tap
proto tcp
port 1194
remote my-server.dyndns.org
tls-client
ns-cert-type server
pkcs12 notebook1.p12
verb 3
comp-lzo
nobind

Ну вот как-то так моя паранойя была удовлетворена.
Tags: linux, windows, паранойя
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments