Вопрос по защите apache и php
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2006-09-25 12:53:38
Вопрос по защите apache и php
Добрый день. В-общем, настроил под FreeBSD (6.1) web-сервер apache. Связка такая-apache13+mod_ssl, mod_php, mod_perl,MySQL(client и server). Вроде все работает нормально. Машина тестовая. Вопрос такой. Как правильно защитить все это хозяйство? Честно говоря, опыта большого нет, поэтому и спрашиваю. Не поделится ли кто-нибудь информацией?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- serge
- майор
- Сообщения: 2133
- Зарегистрирован: 2006-07-30 15:34:14
- Откуда: Саратов
- Контактная информация:
А для каких целей все это будет использоваться? Действительно ли нужет php? Если для 1 сайта, то внимательно писать php скрипты, дабы детских ошибок не наляпать (типа include($GET)), ну и ограничить доступ к самой машине (ssh, ftp) только тем кому он действительно нужен. По mysql, если запросы будут только с локалхоста, то работать через сокеты, ну и рутовый пароль поставить и разделение прав доступа к базам.
Если что-то типа хостинга, то лучше почитать статью Лиссяры http://www.lissyara.su/?id=1066
Если что-то типа хостинга, то лучше почитать статью Лиссяры http://www.lissyara.su/?id=1066
-
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2006-09-25 12:53:38
Использоваться будет стандартно-сайт, почтовик (exim + squirrelmail), небольшая база под mysql с web-доступом (используется phpMyEdit). Работа с MySQL через сокет. Хостинга не будет. Доступ по ssh и ftp уже ограничен (только по внутр. сети). Что может быть еще? Читал про sql-инъекции,-не очень понял.
- serge
- майор
- Сообщения: 2133
- Зарегистрирован: 2006-07-30 15:34:14
- Откуда: Саратов
- Контактная информация:
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Или на примере:serge писал(а):SQL инекция возможна из-за отсутствия проверки параметров передаваемых sql запросу. Все опять же сводится к внимательности при написании сценариев и обязательной проверки всего что передается от пользователя.
А так вообщем-то думаю достаточно.
база sql выглядит так:
таблица passwords:
__id_________________|____password_______
__Пользователь1______|____Пароль1_______
__Пользователь2______|____Пароль2_______
__Пользователь3______|____Пароль3_______
__Пользователь4______|____Пароль4_______
Ты к примеру хочешь показать пользователю его пароль через переменную:
http://forum.lissyara.su/viewforum.php?f=Пользователь1
В данном случае переменной f присвоено имя пользователя
Допустим у тебя такой SQL запрос на PHP:
Код: Выделить всё
SELECT id,password FROM passwords WHERE id=f
Допустим ссылку переделаем так:
http://forum.lissyara.su/viewforum.php?f=Пользователь1 OR id<>NULL
В итоге в твоём коде выполниться запрос:
Код: Выделить всё
SELECT id,password FROM passwords WHERE id=f OR id<>NULL
Написано для понимания, а не для коректной работы. SQL плохо знаю.
P.S. Все переменные всегда обрабатываются, обрезаются до определённой длины, вырезаются знаки и т.п.
Никакие переменные без проверок в код попасть не должны. Используются UNSET(Переменная) и т.п.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2006-09-25 12:53:38
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация: