د لینوکس سرور محافظت. لومړی څه وکړي

د لینوکس سرور محافظت. لومړی څه وکړي
حبیب مینه/ویکیمیډیا کامنز، CC BY-SA

نن ورځ ، په کوربه توب کې د سرور تنظیم کول د څو دقیقو او د موږک څو کلیکونو مسله ده. مګر د پیل څخه سمدلاسه وروسته ، هغه ځان په دښمنانه چاپیریال کې ومومي ، ځکه چې هغه د راکر ډیسکو کې د یوې معصومې انجلۍ په څیر ټول انټرنیټ ته خلاص دی. سکینر به دا ژر تر ژره ومومي او په زرګونو اتوماتیک سکریپټ شوي بوټونه کشف کړي چې د زیان منونکو او غلط تشکیلاتو په لټه کې شبکه ګړندي کوي. دلته یو څو شیان شتون لري چې تاسو باید د پیل کولو وروسته سمدلاسه ترسره کړئ ترڅو لومړني محافظت ډاډمن کړئ.

منځپانګې

غیر ریښی کاروونکي

لومړی شی چې تاسو یې کولو ته اړتیا لرئ د غیر روټ کارونکي رامینځته کول دي. ټکی دا دی چې کاروونکي root په سیسټم کې مطلق امتیازات، او که تاسو هغه ته د لیرې ادارې اجازه ورکړئ، نو تاسو به د هیکر لپاره نیم کار ترسره کړئ، د هغه لپاره یو باوري کارن نوم پریږدي.

له همدې امله ، تاسو اړتیا لرئ یو بل کارن رامینځته کړئ ، او د روټ لپاره د SSH له لارې ریموټ اداره غیر فعال کړئ.

یو نوی کارن د کمانډ سره رامینځته کیږي useradd:

useradd [options] <username>

بیا د کمانډ سره د دې لپاره پاسورډ اضافه شوی passwd:

passwd <username>

په نهایت کې ، دا کارونکي باید یوې ډلې ته اضافه شي چې د لوړ امتیازاتو سره د امرونو اجرا کولو حق لري sudo. د لینکس توزیع پورې اړه لري، دا ممکن مختلف ګروپونه وي. د مثال په توګه، په CentOS او Red Hat کې یو کاروونکي په ګروپ کې اضافه کیږي wheel:

usermod -aG wheel <username>

په اوبنټو کې دا په ګروپ کې اضافه شوی sudo:

usermod -aG sudo <username>

د SSH پاسورډونو پرځای کیلي

د بروټ ځواک یا د پاسورډ لیک یو معیاري برید ویکتور دی ، نو دا به غوره وي چې په SSH (Secure Shell) کې د پټنوم تصدیق غیر فعال کړئ او پرځای یې کلیدي تصدیق وکاروئ.

د SSH پروتوکول پلي کولو لپاره مختلف پروګرامونه شتون لري، لکه lsh и ډراپ بير، مګر ترټولو مشهور OpenSSH دی. په اوبنټو کې د OpenSSH پیرودونکي نصب کول:

sudo apt install openssh-client

د سرور نصب کول:

sudo apt install openssh-server

په اوبنټو سرور کې د SSH ډیمون (sshd) پیل کول:

sudo systemctl start sshd

په اتوماتيک ډول په هر بوټ کې ډیمون پیل کړئ:

sudo systemctl enable sshd

دا باید په یاد ولرئ چې د OpenSSH سرور برخه کې د پیرودونکي برخه شامله ده. يعنې، له لارې openssh-server تاسو کولی شئ د نورو سرورونو سره وصل شئ. سربیره پردې ، ستاسو د پیرودونکي ماشین څخه تاسو کولی شئ د ریموټ سرور څخه د دریمې ډلې کوربه ته د SSH تونل لانچ کړئ ، او بیا د دریمې ډلې کوربه به ریموټ سرور د غوښتنو سرچینه وګڼي. ستاسو د سیسټم ماسک کولو لپاره خورا اسانه فعالیت. د نورو جزیاتو لپاره، مقاله وګورئ. "عملي لارښوونې، مثالونه او د SSH تونلونه".

په کمپیوټر کې د ریموټ اتصال احتمال مخنیوي لپاره د پیرودونکي ماشین کې د بشپړ سرور نصبولو لپاره معمولا هیڅ معنی نلري (د امنیت دلایلو لپاره).

نو، ستاسو د نوي کاروونکي لپاره، تاسو باید لومړی په کمپیوټر کې د SSH کیلي تولید کړئ چې تاسو به یې سرور ته لاسرسی ومومئ:

ssh-keygen -t rsa

عامه کیلي په فایل کې ساتل کیږي .pub او د تصادفي حروفونو تار په څیر ښکاري چې پیل کیږي ssh-rsa.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

بیا ، د روټ په توګه ، د کارونکي کور لارښود کې په سرور کې د SSH لارښود رامینځته کړئ او فایل ته د SSH عامه کیلي اضافه کړئ authorized_keysد متن ایډیټر کارول لکه ویم:

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

vim /home/user_name/.ssh/authorized_keys

