# Создание сервера для локальной сети

## ZmiyGorinich

Вот решил немного самообразоваться и сделать сервер для свой сети на Gentoo.

Может кто-то поделиться опытом или раскажет пошагово как все настроить?

В результате может получиться неплохое HowTo для других.

Есть машина с двумя сетевыми картами, одна смотрит в локальную сеть другая в интернет.

Надо настроить чтобы работало: DHCP и кеширующий DNS сервер для локальной сети, обезапасить сервер от атак из интернет, почта для локальной сети и SMTP сервер дял отсылки почты в мир.

----------

## ba

дык написано же уже все...

http://www.gentoo.org/doc/en/index.xml?catid=sysadmin

----------

## noboru

http://gentoo-wiki.com/HOWTO_setup_a_home-server

----------

## ZmiyGorinich

Это я уже читал...

Но мне не все понятно... Например, что писать в качесте hostname и domainname в системе, имя сервера как я хочу чтобы его было видно из интернета или как я хочу чтобы его было видно внутри мой сети

И там не написано что мне надо или не надо править в конфигурации ядра

----------

## devil_ua

 *RI-VVM wrote:*   

> Это я уже читал...
> 
> Но мне не все понятно... Например, что писать в качесте hostname и domainname в системе, имя сервера как я хочу чтобы его было видно из интернета или как я хочу чтобы его было видно внутри мой сети
> 
> И там не написано что мне надо или не надо править в конфигурации ядра

 

По конфигурации ядра могу сказать только одно.

http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html

----------

## WI

По поводу видимости сервака из инета.. Имя домену дает провайдер. Иначе никак. 

Сервер же может откликаться на несколько имен. Так что как ты его обзовешь изнутри - дело личное.

То, что между интернетом и локалкой  обзывают фаерволом. Его задача рубить вражеские пакеты. На него как правило не рекомендуют ставить прочие сетевые сервисы типа телнетов, фтп, смтп, самбы, дшсп, днс и т.п, да и компиляторы с сурсами там не к месту (ибо порвут). Загляни на linuxshop.ru .Там  библиотека неплохая.

----------

## GreenDragon

 *WI wrote:*   

> 
> 
>  На него как правило не рекомендуют ставить прочие сетевые сервисы типа телнетов, фтп, смтп, самбы, дшсп, днс и т.п, да и компиляторы с сурсами там не к месту (ибо порвут). Загляни на linuxshop.ru .Там  библиотека неплохая.

 

Ну тут спорный вопрос.

Например меня рвали при всем этом имеющемся 2 раза за 5 лет и то по моей дурости.

Первый раз дал слишком много прав одному зверю на http каталоги, так оно там такого понавыставляло;

второй - сам дурак, решил поиграться с антивирусником и опять же дал ему слишком много прав  :Smile: 

На счет telnet так это давно избитая тема - его уничтожать надо как класс, хотя извини, но на ту же CISCO ты можешь попасть или с помошью RS232 или telnet, а теперь представь, что она удаленная ...

smtp  - хорошо, когда у тебя в конторе есть лишнее железо и ты можешь воткнуть почтовый на него, а если нет ?

проще следить за дырами и вовремя затыкать, хотя в идеале хотелось бы ... да, что-то ращмечтался  :Smile: 

сорри за флуд.

----------

## YD

Надо просто обрубить с iptables всё и xinetd. Никакие пакеты в твою локалку с адресами локалики не пускать, тобишь рубит на PREROUTING'e, и не выпускать. У меня стоит apache с самыми злобными настройками (хотя не в chroot'e). На WWW исключительно всё моё, PHP тоже злобнее не бывает. umask 027. Дефолтный baselayout я chmodил как мог и менял группы. Тобишь разные сервисы только туда, куда надо могут стучаться. Всё, откуда не должно на разных разделах с nosuid,nodev,noexec. На кроне висит автоматический sync & обновление мира + glsa. Можешь потом повесить AIDE. Можешь попробывать GRsec, но selinux не советую, гемора необерёшься. Так же смени тогда профиль на hardened. Сервисы, которые работают от рута можешь повесить на более высокие порты (1024<) и просто делать DNAT/SNAT по средствам iptables. Можешь заюзать QoS & iproute2. SSH доступ через xinetd на нерутовский эккаунт, с последующим  su -. Ещё огромное множество всего, что можно сделать, просто надо уже самому рыться по манам.

