66523

Сетевые службы. Защита сетевых ресурсов

Лабораторная работа

Информатика, кибернетика и программирование

Шлюз по умолчанию и DNS-сервер имеют IP-адрес 192.168.123.1 В качестве DNS-сервера используется сервер bind9, сконфигурированный в ОС Ubuntu GNU/Linux. Исходная конфигурация не изменялась, были добавлены зоны для компьютеров сети

Русский

2014-08-22

27.84 KB

3 чел.

ФГБОУ ВПО "Санкт-Петербургский государственный
политехнический университет"

Факультет технической кибернетики

—————————

Кафедра информационной безопасности компьютерных систем

ОТЧЕТ

по лабораторной работе №3

«Сетевые службы. Защита сетевых ресурсов»

по дисциплине «Операционные системы»

Студент гр. 2088/1

Никитин А. С.

Преподаватель

Степанова Т. В.

Санкт-Петербург — 2012

1. Формулировка задания

Цель работы — изучение сетевого взаимодействия в ОС различного типа, настройка базовых сетевых серверов и использования межсетевого экрана.

2. Использованные теоретические сведения

http://www.zytrax.com/books/dns/ch8/soa.html
http://sudouser.com/ustanovka-i-nastrojka-dns-servera-bind9-ubuntu-debian-howto.html
http://linux.die.net/man/5/pam.d
http://www.opennet.ru/base/net/vsftpd_fedora7.txt.html

3. Результаты работы

3.1. Выполнение индивидуального задания

Была настроена сеть из четырёх компьютеров со следующими параметрами:

Операционная система

IP-адрес

DNS-имя

Ubuntu GNU/Linux

192.168.123.1

ftp.network

Windows XP

192.168.123.2

wini.network

Windows XP

192.168.123.3

winii.network

Windows XP

192.168.123.4

winiii.network


Шлюз по умолчанию и DNS-сервер имеют IP-адрес 192.168.123.1
В качестве DNS-сервера используется сервер bind9, сконфигурированный в ОС Ubuntu GNU/Linux. Исходная конфигурация не изменялась, были добавлены зоны для компьютеров сети:
В файл /etc/bind/named.conf добавлена строка ‘include “/etc/bind/work.conf”;’
Содержимое файла /etc/bind/work.conf:

zone "ftp.network" {

type master;

file "/etc/bind/ubuntuserver";

};
zone "wini.network" {

type master;

file "/etc/bind/winiclient";

};
zone "winii.network" {

type master;

file "/etc/bind/winiiclient";

};
zone "winiii.network" {

type master;

file "/etc/bind/winiiiclient";

};

В этом файле содержатся записи о зонах доменных имён.
Все файлы, указанные в записях зон, одинаковы по своей структуре и отличаются лишь некоторыми полями:

$TTL 604800 ;Время, в течение которого может сохраняться кешированная запись

@ IN SOA ftp.network. root.ftp.network. ( ;SOA-запись – основные параметры зоны. В заголовке указаны доменное имя и e-mail-адрес владельца

2012040301 ;серийный номер. Должен увеличиваться при изменении записи зоны. По рекомендациям должен содержать дату изменения и количество изменений за день

108000 ;Время, по прошествии которого вспомогательный DNS-сервер должен обновлять запись

1800 ;Время между попытками обновления записи, если прошлая была неудачной

120960 ;Время, в течение которого запись действительна

1800 ;

);

@ IN NS ftp.network. ;NS-сервер, обслуживающий данную зону

@ IN A 192.168.123.1 ;IP-адрес, соответствующий зоне

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

В качестве ftp-сервера используется vsftpd. После его установки стандартная конфигурация опять же менялась слабо. Часть содержимого файлов была взята из стандартных примеров, поставляемых вместе с пакетом vsftpd. Далее будут приведено содержимое файлов.

/etc/vsftpd.conf:

anonymous_enable=NO #Сервер не анонимен

local_enable=YES #Необходимо разрешить использование локальных логинов для входа на сервер, так как будут использоваться виртуальные пользователи

write_enable=YES #Разрешение записи на сервер

local_root=/data #Корневой каталог, который будет установлен при входе на сервер пользователя

chroot_local_user=YES #Помещение локальных пользователей в chroot-среду.

guest_enable=YES #Гостевой вход будет приведён ко входу локального пользователя

guest_username=ftpuser #Имя локального пользователя
user_config_dir=/etc/vsftpd/users/ #В данной директории хранятся дополнительные файлы конфигурации, специфичные для разных пользователей