په نهایت کې ، د فایل لپاره سم اجازې تنظیم کړئ:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

او دې کارونکي ته ملکیت بدل کړئ:

chown -R username:username /home/username/.ssh

د پیرودونکي اړخ کې ، تاسو اړتیا لرئ د تصدیق لپاره د پټ کیلي موقعیت مشخص کړئ:

ssh-add DIR_PATH/keylocation

اوس تاسو کولی شئ د دې کیلي په کارولو سره د کارونکي نوم لاندې سرور ته ننوځئ:

ssh [username]@hostname

د واک ورکولو وروسته ، تاسو کولی شئ د فایلونو کاپي کولو لپاره د scp کمانډ وکاروئ ، یوټیلیټ sshfs د لرې پرتو فایل سیسټم یا لارښودونو نصبولو لپاره.

دا مشوره ورکول کیږي چې د شخصي کیلي ډیری بیک اپ کاپيونه رامینځته کړئ ، ځکه چې که تاسو د پټنوم تصدیق غیر فعال کړئ او له لاسه ورکړئ ، نو تاسو به هیڅ لاره ونه لرئ چې په خپل سرور کې ننوتنه وکړئ.

لکه څنګه چې پورته یادونه وشوه، په SSH کې تاسو اړتیا لرئ د روټ لپاره تصدیق غیر فعال کړئ (د دې دلیل لپاره موږ یو نوی کارن جوړ کړ).

په CentOS/Red Hat کې موږ لاین پیدا کوو PermitRootLogin yes د تشکیلاتو فایل کې /etc/ssh/sshd_config او بدل یې کړئ:

PermitRootLogin no

په اوبنټو کې لاین اضافه کړئ PermitRootLogin no د ترتیب فایل ته 10-my-sshd-settings.conf:

sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

د تاییدولو وروسته چې نوی کارن د دوی د کیلي په کارولو سره تصدیق شوی، تاسو کولی شئ د پټنوم تصدیق غیر فعال کړئ ترڅو د پټنوم لیک یا وحشي ځواک خطر له منځه یوسي. اوس ، سرور ته د لاسرسي لپاره ، برید کونکی به اړتیا ولري شخصي کیلي ترلاسه کړي.

په CentOS/Red Hat کې موږ لاین پیدا کوو PasswordAuthentication yes د تشکیلاتو فایل کې /etc/ssh/sshd_config او دا په لاندې ډول بدل کړئ:

PasswordAuthentication no

په اوبنټو کې لاین اضافه کړئ PasswordAuthentication no دوسیه کول 10-my-sshd-settings.conf:

sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf

د SSH له لارې د دوه فاکتور تصدیق کولو څرنګوالي په اړه لارښوونو لپاره ، وګورئ دلته.

فایروال

د اور وژونکي ډاډ ورکوي چې یوازې په بندرونو کې ترافیک چې تاسو یې مستقیم اجازه ورکوئ سرور ته به ځي. دا د بندرونو د استخراج پروړاندې ساتي چې په ناڅاپي ډول د نورو خدماتو لخوا فعال شوي ، کوم چې د برید سطح خورا کموي.

د فایر وال نصبولو دمخه، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې SSH د اخراج په لیست کې شامل شوی او بلاک به نه شي. که نه نو، د فایروال پیل کولو وروسته، موږ به د سرور سره وصل نشو.

د اوبنټو توزیع د غیر پیچلي فایر وال سره راځي (ufw)، او د CentOS/Red Hat سره - د اور لګول.

په اوبنټو کې د فایر وال کې SSH ته اجازه ورکول:

sudo ufw allow ssh

په CentOS/Red Hat کې موږ کمانډ کاروو firewall-cmd:

sudo firewall-cmd --zone=public --add-service=ssh --permanent

د دې کړنالرې وروسته، تاسو کولی شئ د اور وژنې پیل کړئ.

په CentOS/Red Hat کې موږ د فایروالډ لپاره سیسټمډ خدمت پیل کوو:

sudo systemctl start firewalld
sudo systemctl enable firewalld

په اوبنټو کې موږ لاندې کمانډ کاروو:

sudo ufw enable

فیل 2 بین

خدمت فیل 2 بین د سرور لاګونه تحلیلوي او د هر IP پتې څخه د لاسرسي هڅو شمیر حسابوي. تنظیمات د دې لپاره مقررات مشخص کوي چې په یو ټاکلي وقفه کې څومره لاسرسي هڅو ته اجازه ورکول کیږي - وروسته له دې چې دا IP پته د یوې ټاکلې مودې لپاره بنده شوې. د مثال په توګه، موږ د 5 ساعتونو په موده کې د SSH له لارې د تصدیق کولو 2 ناکامه هڅو ته اجازه ورکوو، له هغې وروسته موږ دا IP پته د 12 ساعتونو لپاره بندوو.

په CentOS او Red Hat کې د Fail2Ban نصب کول:

sudo yum install fail2ban

په اوبنټو او دیبیان کې نصب کول:

sudo apt install fail2ban

پیل:

systemctl start fail2ban
systemctl enable fail2ban