----------

## ZmiyGorinich

Спасибо всем за советы... а можно по подробнее на счет профиля hardened?

----------

## GreenDragon

 *YD wrote:*   

> Ещё огромное множество всего, что можно сделать, просто надо уже самому рыться по манам.

 

Для начала рекомендую http://www.gentoo.org/doc/ru/gentoo-security.xml?style=printable

----------

## ZmiyGorinich

Что-то уже проясняется  :Smile: 

Может кто-то уже настраивал сервер с нуля? Можно просветить меня по пунктикам?

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

Сервер у меня старенькая машинка на Celeron 900MHz

----------

## ba

 *YD wrote:*   

> ...

 

для домашнего-то сервера? половину нафиг не надо... лишь бы обновляй более-менее воремя да своих ляпов не делай...

хотя grsec+hardened я обычно все-таки включаю у себя на серверах, но что-то они многовато гемора приносят, то не собирается что-нить, то падать начинает с непонятными ошибками, то еще что, думаю уж поодключать их, хотя бы частично ...

 *YD wrote:*   

> Дефолтный baselayout я chmodил как мог и менял группы. Тобишь разные сервисы только туда, куда надо могут стучаться.

 

и после обновлений все заново перечмодиваешь?

 *YD wrote:*   

> На кроне висит автоматический sync & обновление мира

 

ммм... и долго на такой машинке сервисы не падали?

 *YD wrote:*   

> SSH доступ через xinetd на нерутовский эккаунт, с последующим  su

 

лучше sudo

 *YD wrote:*   

> Можешь заюзать QoS & iproute2.

 

а QoS-то тут накой? на одной машине же он ничего не будет делать, если оборудование с той стороны его не понимает... ну и что ты такое можешь сделать при помощи iproute2 каксательно секьюрности?

----------

## ZmiyGorinich

А можно подробнее о grsec+hardened что это такое, как его использовать и т.д.

----------

## ba

 *RI-VVM wrote:*   

> А можно подробнее о grsec+hardened что это такое, как его использовать и т.д.

 

http://www.gentoo.org/proj/en/hardened/

там есть ссылка на quickstart howto

----------

## YD

Я сказал можешь_попробывать_grsec. QoS & iproute2, чтобы squid не ставить и контролировать поток на apache. Кто baselayout обновляет? Сервисы не падуют, частенько проверяю что установилось. Это домашний серв. Есть ещё другой, который я в глаза не видел, ставил через и-нет с нуля со stage1. В принципе когда о сервере не знают, врятли кто будет его ломать. Profile поставил дефолтный (с hardened просто намучался и на удалённый сервер ставить не охота, а так бы может и поставил). В первую очередь sysctl.conf & iptables  & xinetd & sshd и всё, что с этим связано, настройка. Потом ребут с вытаскиванием LiveCD. Чел следит за запуском системы, если не эксперементировать, то всё должно быть нормально. Потом последующяя конфигурация и установление дополнительных пакетов. На cron вешается sync & высылка по почте --pretend и glsa.

----------

## ba

 *YD wrote:*   

> QoS & iproute2, чтобы squid не ставить и контролировать поток на apache. 

 

Это конечно уже offtopic, но зачем поток на apache контролировать? чтобы не заDoS-или чтоли? дык меня пару раз досили - при этом открывается немеряное число коннектов, а поток при этом явно не превышает обычный...

ну и не совсем понятно причем тут еще и squid взялся(а точнее в каком месте iproute2 его заменит)...

 *YD wrote:*   

