Организация безопасного удалённого доступа к корпоративным ресурсам
# 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 CP125
1
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 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.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
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности