Cyber Security · मराठी आवृत्ती
Amazon Linux 2023 वर Apache मधून site host करा
याच lab server वर Nginx असेल तर त्याला stop/disable करून port 80 मोकळा करतो. Production मधली दुसरी site थांबवण्यासाठी हा block आंधळेपणाने वापरू नका.
sudo service nginx stop 2>/dev/null # free port 80 if Nginx was installed
sudo systemctl disable nginx 2>/dev/null
sudo yum install -y httpd
sudo service httpd start
sudo systemctl enable httpd
sudo tee /etc/httpd/conf.d/mysite.conf > /dev/null <<'EOF'
<VirtualHost *:80>
ServerName mysite.local
DocumentRoot /var/www/mysite
<Directory /var/www/mysite>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorDocument 404 /404.html
ErrorLog /var/log/httpd/mysite_error.log
CustomLog /var/log/httpd/mysite_access.log combined
</VirtualHost>
EOF
sudo apachectl configtest && sudo service httpd reload
curl -s http://localhost | head -5
VirtualHost /var/www/mysite serve करतो. Directory listing बंद, custom 404 आणि site-specific logs दिल्या आहेत. Source example मध्ये AllowOverride All आहे; या static site ला .htaccess नको असल्यास पुढच्या hardening वेळी AllowOverride None निवडता येतो.
Public IP request आपल्या site ला का येते?
या lab मध्ये हा एकच/पहिला VirtualHost असेल तर unmatched Host साठी तो fallback असतो. म्हणून ServerName mysite.local असूनही public IP ने request केल्यावर site येऊ शकते. इतर vhosts असतील तर apachectl -S ने actual order पहा. Domain जोडल्यावर योग्य ServerName/ServerAlias द्या; उदा. www.example.com.
Lab
Instance Apache वर switch करून mysite पाहा. /var/www/mysite/test नावाचा रिकामा lab folder तयार करा. /test/ मागवल्यावर directory listing दिसू नये; या setup मध्ये 403 अपेक्षित आहे. Custom rules असल्यास status/context तपासा.