LinuxForum.Fans
Тема

Корректная (безопасная) настройка apache на web сервере

Автор: julpierto 12 сообщений 4554 просмотров
#213557

Делаю настройку web сервера debian впервые, поэтому прошу помощи и не судить строго.
При настройке apache прописал конфиги, вроде все правильно, но не могу увидеть надпись It works! или index.html с веба - подскажите пожалуйста, что сделал не так?
/etc/apache2/sites-available/site.ru

text
<VirtualHost 127.0.0.2:80>
ServerName site.ru
DocumentRoot /web/site/public_html/www/
ErrorLog /web/site/logs/error.log
CustomLog /web/site/logs/access.log combined
<Directory /web/site/public_html/www/>
allow from all
Options +Indexes
</Directory>
DirectoryIndex index.html index.php
</VirtualHost>

/etc/apache2/httpd.conf

text
ServerName site.ru

/etc/hosts

text
# nameserver config
# IPv4
127.0.0.1 localhost
#
# IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
127.0.0.2 site.ru
#213572
julpierto написал:
подскажите пожалуйста, что сделал не так?

тупо скопипастили откуда-то слева какие-то конфиги.

#213601

drBatty, все правильно, скопипастил с конфигов на своей машине, которые взял откуда-то слева, но они работали, что было достаточно для начала, а теперь пришла пора разбираться, поэтому решил обратиться к вам за советом.
newzenon, спасибо за ссылку, попробую переформулировать вопрос, чтобы он включал в себя все детали, как карта полета пилота TOPGUN.
Готовлю сервер для переезда сайта с другого хостинга.
Целью, с которой я настраиваю web сервер является желание научиться это делать грамотно и качественно, но знаний пока не хватает. Читаю маны, какие-то how to и прочее.
Конечной задачей является безопасность, для чего необходимо прописать конфиги так, чтобы извне с шелла нельзя было править файлы пхп, а phpmyadmin переместить по нестандартному пути, в общем учесть все наиболее актуальные нюансы безопасности.
На старом хостинге apache2.conf выглядит таким образом:

text
Listen *:80
NameVirtualHost 86.168.25.256:80

# Include module configuration: <VirtualHost 86.168.25.256> ServerName site.ru DocumentRoot /var/www/termit/data/www/site.ru AssignUserID termit termit CustomLog /var/www/httpd-logs/site.ru.access.log combined ErrorLog /var/www/httpd-logs/site.ru.error.log ServerAlias www.site.ru ServerAdmin webmaster@site.ru ScriptAlias /cgi-bin/ /var/www/termit/data/www/site.ru/cgi-bin/ php_admin_value open_basedir "/var/www/termit/data:." php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@site.ru" php_admin_value upload_tmp_dir "/var/www/termit/data/mod-tmp" php_admin_value session.save_path "/var/www/termit/data/mod-tmp" AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml AddType application/x-httpd-php-source .phps </VirtualHost> ... Include /usr/local/ispmgr/etc/ispmgr.inc <Directory /var/www/termit/data/www/site.ru> php_admin_value open_basedir "/var/www/termit/data:." Options +ExecCGI </Directory>

Очень хотелось бы узнать ваше профессиональное мнение, как можно настроить сервер, чтобы уровень безопасности хотя бы не уступал существующему?
Исходной информации зачастую не хватает, поэтому я могу предоставить все, что необходимо, если это потребуется.
Заранее благодарен всем откликнувшимся!

#213602

Мне кажется, или у вас перед .ru стоит пробел?

#213606

Нет, пробела нет, это так отображается в

text
теге
#213638

Про nginx, но основные принципы те же: http://www.xakep.ru/post/54168/?print=true
Netfilter (iptables) настроен?
Имхо phpmyadmin в топку.
Что крутится на хосте (cms)?

#213652

Про nginx, но основные принципы те же: http://www.xakep.ru/post/54168/?print=true
спасибо! smile

Netfilter (iptables) настроен?
Файрвол пока не трогал, скоро начну им заниматься.
Насчет phpmyadmin тут ничего не могу менять, это желание владельца сайта.
cms`ка самописная какая-то, не знаю точно.
Еще вопрос - у хостера на сайте в характеристиках два жестких 2x3Tb (Raid 1 Software), подскажите как можно узнать, работают ли они в зазеркаленном режиме?
#213663

пример самого элементарного firewall для веб-сервера:

text
# Разрешаем исходящий трафик и запрещаем весь входящий и транзитный:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Разрешаем уже инициированные соединения, а также дочерние от них:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешаем ssh, dns, ftp и веб сервисы:
iptables -A INPUT -p tcp --dport ssh -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport domain -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p udp --dport 21 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
# local loopback:
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем ping:
iptables -I INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -I INPUT -p icmp --icmp-type source-quench -j ACCEPT
iptables -I INPUT -p icmp --icmp-type time-exceeded -j ACCEPT

Хотя бы так.
Порты какие открывать смотри сам, это пример.

#213668

newzenon, спасибо огромное за "пинки" в нужном направлении, как говорится - "на войне патронами отдам".)
Курю...
оффтоп:

Показать
Это DaftPunk на аватаре?
Войдите или зарегистрируйтесь, чтобы ответить.