virtual_use_local_privs=YES #Виртуальные пользователи будут пользоваться привилегиями локальных

chmod_enable=YES #Разрешение использования команды SITE CHMOD

chown_uploads=YES #Для загруженных файлов будет меняться владелец

chown_username=ftpuser #на локального пользователя, представляющего виртуальных пользователей на данном компьютере

local_umask=0022 #Значение маски, используемое при создании файла локальным пользователем. Только чтение для пользователей из группы и всех остальных

file_open_mode=0777 #Базовое значение маски

listen=YES #Запускается vsftpd отдельно

listen_port=21 #Порт для ожидания подключений

pasv_min_port=30000 #Диапазон портов, используемых для PASV-подключения
pasv_max_port=30999

xferlog_enable=YES #Настройки логирования

xferlog_std_format=YES

xferlog_file=/var/log/vsftpd.log

tcp_wrappers=YES #Входящие подключения проходят через контроль доступа tcp_wrapers

pam_service_name=ftp #Название сервиса аутентификации пользователей


Файл /etc/pam.d/ftp содержит конфигурацию сервиса аутентификации пользователей

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login #аутентификация пользователя

account required /lib/security/pam_userdb.so db=/etc/vsftpd/login #разрешение/запрет доступа

Файл /etc/vsftpd/login.db получен из текстового файла, содержащего пары строк – логин и пароль , с помощью команды db4.6_load -T -t hash -f logins.txt login.db – получение базы данных хешей.

Также для пользователей созданы персональные конфигурации в директории /etc/vsftpd/users. В данных файлах настраиваются права доступа и корневые каталоги для пользователей.

/etc/vsftpd/users/useri

local_root=/data #Корневой каталог для данного пользователя

write_enable=YES #Для данного пользователя разрешены команды записи

/etc/vsftpd/users/userii

local_root=/data/userii #Корневой каталог для данного пользователя

write_enable=YES #Для данного пользователя разрешены команды записи

/etc/vsftpd/users/useriii

local_root=/data/useriii #Корневой каталог для данного пользователя

write_enable=NO #Для данного пользователя запрещены команды записи

Пользователь

Операция

Локальный адрес файла

Результат

useri

Запись в /testfile

/data/testfile

Файл записан

useri

Запись в /useriii/testfile

/data/useriii/testfile

Файл записан

userii

Запись в /testfile

/data/userii/testfile

Файл записан

useri

Чтение /userii/testfile

/data/userii/testfile

Файл прочтён

userii

Чтение /testfile

/data/userii/testfile

Файл прочтён

useriii

Запись в /testwrite

/data/useriii/testwrite

Файл не записан

useriii

Чтение /testfile

/data/useriii/testfile

Файл прочтён


Правила фильтрации входящего трафика:
iptablesA INPUTp tcpj DROP
iptablesA INPUTp udpj REJECT

iptablesA INPUTp icmpj REJECT
Результат – подключение к ftp-серверу стало невозможным, так как для этого используется протокол tcp.

3.2. Ответы на контрольные вопросы

1. Какие функции обеспечивает серверная и клиентская части сетевой ОС?

Серверная часть обеспечивает средства создания и обслуживания разделяемых ресурсов.

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

2. Каковы основные отличия рекурсивных DNS-серверов от не рекурсивных?
При нахождении отсылки на другой DNS-сервер не рекурсивный сервер отправит клиенту сообщение об этом как результат трансляции. После этого клиент должен самостоятельно послать запрос на следующий сервер. Рекурсивный сервер делает этот процесс прозрачным для пользователя, возвращая сразу результат трансляции.

3. Какие функции выполняют демоны Samba?
Два основных демона – smbd и nmbd. Smbd обеспечивает сетевые сервисы и аутентификацию и авторизацию пользователей, nmbd обеспечивает работу службы имён NetBIOS.

4. Каким образом можно ограничить доступ к ресурсам Web-сервера Apache?
Существует файл access.conf, в котором есть возможность задать права доступа для отдельных каталогов. Таким образом можно ограничить доступ посетителей Web-сайта к папкам, содержащим не предназначенные для показа им файлы.

5. С какой целью используется действие LOG межсетевого экрана netfilter/iptables?
Данное действие может использоваться для журналирования пакетов, соответствующих определённым критериям, что может быть полезным для из последующего анализа.

4. Выводы

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


Приложение

Исходные тексты программ