> Кто baselayout обновляет?

 

я не понял вопроса

 *YD wrote:*   

> Сервисы не падуют, частенько проверяю что установилось.

 

а нафиг тада обновление мира по крону если все равно проверяешь?

 *YD wrote:*   

> На cron вешается sync & высылка по почте --pretend и glsa.

 

это уже другое дело...

----------

## GreenDragon

 *RI-VVM wrote:*   

> Что-то уже проясняется 
> 
> Может кто-то уже настраивал сервер с нуля? Можно просветить меня по пунктикам?
> 
> Какое ядро выбрать? Что нужно сразу сделать на свежеустановленном Gentoo для обеспечение защиты, какие пакеты надо удалить и т.д.
> ...

 

Определись какой тебе сервер надо - интернет, файл-сервер, почтовый и отсюда пляши.

Вот, например, мой тестовый сервер - установлены:

1) dhcp       -  раздача IP в локалку

2) apache2   - web сервер

3) php-5.0.3-r1 

4) samba  - файловый сервер

5) iptables - брандмауэр

6) mysql   - базы данных

7) ssh       - доступ из вне по защищенному соединению

 :Cool:  proftpd  - FTP сервер

9) rdesktop - терминальный клиент для доступа к терминальным серверам

и по-скольку он еще и моя рабочая машина XOrg 6.8.2-r1

На нем 2 сетевые карты, так же как и у вас - одна Internet, вторая локалка.

iptables политики по умолчанию DROP. Если нужен какой-либо порт наружу - соответственно он и открывается.

С помощью тех же iptables через NAT пускаются некоторые превилигированные машины  в инет.

SSH рекомендую посадить на любой свободный порт выше  1024, а еще лучше выше 65000 - тогда сканеры не обнаружат Ваш SSH ибо сканируют в обычном режиме намного меньше портов.

Доступ из вне к SAMBA закрыт как с помошью iptables так и с помошью конфигурационного файла самой самбы. 

mysql - доступ закрыт.

DNS, почта находятся на другом железе

Если вкратце - то все вроде.

----------

## YD

У меня SSHD закрыт на xinetd + iptables из вне пропускают только на 80 порт коннект, а точней надо на тот, на котором apache.

Для чего нужена связка QoS и iproute2? squid ведь оыбчно вешают какраз для того, чтобы ограничить максимальную пропускную способность потока данных, у апаче это не поддерживается, кроме, как всякими стрёмными модами типа mod_bandwidth, которые не работают на apache2. Сам я, чтобы лишить себя гемора пока не использую, т.к. сервер не под такими ужастными нагрузками, да и для больших файлов сделан FTP. Да и syncookies можно врубить в Linux kernel.

Я имею в виду, кто обновляет baselayout на системе, если только действительно принципиально новая версия не вышла?

----------

## ba

 *YD wrote:*   

> Я имею в виду, кто обновляет baselayout на системе, если только действительно принципиально новая версия не вышла?

 

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

----------

## YD

Я малость не так выразился, --pretend, тобишь 

```
 emerge -uDpv world
```

----------

## ZmiyGorinich

Вот добрался до самбы....

Есть сервер и есть 3-4 машины с линксом, на каждой по несколько пользователей....

Как сделать чтобы все файлы которые кладутся по самбе на сервер были от пользователя nnn и чтобы все другие пользователи могли удалять, редктировать и т.д. эти файлы...

права вида 777 не предлагать  :Smile:  хочу чтобы файлы были 644 и папки 755

Вроде слышал что NIS занимается синхронизацией пользователей и ID пользователей и груп.

----------

## WI

 *YD wrote:*   

>  В принципе когда о сервере не знают, врятли кто будет его ломать. 

 

Поставь виндовый сервак "из коробки",  высунь его в инет ничего особо не настраивая. Минут через 30-40 набери команду route print . 

Ты все поймеш, и все увидишь сам...

Не забудь потом выключить сервер, а то упаришься за нет платить.