برنامه دوه تشکیلاتي فایلونه لري: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. د بندیز محدودیتونه په دویم فایل کې مشخص شوي.

د SSH لپاره جیل د ډیفالټ ترتیباتو سره د ډیفالټ لخوا فعال شوی (5 هڅې ، وقفه 10 دقیقې ، د 10 دقیقو لپاره بندیز).

[DEFAULT] ignorecommand = bantime = 10m findtime = 10m maxretry = 5

د SSH سربیره، Fail2Ban کولی شي په نګینکس یا اپاچی ویب سرور کې نور خدمات خوندي کړي.

اتوماتیک امنیتي تازه معلومات

لکه څنګه چې تاسو پوهیږئ، نوي زیانمننې په دوامداره توګه په ټولو برنامو کې موندل کیږي. وروسته له دې چې معلومات خپاره شي، استحصال په مشهور استحصال پیکونو کې اضافه کیږي، کوم چې په پراخه توګه د هیکرانو او ځوانانو لخوا کارول کیږي کله چې ټول سرورونه په قطار کې سکین کوي. له همدې امله ، دا خورا مهم دي چې د امنیت تازه معلومات ژر تر ژره نصب کړئ کله چې دوی شتون ولري.

د اوبنټو سرورونه د ډیفالټ لخوا فعال شوي اتوماتیک امنیت تازه معلومات لري ، نو اضافي ګامونو ته اړتیا نشته.

په CentOS/Red Hat کې تاسو اړتیا لرئ غوښتنلیک نصب کړئ dnf - اتوماتیک او ټایمر چالان کړئ:

sudo dnf upgrade
sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

د ټایمر چک:

sudo systemctl status dnf-automatic.timer

د ډیفالټ بندرونو بدلول

SSH په 1995 کې د telnet (پورټ 23) او ftp (پورټ 21) ځای په ځای کولو لپاره رامینځته شوی و ، نو د برنامې لیکوال ټاټو ایلتونین دی د ډیفالټ لخوا 22 پورټ غوره کړی، او دا د IANA لخوا تصویب شو.

په طبیعي ډول، ټول برید کونکي پوهیږي چې کوم بندر SSH روان دی - او دا د نورو معیاري بندرونو سره سکین کړئ ترڅو د سافټویر نسخه ومومئ، د معیاري روټ پاسورډونه چیک کړئ، او داسې نور.

د معیاري بندرونو بدلول - خنډ کول - د جنک ترافیک حجم ، د لاګونو اندازه او په سرور کې بار څو ځله کموي ، او د برید سطح هم کموي. که څه هم ځینې د "د ناڅرګندتیا له لارې دفاع" په دې طریقه نیوکه وکړئ (د ناڅرګندتیا له لارې امنیت). دلیل یې دا دی چې دا تخنیک د بنسټیز سره مخالف دی د معمارۍ ساتنه. له همدې امله، د بیلګې په توګه، د متحده ایاالتو د معیارونو او ټیکنالوژۍ ملي انسټیټیوټ "د سرور امنیت لارښود" د خلاص سرور جوړښت ته اړتیا په ګوته کوي: "د سیسټم امنیت باید د دې اجزاو پلي کولو محرمیت باندې تکیه ونه کړي ،" سند وايي.

په تیوري کې، د ډیفالټ بندرونو بدلول د پرانیستې معمارۍ عملونو سره مخالف دي. مګر په عمل کې، د ناوړه ټرافیک حجم په حقیقت کې کمیږي، نو دا یو ساده او مؤثره اندازه ده.

د پورټ شمیره د لارښود بدلولو سره تنظیم کیدی شي Port 22 د تشکیلاتو فایل کې / etc / ssh / sshd_config. دا د پیرامیټر لخوا هم اشاره شوې -p <port> в sshd. د SSH پیرودونکي او پروګرامونه غلا د پیرامیټر ملاتړ هم کوي -p <port>.

پارسيم -p <port> د پورټ شمیره مشخص کولو لپاره کارول کیدی شي کله چې د کمانډ په کارولو سره وصل کیږي ssh په لینکس کې. IN غلا и scp پیرامیټر کارول کیږي -P <port> (سرمایه P). د کمانډ لاین څخه دا مشخص کول د تشکیلاتو فایلونو کې کوم ارزښت له پامه غورځوي.

که چیرې ډیری سرورونه شتون ولري ، د لینکس سرور ساتلو لپاره نږدې دا ټولې کړنې په سکریپټ کې اتومات کیدی شي. مګر که چیرې یوازې یو سرور شتون ولري ، نو دا به غوره وي چې په لاسي ډول پروسه کنټرول کړئ.

د اعلاناتو حقونه

امر وکړئ او سمدلاسه کار پیل کړئ! د VDS جوړول هر ترتیب او د هر عملیاتي سیسټم سره په یوه دقیقه کې. اعظمي ترتیب به تاسو ته اجازه درکړي چې چاودنه ولرئ - 128 CPU کورونه ، 512 GB رام ، 4000 GB NVMe. ډیره عجیبه :)

د لینوکس سرور محافظت. لومړی څه وکړي

سرچینه: www.habr.com