#include <linux/kernel.h>

#include <linux/module.h>

#include <linux/proc_fs.h>

#include <asm/uaccess.h>

#include <asm/current.h>

#include <linux/security.h>

#include <linux/cred.h>

#define FILE    "euidread"

static char filebuffer[] = "Hello, this is \"euidread\" \"file\" content\n"; //Строка,
//
возвращаемая при чтении из файла

static struct proc_dir_entry *procfile;

static ssize_t file_read(struct file *filp, char *buffer, size_t length, loff_t *offset) {

   static int finished = 0; //Чтение файла

   if (finished) { //Если поднят флаг завершения, возвращаем ноль

       finished = 0;

       return 0;

   }

   finished = 1;

   if (copy_to_user(buffer, filebuffer, 41)) return -EFAULT; //Возвращается строка

   return 41;

}

int file_open(struct inode *inode, struct file *file) { //Открытие файла

   try_module_get(THIS_MODULE);

   return 0;

}

int file_close(struct inode *inode, struct file *file) { //Закрытие файла

   module_put(THIS_MODULE);

   return 0;

}

static struct file_operations file_ops = { //Операции над файлом

   .read = file_read,

   .open = file_open,

   .release = file_close

};

static int access_permission(struct inode *inode, int op) { //Определение прав доступа

   if ((((op & 07) == 04) && current_euid() < 1000)) return 0; //Если действие – чтение,

//и EUID меньше 1000, то доступ разрешается

   return -EACCES;

}

static struct inode_operations inode_ops = { //Операции над inode

   .permission = access_permission

};

int init_module() { //Инициализация модуля

   procfile = create_proc_entry(FILE, 0666, NULL); //Создание файла с полным доступом

   if (procfile == NULL) return -ENOMEM;

   procfile->proc_iops = &inode_ops; //Задание параметров

   procfile->proc_fops = &file_ops;

   procfile->mode = S_IFREG | S_IRUSR;

   procfile->uid = 0;

   procfile->gid = 0;

   procfile->size = 80;

   return 0;

}

void cleanup_module() { //Выгрузка модуля

   remove_proc_entry(FILE, NULL);

}


 

А также другие работы, которые могут Вас заинтересовать

57634. Особенности кредитования предприятий оптовой и розничной торговли в ООО Банк «Элита» 150.65 KB
  Кредитные операции – это отношения между кредитором и дебитором (заемщиком) по поводу предоставления (получения) во временное пользование денежных средств, их возврата и оплаты.
57635. Fast Food (Advantages and disadvantages) 52.5 KB
  On previous lessons we were speaking about favourite recipes, different kinds of food and about ways and methods of cooking. So, let’s revise. Look on the board, please and tell what you have or don’t have in the fridge? Use your home exercise.
57636. You are as many times a man as many foreign languages you know 45.5 KB
  The people of Babylonia were rich and powerful. They were happy. They love each other and enjoyed working together. But one thing was lacking. Man had only the Earth to enjoy. Because God had kept heaven for himself and his evangels.
57637. Моє улюблене зимове свято 66.5 KB
  In Ukraine this tradition is celebrated on 19 December. Young children put their shoes or boots in front of the chimneys and sing songs. On the next morning they will find a small present in their shoe/boots, ranging from a bag of chocolate coins to a bag of marbles or some other small toy.
57638. INFINITIVE 91 KB
  Use the correct form of the Infinitive: Speak louder if you want... (to hear, to be heard) Don’t talk too much if you want people...(to listen, to be listened) to you. Ask yourself always: how can this... (do, be done). I am glad... (to take, to be taken) your advice.
57639. Travelling. The Visit to Kyiv 55.5 KB
  What is it? Railway station. Imagine that we will go to a trip to Kyiv. This is the map of the centre of Kyiv. So, the topic of our lesson is “The Visit to Kyiv”. Children, who helps us to know more about interesting places?
57640. Kyiv is the capital of Ukraine. Main cities 11.79 MB
  Good morning! I`m glad to see you Come here, make a circle and say a compliment. Choose a card and choose your team. They are: Tulips, Roses, Daffodils. We shall compete in some tasks and I will give you the scores. I wish you good luck.
57641. Languages of the world 128.5 KB
  You see that the first language in the list is Mandarin (Chinese) and the second is English. 6-й слайд Teacher: What do we know about languages? The oldest written language is Egyptian Mandarin Chinese is spoken by 700 million people. India has 845 languages.