Cyber Security · मराठी आवृत्ती
Sample website तयार करून files upload करा
या page मध्ये
आधी server वर ~/mysite मध्ये HTML, CSS आणि custom 404 page तयार करू. खालील block मध्ये sample HTML इंग्रजीत आहे; code आणि identifiers मूळ example प्रमाणे ठेवले आहेत.
mkdir -p ~/mysite/css
cat > ~/mysite/index.html <<'EOF'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Cloud Website</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<header><h1>Namaste from AWS EC2!</h1></header>
<main>
<p>This static website is served by a web server running on an EC2 instance.</p>
<ul>
<li>Cloud: Amazon Web Services</li>
<li>Server: EC2 in the Mumbai region</li>
<li>Content: HTML + CSS</li>
</ul>
</main>
<footer>Hosted in Ravindra sir's Cyber Security lab</footer>
</body>
</html>
EOF
cat > ~/mysite/css/style.css <<'EOF'
body { font-family: Arial, sans-serif; margin: 0; background: #f4f7fb; color: #222; }
header { background: #0b3d6e; color: #fff; padding: 20px; text-align: center; }
main { max-width: 700px; margin: 30px auto; background: #fff; padding: 20px; border-radius: 8px; }
footer { text-align: center; color: #777; padding: 20px; }
EOF
cat > ~/mysite/404.html <<'EOF'
<!DOCTYPE html><html><body><h1>404 - Page not found</h1><a href="/">Go home</a></body></html>
EOF
ls -R ~/mysite
पहिला here-doc index.html, दुसरा css/style.css आणि तिसरा 404.html तयार करतो. ls -R ने अपेक्षित files दिसतात का पाहा. Files आधीपासून असतील तर > त्यांना overwrite करतो, म्हणून lab folder वापरा.
स्वतःच्या files upload करण्याचे पर्याय
A—SCP: या commands laptop वर चालवा, server वर नाही. योग्य username निवडा.
# Linux / macOS / Windows PowerShell - upload whole folder to the server's home directory
scp -i mykey.pem -r ./mysite ec2-user@<PUBLIC_IP>:~/
# Ubuntu server:
scp -i mykey.pem -r ./mysite ubuntu@<PUBLIC_IP>:~/
B—Git: तुमची site आधी स्वतःच्या repository मध्ये असेल तर server वर clone करू शकता. खालील placeholders स्वतःच्या details ने बदला. Public repo मध्ये passwords किंवा keys ठेवू नका.
sudo yum install -y git # AL2023 / CentOS (Ubuntu: sudo apt install -y git)
git clone https://github.com/<your-username>/<your-repo>.git ~/mysite
# later, to update:
cd ~/mysite && git pull
C—SFTP: WinSCP, MobaXterm किंवा FileZilla मध्ये host public IP, port 22, username आणि private key द्या. मग files drag-and-drop करा.
Web root मध्ये copy आणि permissions
/var/www सारखा root-owned folder सामान्य user ला write करता येत नाही. आधी home मध्ये upload आणि मग sudo cp हा सोपा workflow. गरजेनुसार sudo chown -R $USER:$USER /var/www/mysite ने site folder चा deploy owner बदलता येतो; group नाव user सारखंच आहे का तपासा.
sudo mkdir -p /var/www/mysite
sudo cp -r ~/mysite/* /var/www/mysite/
sudo find /var/www/mysite -type d -exec chmod 755 {} \;
sudo find /var/www/mysite -type f -exec chmod 644 {} \;
ls -la /var/www/mysite
Directories 755 आणि files 644 मुळे इतर users, web-server user सहित, content वाचू शकतात—मात्र owner वेगळा असल्यास write मिळत नाही. Web-server user स्वतः owner असेल तर 644/755 मध्येही त्याला write असतो. म्हणून permissions सोबत ownershipही महत्त्वाची आहे.
Security मध्ये उपयोग
Static content serve करणाऱ्या process ला web root बदलण्याची गरज सहसा नसते. Write access कमी ठेवल्याने app/file-upload bug मधून pages बदलणे किंवा malicious file ठेवणे अवघड करता येतं. Secrets web root बाहेर ठेवा.
Practice
Server वर sample site तयार करा. मग laptop वर स्वतःची दोन-page site बनवून SCP -r ने server च्या home मध्ये upload करा.