nmap - прикольная штука.

----------

## WI

 *RI-VVM wrote:*   

> Вот добрался до самбы....
> 
> Есть сервер и есть 3-4 машины с линксом, на каждой по несколько пользователей....
> 
> ли удалять, редктировать и т.д. эти файлы...
> ...

 

Самба?  В чисто линуховой сети? 

Зачем? Самба применяется там где есть вокруг виндовые машинки. В *nix шарить диски при наличии возможности заиметь чужой шелл  не особо актуальны. Там где  чужая консоль не доступна исторически пользовались фтп и майлом. Если вокруг винды нет можно шарить диски через NFS, который "за ненадобностью" появился намного позже. Ну а принтеры через cups.

В винде изначально шара принтера и диска - были единственным способом получения доступа (отсюда скорее всего и более навороченная система прав доступа). Всякие радмины и терминалы  - попытка за дополнительные бабки присобачить столь необходимую графическую  консоль к удаленнойц машине.

В самбе можно настроить наследование прав на вновь создаваемые файлы. Это параметр create mask = 0644 (к примеру) в разделе описания шары файла smb.conf. Подробнее в мане smb.conf.

----------

## ZmiyGorinich

Винда вокруг есть....  :Sad: 

Аж 5 штук  :Smile: 

А в NFS можно сказать с какими правами и владельцема создаются файлы? А то что-то я не где не нашел...

----------

## YD

 *RI-VVM wrote:*   

> Винда вокруг есть.... 
> 
> Аж 5 штук 
> 
> А в NFS можно сказать с какими правами и владельцема создаются файлы? А то что-то я не где не нашел...

 

Можно так, что uid/gid будет одинаковый. Можно чтоб все подключения к NFS были, как анонимные и поставить юзера и группу для анонимного.

2WI, мыже говорим о Gentoo. При чём тут мастдай? Он дохнет из-за вирусов, а не из-за того, что кто-то пытается его ломануть. Уже ведь доказано, что девственная винда живёт 20 минут в сети.

----------

## WI

Если есть ввокруг  масдай ставь самбу и можно забить на NFS. Незачем держать 2 системы, делающие одно и то же.  .

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

Надо же как то спам рассылать, конкурентов пакетами бомбить и заниматься прочей "общественно полезной" деятельностью  :Smile: .

----------

## ZmiyGorinich

А как это сделать и где можно поситать?

 *YD wrote:*   

>  *RI-VVM wrote:*   Винда вокруг есть.... 
> 
> Аж 5 штук 
> 
> А в NFS можно сказать с какими правами и владельцема создаются файлы? А то что-то я не где не нашел... 
> ...

 

----------

## YD

По-моему я этот HOWTO читал, когда ставил.

http://nfs.sourceforge.net/nfs-howto/

----------

## ZmiyGorinich

Что-то я тут не нашел....

Дошел уже до iptables  :Smile: 

Делал вот по этой доке http://gentoo-wiki.com/HOWTO_setup_a_home-server

Но там внутри сети разрешается все... а как внутри запретить все и открыть только веб, фтп, icq, msn, yahoo ну и пинги?

----------

## YD

Я соврал, вспомнил я просто man configname.conf смотрел. Там всё есть.

----------

## ZmiyGorinich

Все уже сделал...  :Smile:  Спасибо всем за советы....

Теперь добрался до iptables.

Можете помоч?

Есть eth0 - сетевая подключена в интернет и есть eth1 - подключена к локальной сети.

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

Потом как мне открывать на внешнюю сетевую только то что я хочу, настроить NAT и открывать из внутренней сетки наружк тоже только определенные вещи?

----------

## YD

http://www.gentoo.org/doc/en/gentoo-security.xml#doc_chap13 < Тут были базовые iptables правила, можешь взять их. У меня у самого другой, но кое-что я отсюда брал.

----------

## ZmiyGorinich

А можешь дать мне свои... желательно с коментариями что и чего делается?  :Smile: 

----------

