Jump to content

Recommended Posts

Posted

Поделитесь пжл BEST практикой приготовления apache(a) - от внешних угроз.

В гугле не забанили, как раз после прочитанного посетила сея мысль, что возможно что-то еще можно подкрутить.

 

Скрытый текст

Timeout 30 - Директива Timeout задает лимит времени, в течение которого Apache HTTP будет ждать нового ввода/вывода, прежде чем отклонять запрос подключения. 

 

ServerSignature Off - Отключает вывод версии Операционной Системы.
ServerTokens Prod - Отключает вывод версии Apache.

 

a2dismod --force autoindex - Отключить глобально модуль Apache, отвечающий за список каталогов.


Options -Indexes                                 -    Запрет просмотра содержимого папок без индексного файла (index.html)

Options -Includes                                -    Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes - включения на стороне сервера)
Options +SymLinksIfOwnerMatch      -  +FollowSymLinks - если включить этот параметр, то у злоумышленника появляется возможность получить доступ к файлам на сервере
                                                                 Вместо этого можно использовать более безопасный Options SymLinksIfOwnerMatch - который проверяет владельца файла и симлинка.

 

AllowOverride none                           -   AllowOverride директива, за счет которой в конфигурации Apache в файле apache2.conf задается правило использовать ли в каталогах папок файлы .htaccess или нет. .

 

Чтобы apache мог изменять какие-либо файлы за пределами своего web каталога.

<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
<Directory /www>
Order Allow,Deny
Allow from all
</Directory>

 

Только root должен иметь доступ на чтение конфигурационных и бинарных файлов Apache:

chown -R root:root /etc/apache2
chmod -R o-rwx /etc/apache2

 

Posted

Если сервис не публичный, то проще всего его просто закрыть снаружи.

Если закрывать нельзя, то можно сам апач запустить на loopback, а внешний доступ к нему проксировать (через Squid или nginx).

Но от уязвимостей в самом программном коде (PHP или что там используется) это никак не спасет.

Возможно SELinux частично поможет (я его обычно стараюсь выключать, где это возможно), не даст получить доступ в систему, но и он не поможет от несанкционированного доступа к внутренним данным сайта.

Posted
1 час назад, alibek сказал:

Обычно взламывают не http-сервер, а сайт. Apache или nginx тут погоды не делает.

да, но есть варианты... загруженный .htaccess никто не отменял...

  • 2 weeks later...
Posted
В 21.01.2023 в 03:31, Ivan_83 сказал:

nginx+*cgi*.

Сам cgi засунуть в чрут или ещё куда, порезав все лишние возможности.

Чрут??? Докер уж лет 10 как завезли

Posted
8 часов назад, sirmax сказал:

Докер уж лет 10 как завезли

С докером хорошо отделяется php-fpm  и другие модули, поддерживающие fcgi-proxy. А если такой поддержки нет и там файлы, то надо будет делать nfs или тащить файловую систему с хоста в контейнеры, и в итоге докер получается оверхед и оверинжениринг

Posted
В 21.01.2023 в 04:31, Ivan_83 сказал:

Сам cgi засунуть в чрут или ещё куда

chroot - это про линукс в линуксе? - ну так себе решение...

вот у фряхи помню были jail'ы - вот это силищя! 

Posted

>вот у фряхи помню были jail'ы - вот это силищя! 

 

 Почему были ? Есть, и наверное работают :)

 

 

Posted
On 1/31/2023 at 10:59 PM, sirmax said:

Чрут??? Докер уж лет 10 как завезли

chroot имеет нулевой оверхэд по процу и памяти и стремящийся к нулю по диску.

Докер это средство переносить говнософт со 10005000 зависимостями и костылями в системе, либо для совсем корявых админов которым лень что то делать самим.

 

16 hours ago, RN3DCX said:

chroot - это про линукс в линуксе? - ну так себе решение...

вот у фряхи помню были jail'ы - вот это силищя!

Оно и на фре есть и много где, потому что реализация простая.

jail это такая микро виртуализация, уже с заметным влиянием на проц и память.

Posted
1 час назад, Ivan_83 сказал:

Оно и на фре есть и много где, потому что реализация простая.

Я мож не смог познать всей реализации, НО, chroot - это же полноценная операционка внутри базовой операционки!?

И где тут экономия ресурсов?

Posted

Экономия тут большая, подобная изоляция не требует больших ресурсов.

Насколько я помню, это скорее паравиртуализация, без полноценной виртуальной машины внутри, с использованием штатных фич ОС и процессора по разделению ресурсов.

Posted
6 minutes ago, RN3DCX said:

chroot - это же полноценная операционка внутри базовой операционки!?

Нет.

Просто для приложения и всех его дочерних приложений / считается та директория которая назначена при старте через chroot.

Чтобы это работало полноценно туда нужно закинуть необходимый набор файлов, и смонтировать отдельные штуки типа /dev/ можно в урезанном составе, как минимум random нужен.

 

Подход к построению chroot может быть разный: одни туда тупо инсталят копию операционки и не заморачиваются, другие тратят кучу времени и закидывают только необходимые файлы.

 

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

Внутри не смотрел как оно, но чем то это напоминает openat() вызов, который от обычного open() отличается тем что ему передают дескриптор родительского каталога. Так некоторые приложения делают изоляцию обхода каталогов или просто упрощают себе жизнь на склеивании путей в виде строк.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.