Учебная работа. Курсовая работа: Организация безопасного удалённого доступа к корпоративным ресурсам
Курсовая работа
на тему
Организация неопасного удалённого доступа к корпоративным ресурсам
по дисциплине
Управление сетями ЭВМ
Москва 2008 г.
Инструкция
В курсовой работе производится организация офисной сети, настройка шлюза для обеспечения выхода юзеров в «Веб». Организация DNS+DHCP, файлового сервера FTP/SMB для хранения секретных и общедоступных данных юзеров, также обеспечивается защищённый доступ из наружной сети к секретным данным юзеров по средствам VPN и открытый доступ к общедоступным данным юзеров.
Содержание
1. Техническое задание
2. анализ технического задания
3. Топология сети
4. Организация FTP сервера
4.1 Организация каталогов на сервере
4.2 установка Pure-FTPD
4.3 Конфигурирование Pure-FTPD
4.4 Создание скрипта пуска сервиса
5. Организация Samba
5.1 установка Samba
5.2 Настройка Samba
6. Организация Шлюза
6.1 Настройка NAT
6.2 Настройка цепочки INPUT
6.3 Настройка цепочки PREROUTING
6.4 Включение доп модулей
7. Организация DNS+DHCP
7.1 установка dnsmasq
8. Организация VPN сервера
8.1 Установка ppp
8.2 Настройка ppp для pptp туннелизации
8.3 установка pptpd
8.4 Настройка pptpd
8.5 Настройка chap-secrets
9. Настройка VPN клиента
9.1 Настройка на примере UbuntuGNU/Linux
9.2 Настройка на примере WindowsXP
10. Проверка VPN соединения
10.1 Проверка в UbuntuGNU/Linux
10.2 Проверка в WindowsXP
11. Заключение
12. Литература
1. Техническое задание
Кабинет с проложенной сетью. 40 пользовательских компов, выделенный FTP/SMB . Требуется выполнить подключение юзеров к «Веб» с 1-го наружного IP-адреса. Организовать доступ к внутренним ресурсам (SMB/FTP ) снаружи. Создать вероятной удалённую работу с секретными данными, хранящимися на файловом сервере (SMB/FTP) средствами VPN. канал должен быть шифрованный. Настроить фильтрацию трафика, чтоб обезопасить внутреннюю сеть. Шлюз должен работать под управлением OC из семейства unix.
2. Анализ технического задания
При анализе технического задания было выбрано три 16-ти портовых коммутатора DES-1016D 10/100Mbps и один 8-ми портовый коммутатор DES-1008 10/100Mbpsфирмы «D-Link» для объединения юзеров в локальную сеть. Данное сетевое оборудование было выбрано с учётом цены и свойства и вследствие того, что они удовлетворяет техническое задание. Для организации шлюза и файлового сервера были выбраны компы архитектуры PC, потому что они также удовлетворяют техническое задание, и их стоимость по сопоставлению с серверными архитектурами полностью применима. По техническому заданию шлюз должен работать под управлением ОС из семейства unix. При выбирании таковой ОС были рассмотрены те, которые употребляют ядро «Linux»: FedoraCore, Gentoo и DebianGNU/Linux. Все эти дистрибутивы на сто процентов подступают к решению, которое поставлено в техническом задание, потому в качестве таковой ОС избираем последнюю размеренную версию DebianGNU/Linux.
3. Топология сети
Ниже проиллюстрирована топология (Звезда) офисной сети
4. Организация
FTP сервера
В качестве FTP сервера употреблялся Pure-FTPD с поддержкой RFC2640. Поддержка данного документа дозволяет решить делему с русскими знаками, включая буковкы «эюя».
4.1 Организация каталогов на сервере
/home/firmstuff – общий каталог юзеров (0755)
/home/firmstuff/stuffname1 – каталог юзера (0750)
/home/firmstuff/stuffname1/private – приватный каталог юзера (0700)
/home/firmstuff/stuffname2 – каталог юзера (0750)
/home/firmstuff/stuffname2/private – приватный каталог юзера (0700)
/home/firmstuff/stuffname40 – каталог юзера (0750)
/home/firmstuff/stuffname40/private – приватный каталог юзера (0700)
4.2 Установка
Pure-FTPD
1. Возьмем начальный коды
~$ sudo apt-get source pure-ftpd
2. Перейдем в каталог с иходными кодами и сконфигурируем сервер
~$ cd pure-ftpd-1.0.21/~$ sudo ./configure —prefix=/opt/pure-ftpd —with-rfc-2640 —with-ftpwho
3. Если конфигурация прошла успешно, то приступаем к сборке и установке
~$ sudomake && sudomakeinstall
4. Если установка сервера прошла удачно, то можно перейти к его конфигурированию.
4.3 Конфигурирование
Pure-FTPD
Правим файл /opt/pure-ftpd/etc/pure-ftpd.conf
ChrootEveryone yes
TrustedGID 1000
# Turn on compatibility hacks for broken clients
BrokenClientsCompatibility no
# Maximum number of simultaneous users
MaxClientsNumber 50
# Fork in Background
Daemonize yes
# Maximum number of sim clients with the same IP address
MaxClientsPerIP 5
VerboseLog no
# List dot-files even when the client doesn’t send «-a».
DisplayDotFiles yes
# Don’t allow authenticated users — have a public anonymous FTP only.
AnonymousOnly no
# Disallow anonymous connections. Only allow authenticated users.
NoAnonymous no
# Syslog facility (auth, authpriv, daemon, ftp, security, User, local*)
# The default facility is «ftp». «none» disables logging.
SyslogFacility ftp
# Don’t resolve host names in log files. Logs are less verbose, but
# it uses less bandwidth. Set this to «yes» on very busy servers or
# if you don’t have a working DNS.
DontResolve yes
# Maximum idle time in minutes (default = 15 minutes)
MaxIdleTime 15
# If you want simple unix (/etc/passwd) authentication, uncomment this
UnixAuthentication yes
# ‘ls’ recursion limits. The first argument is the maximum number of
# files to be displayed. The second one is the max subdirectories depth
LimitRecursion 2000 8
# Are anonymous users allowed to create new directories ?
AnonymousCanCreateDirs no
# File creation mask. <umask for files>:<umask for dirs> .
# 177:077 if you feel paranoid.
Umask 133:022
# Minimum UID for an authenticated User to log in.
MinUID 1000
# Allow FXP transfers for authenticated users.
AllowUserFXP no
# Allow anonymous FXP for anonymous and non-anonymous users.
AllowAnonymousFXP no
# Users can’t delete/write files beginning with a dot (‘.’)
# even if they own them. If TrustedGID is enabled, this group
# will have access to dot-files, though.
ProhibitDotFilesWrite no
# Prohibit *reading* of files beginning with a dot (.history, .ssh…)
ProhibitDotFilesRead no
# Never overwrite files. When a file whoose name already exist is uploaded,
# it get automatically renamed to file.1, file.2, file.3, …
AutoRename no
# Disallow anonymous users to Upload new files (no = upload is allowed)
AnonymousCantUpload yes
# Be ‘customer proof’ : workaround against common customer mistakes like
# ‘chmod 0 public_html‘, that are valid, but that could cause ignorant
# customers to lock their files, and then keep your technical support busy
# with silly issues. If you’re sure all your users have some basic unix
# knowledge, this feature is useless. If you’re a hosting service, enable it.
CustomerProof yes
# UTF-8 support for file names (RFC 2640)
# Define charset of the server filesystem and optionnally the default charset
# for remote clients if they don’t use UTF-8.
# Works only if pure-ftpd has been compiled with —with-rfc2640
FileSystemCharset UTF-8
ClientCharset CP1251
4.4
Созданиескриптазапускасервиса
Для пуска сервиса можно пользоваться последующим скриптом.
#!/bin/bash
start() {
/opt/pure-ftpd/sbin/pure-config.pl /opt/pure-ftpd/etc/pure-ftpd.conf
echo «Pure-FTPd start…done.»
}
stop() {
kill `cat /var/run/pure-ftpd.pid` > /dev/null 2>&1
echo «Pure-FTPd stop…done.»
}
status() {
/opt/pure-ftpd/sbin/pure-ftpwho -v
}
case $1 in
‘start’)
start
;;
‘stop’)
stop
;;
‘restart’)
stop
start
;;
‘status’)
status
;;
*)
echo «usage: $0 restart»
esac
5. Организация
Samba
Samba – создана для использования протокола SMB(NetBIOS).
5.1 установка
Samba
1. Скачаем начальные коды
wgethttp://us4.samba.org/samba/ftp/stable/samba-3.0.25a.tar.gz
2. Распакуем их
tarzxvfsamba-3.0.25a.tar.gz
3. Перейдем в каталог начальных кодов
cdsamba-3.0.25a
4. Сконфигурируем
./configure —prefix=/opt/samba —with-syslog
4. Соберемиустановим
make && sudo make install
5.2
Настройка Samba
Отредактироватьфайл /opt/samba/smb.conf
[global]
log file = /var/log/samba/%m.log
dns proxy = no
netbios name = Fileserver
cups options = raw
server string = Fileserver
workgroup = firmstuff
null passwords = yes
hosts allow = 192.168.0.0/24
security = User
unix charset = UTF-8
remote charset = CP1251
max log size = 50
guest account = guest
[firmstuff]
comment = Firmstuff share
Path = /home/firmstuff
writable = yes
6.
ОрганизацияШлюза
Для организации шлюза воспользуемся межсетевым экраном Iptables
6.1 Настройка
NAT
Для удобства сделаем переменную в какой будет лежат путь к iptables
$IPT=/sbin/iptables
1. Включим пересылку IP
В /etc/sysctl.conf поправить net.ipv4.ip_forward = 1 и отдать команду sysctl -p
2. Сбросим правила и удалим цепочки
$IPT –F
$IPT -tnat -F
3. Установим политику по дефлоту
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
4. Включиммаскарадингдля LAN
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
6.2 Настройка цепочки
INPUT
1. Для того чтоб юзеры могли соединяться с VPN сервер нужно разрешить входящие соединения по протоколу TCP на порт 1723
$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 1723 -j ACCEPT2. Разрешить входящие FTP (Употребляется для проброса FTP соединения)$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 21 -j ACCEPT$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 20 -j ACCEPT3. Разрешить входящие SMB (Употребляется для сотворения соединения VPN клиентов с Samba)$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 137 -j ACCEPT$IPT -A INPUT -p udp -m udp -i eth0 —dport 137 -j ACCEPT$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 138 -j ACCEPT$IPT -A INPUT -p udp -m udp -i eth0 —dport 138 -j ACCEPT$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 139 -j ACCEPT$IPT -A INPUT -p udp -m udp -i eth0 —dport 139 -j ACCEPT
4. Разрешить входящий эхо-ответ от нашего эхо-запроса
$IPT -A INPUT -p icmp -m icmp -i eth0 —icmp-type echo-reply -j ACCEPT$IPT -A INPUT -p icmp -m icmp -i eth1 —icmp-type echo-reply -j ACCEPT5. ОткрытьпортыдляDNS ответов$IPT -A INPUT -p udp -m udp -i eth0 —dport 1024:65353 —sport 53 -j ACCEPT$IPT -A INPUT -p tcp -m tcp -i eth0 —dport 1024:65353 —sport 53 -j ACCEPT
6.3 Настройка цепочки
PREROUTING
тут нужно пробросить лишь FTP запрос
$IPT -t nat -A PREROUTING -d 212.45.24.187 -i eth0 -p tcp -m tcp —dport 21 -j DNAT —to-destination 192.168.0.2
$IPT -t nat -A PREROUTING -d 212.45.24.187 -i eth0 -p tcp -m tcp —dport 20 -j DNAT —to-destination 192.168.0.2
6.4 Включение доп модулей
Включить модули ip_nat_ftp и ip_conntrack_ftp для работы клиентов в активном режиме с FTP сервером.
7. Организация DNS+DHCP
Для организации сервисов dns и dhcp воспользуемся облегченным пакетов dnsmasq. Данная утилита употребляет два системных файла: /etc/hosts и /etc/resolv.conf. За счет resolv.confdnsmasq выяснит информацию о наружных DNS-серверах, по этому она автоматом выяснит о изменение адресов DNS-серверов провайдера, что дозволяет избежать реконфигурации сервера.
7.1
установка dnsmasq
1. ~$ sudo aptitude install dnsmasq
2. Правкаконфига /etc/dnsmasq.conf
~$ cat /etc/dnsmasq.conf
# listen interfaces
interface=eth1
# range
dhcp-range=192.168.0.10,192.168.0.99,24h
# fixed address
dhcp-host=00:08:A1:6A:16:72,192.168.0.2,24h
dhcp-host=00:04:76:21:4D:08,192.168.0.3,24h
dhcp-host=00:19:D2:CF:AE:9F,00:1B:24:58:57:C8,192.168.0.4,24h
dhcp-host=00:19:E0:73:3B:25,192.168.0.5,24h
dhcp-host=00:18:6E:A5:DF:00,192.168.0.100,24h
В данной конфигурации сервера и некие клиенты имеют фиксированные адреса.
8. Организация
VPNсервера
8.1 установка
ppp
1. Скачать ppp
wgetftp://ftp.samba.org/pub/ppp/ppp-2.4.3.tar.gz
2. Распаковать
tarzxvfppp-2.3.4.tar.gz
3. Изменить
cdppp-2.4.3; ./configure
4. Собрать и установить
make && makeinstall
8.2 Настройка
ppp для pptp туннелизации
Поправить /etc/ppp/options.pptpd
lock
debug
name pptpd
auth
+chap
+mschap-v2
+mschap
-pap
proxyarp
mppe required, stateless
8.3 установка
pptpd
1. Скачать pptpd
wgethttp://downloads.sourceforge.net/poptop/pptpd-1.3.0.tar.gz?modtime=1123056084&big_mirror=1
2. Распаковать
Tarzxvfpptpd-1.3.0.tar.gz
3. Изменить
cd pptpd-1.3.0; . ./configure —prefix=/opt/pptpd —with-libwrap —with-bcrelay
4. Собрать и установить
make && sudomakeinstall
8.4 Настройка
pptpd
Поправить файл /etc/pptpd.conf
option /etc/ppp/options.pptpd
localip 192.168.0.1
remoteip 192.168.0.101-150
8.5 Настройка
chap-secrets
Прописать юзеров в /etc/ppp/chap-secrets
client server secret ip address
firmstuff1 pptpd vpnpass1 192.168.0.101
firmstuff2 pptpd vpnpass2 192.168.0.102
*
*
*
firmstuff150 pptpd vpnpass150 192.168.0.150
9. Настройка
VPN клиента
9.1 Настройка на примере
UbuntuGNU/Linux
1. Установить PPTP клиент
sudo apt-get install pptp-linux
2. Создатьтуннель
sudo nano /etc/ppp/peers/office
persist
maxfail 0
lcp-echo-interval 60
lcp-echo-failure 4
pty «pptp 212.45.24.187 —nolaunchpppd“
name vpn
Password vpnpass
remotename PPTP-Ubuntu
require-mppe-128
ipparam office
9.2
НастройканапримереWindows XP
1. Свойство «Сетевое свита»
2. Создание новейшего подключения
3. Подключиться через VPN
4. имя организации
5. Адресок сервера
10. Проверка
VPN соединения
10.1 Проверка в
UbuntuGNU/Linux
Ниже, на картинке отображена работ VPN соединения
10.2 Проверка в
WindowsXP
Ниже, на картинке отображена работ VPN соединения
Заключение
В результаты выполнения работы была организована офисная сеть с внутренними файловыми ресурсами, настроен доступ в «Веб», также организован защищенный канал для передачи секретных данных через внешнюю сеть.
Литература
1. Д.Н. Колисниченко «Linux—сервер своими руками» 3-е издание, НиТ, Санкт-Петербург 2005 г.
]]>