ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ web-ΡΠ΅ΡΠ²Π΅ΡΠ° Apache
Π’Π°ΠΊΠΆΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ suexec, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ CGI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ HTTP-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (mod_auth_basic) ΠΈ digest-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (mod_auth_digest); ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° IP-Π°Π΄ΡΠ΅ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ; ΠΠ»Ρ ΡΠΎΠ³ΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ web-ΡΠ΅ΡΠ²Π΅ΡΠ° Apache (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Apache ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ:
- ? ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ;
- ? ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ HTTP-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (mod_auth_basic) ΠΈ digest-Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ (mod_auth_digest);
- ? ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° IP-Π°Π΄ΡΠ΅ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ;
- ? Π·Π°ΠΏΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π·Π°ΠΏΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ;
- ? ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Π‘Π£ΠΠ ΠΈΠ»ΠΈ PAM (Pluggable Authentication Modules — ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ; Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ API Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ).
Π Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° Apache, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ uid ΠΈ gid, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈ Π³ΡΡΠΏΠΏΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π’Π°ΠΊΠΆΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ suexec, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ CGI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΡ ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ SSL, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ OpenSSL. ΠΠ»Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ X.509.
ΠΠ½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠΊΡΠ°Π½Ρ (ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠΎΠ²Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ).
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Apache Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ httpd.conf. Π€Π°ΠΉΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡ (ΠΏΠ°ΠΏΠΊΠ°Ρ ), Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ httpd. conf, ΡΠ²Π»ΡΠ΅ΡΡΡ. htaccess [21].
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ². htaccess ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ Π² httpd. conf:
# FollowSymLinks — ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΠ΅.
Options FollowSymLinks.
AllowOverride None.
#ΠΠ°ΠΏΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ.
Order deny, allow.
Deny from all.
…
# AllowOverride ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠ°ΠΉΠ»Π°Ρ .
# .htaccess. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «All», «None», ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ.
# ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠ·: «Options», «FileInfo», «AuthConfig», ΠΈ «Limit» .
#.
AllowOverride All.
…
Π€Π°ΠΉΠ» .htaccess:
#ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
DirectoryIndex index. html index.php.
#ΠΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ΄ PHP Π² ΡΠ°ΠΉΠ»Π°Ρ HTML.
RemoveHandler .html .htm.
AddType application/x-httpd-php .php .htm .html .phtml.
#ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Apache.
ErrorDocument 401 /401.html.
ErrorDocument 403 /403.html.
ErrorDocument 404 /404.html.
ErrorDocument 500 /500.html.
#ΠΠ°ΠΏΡΠ΅Ρ Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
OptionsIndexes.
#Π Π°Π·ΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ°.
order deny, allow.
deny from all.
allow from 94.230.33.123.
#ΠΠ°ΡΠΈΡΠ° ΡΠ°ΠΉΠ»Π°.htpasswd.
deny from all.
#ΠΠ°ΠΏΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ .inc, .conf, .cfg.
deny from all.
#ΠΠ°ΡΠΎΠ»Ρ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
AuthType Basic.
AuthName «Password Required» .
AuthUserFile /serverAN/.htpasswd.
Require valid-user.