24
Информационно-коммуникационные технологии
Курсовая работа
на тему
Организация безопасного удалённого доступа к корпоративным ресурсам
по дисциплине
Управление сетями ЭВМ
Москва 2008 г.
Аннотация
В курсовой работе выполняется организация офисной сети, настройка шлюза для обеспечения выхода пользователей в «Интернет». Организация DNS+DHCP, файлового сервера FTP/SMB для хранения конфиденциальных и общедоступных данных пользователей, а также обеспечивается защищённый доступ из внешней сети к конфиденциальным данным пользователей по средствам VPN и открытый доступ к общедоступным данным пользователей.
Содержание
~$ 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. Если конфигурация прошла удачно, то приступаем к сборке и установке
~$ sudo make && sudo make install
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 doesnt send "-a".
DisplayDotFiles yes
# Dont 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
# Dont 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 dont 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 cant 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 youre sure all your users have some basic Unix
# knowledge, this feature is useless. If youre 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 dont 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 {start|stop|restart|status}"
esac
5. Организация Samba
Samba - предназначена для использования протокола SMB(NetBIOS).
5.1 Установка Samba
1. Скачаем исходные коды
wget http://us4.samba.org/samba/ftp/stable/samba-3.0.25a.tar.gz
2. Распакуем их
tar zxvf samba-3.0.25a.tar.gz
3. Перейдем в каталог исходных кодов
cd samba-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 -t nat -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 ACCEPT
2. Разрешить входящие 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 ACCEPT
3. Разрешить входящие 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 ACCEPT
5. Открыть порты для 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.conf dnsmasq узнает информацию о внешних 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
wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.3.tar.gz
2. Распаковать
tar zxvf ppp-2.3.4.tar.gz
3. Сконфигурировать
cd ppp-2.4.3; ./configure
4. Собрать и установить
make && make install
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
wget http://downloads.sourceforge.net/poptop/pptpd-1.3.0.tar.gz?modtime=1123056084&big_mirror=1
2. Распаковать
Tar zxvf pptpd-1.3.0.tar.gz
3. Сконфигурировать
cd pptpd-1.3.0; . ./configure --prefix=/opt/pptpd --with-libwrap --with-bcrelay
4. Собрать и установить
make && sudo make install
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 Настройка на примере Ubuntu GNU/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 Проверка в Ubuntu GNU/Linux
Ниже, на картинке отображена работ VPN соединения
24
10.2 Проверка в Windows XP
Ниже, на картинке отображена работ VPN соединения
Заключение
В результаты выполнения работы была организована офисная сеть с внутренними файловыми ресурсами, настроен доступ в «Интернет», а также организован защищенный канал для передачи конфиденциальных данных через внешнюю сеть.
Литература
1. Д.Н. Колисниченко «Linux--сервер своими руками» 3-е издание, НиТ, Санкт-Петербург 2005 г.
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |