Вопрос по защите apache и php

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DeVeO
ефрейтор
Сообщения: 68
Зарегистрирован: 2006-09-25 12:53:38

Вопрос по защите apache и php

Непрочитанное сообщение DeVeO » 2006-10-26 11:13:11

Добрый день. В-общем, настроил под FreeBSD (6.1) web-сервер apache. Связка такая-apache13+mod_ssl, mod_php, mod_perl,MySQL(client и server). Вроде все работает нормально. Машина тестовая. Вопрос такой. Как правильно защитить все это хозяйство? Честно говоря, опыта большого нет, поэтому и спрашиваю. Не поделится ли кто-нибудь информацией?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
serge
майор
Сообщения: 2131
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2006-10-26 11:42:57

А для каких целей все это будет использоваться? Действительно ли нужет php? Если для 1 сайта, то внимательно писать php скрипты, дабы детских ошибок не наляпать (типа include($GET)), ну и ограничить доступ к самой машине (ssh, ftp) только тем кому он действительно нужен. По mysql, если запросы будут только с локалхоста, то работать через сокеты, ну и рутовый пароль поставить и разделение прав доступа к базам.
Если что-то типа хостинга, то лучше почитать статью Лиссяры http://www.lissyara.su/?id=1066

DeVeO
ефрейтор
Сообщения: 68
Зарегистрирован: 2006-09-25 12:53:38

Непрочитанное сообщение DeVeO » 2006-10-26 12:24:12

Использоваться будет стандартно-сайт, почтовик (exim + squirrelmail), небольшая база под mysql с web-доступом (используется phpMyEdit). Работа с MySQL через сокет. Хостинга не будет. Доступ по ssh и ftp уже ограничен (только по внутр. сети). Что может быть еще? Читал про sql-инъекции,-не очень понял.

Аватара пользователя
serge
майор
Сообщения: 2131
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Непрочитанное сообщение serge » 2006-10-26 13:38:49

SQL инекция возможна из-за отсутствия проверки параметров передаваемых sql запросу. Все опять же сводится к внимательности при написании сценариев и обязательной проверки всего что передается от пользователя.
А так вообщем-то думаю достаточно.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-10-26 14:12:34

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
Тут получится вывод все паролей и логинов : -) Не говоря уже о UNION(Объединении запросов)

Написано для понимания, а не для коректной работы. SQL плохо знаю.

P.S. Все переменные всегда обрабатываются, обрезаются до определённой длины, вырезаются знаки и т.п.
Никакие переменные без проверок в код попасть не должны. Используются UNSET(Переменная) и т.п.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

DeVeO
ефрейтор
Сообщения: 68
Зарегистрирован: 2006-09-25 12:53:38

Непрочитанное сообщение DeVeO » 2006-10-26 14:29:44

Спасибо, стало понятно.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-10-26 15:03:25

нихера там у вас примеры :)))
Убей их всех! Бог потом рассортирует...