වර්තමානයේ, සත්කාරක සේවාවක සේවාදායකයක් ඉහළ නැංවීම මිනිත්තු කිහිපයක් සහ මූසික ක්ලික් කිරීම් කිහිපයකි. නමුත් දියත් කළ විගසම ඔහු සතුරු පරිසරයක සිටින බව ඔහු සොයා ගනී, මන්ද ඔහු රොකර් ඩිස්කෝ එකක සිටින අහිංසක ගැහැණු ළමයෙකු මෙන් මුළු අන්තර්ජාලයටම විවෘතය. ස්කෑනර් එය ඉක්මනින් සොයා ගන්නා අතර දුර්වලතා සහ වැරදි වින්යාසයන් සොයන ජාලය සෝදිසි කරන ස්වයංක්රීයව ස්ක්රිප්ට් කළ බොට් දහස් ගණනක් හඳුනා ගනී. මූලික ආරක්ෂාව සහතික කිරීම සඳහා දියත් කළ වහාම ඔබ කළ යුතු දේවල් කිහිපයක් තිබේ.
අන්තර්ගතය
මූල නොවන පරිශීලක SSH මුරපද වෙනුවට යතුරු ගිනි පවුර Fail2Ban ස්වයංක්රීය ආරක්ෂක යාවත්කාලීන කිරීම් පෙරනිමි වරායන් වෙනස් කිරීම
මූල නොවන පරිශීලක
පළමු පියවර වන්නේ ඔබටම root නොවන පරිශීලකයෙකු නිර්මාණය කිරීමයි. කාරණය වන්නේ පරිශීලකයා ය root
පද්ධතියේ නිරපේක්ෂ වරප්රසාද, සහ ඔබ ඔහුට දුරස්ථ පරිපාලනයට ඉඩ දෙන්නේ නම්, ඔබ හැකර් සඳහා අඩක් වැඩ කරනු ඇත, ඔහුට වලංගු පරිශීලක නාමයක් තබයි.
එබැවින්, ඔබට වෙනත් පරිශීලකයෙකු නිර්මාණය කිරීමට අවශ්ය වන අතර, root සඳහා SSH හරහා දුරස්ථ පරිපාලනය අක්රිය කරන්න.
විධානය මඟින් නව පරිශීලකයෙකු ආරම්භ වේ useradd
:
useradd [options] <username>
එවිට විධානය සමඟ එයට මුරපදයක් එකතු වේ passwd
:
passwd <username>
අවසාන වශයෙන්, මෙම පරිශීලකයා උසස් විධාන ක්රියාත්මක කිරීමට අයිතිය ඇති කණ්ඩායමකට එක් කළ යුතුය sudo
. ලිනක්ස් බෙදාහැරීම මත පදනම්ව, මේවා විවිධ කණ්ඩායම් විය හැකිය. උදාහරණයක් ලෙස, CentOS සහ Red Hat හි, පරිශීලකයා කණ්ඩායමට එකතු කරනු ලැබේ wheel
:
usermod -aG wheel <username>
Ubuntu වල ඒක group එකට add කරනවා sudo
:
usermod -aG sudo <username>
SSH මුරපද වෙනුවට යතුරු
Brute force හෝ password කාන්දු වීම සම්මත ප්රහාරක දෛශිකයකි, එබැවින් SSH (Secure Shell) හි මුරපද සත්යාපනය අක්රිය කිරීම සහ ඒ වෙනුවට යතුරු සත්යාපනය භාවිතා කිරීම වඩාත් සුදුසුය.
SSH ප්රොටෝකෝලය ක්රියාත්මක කිරීම සඳහා විවිධ වැඩසටහන් තිබේ
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-keygen -t rsa
පොදු යතුර ගොනුවක ගබඩා කර ඇත .pub
සහ ආරම්භ වන අහඹු අක්ෂර මාලාවක් ලෙස පෙනේ ssh-rsa
.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
ඉන්පසුව, root යටතේ සිට, පරිශීලකයාගේ මුල් නාමාවලියෙහි සේවාදායකයේ SSH නාමාවලියක් සාදා ගොනුවට SSH පොදු යතුර එක් කරන්න. authorized_keys
, Vim වැනි පෙළ සංස්කාරකයක් භාවිතා කරමින්:
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 විධානය භාවිතා කළ හැකිය, උපයෝගීතාව
පුද්ගලික යතුරේ උපස්ථ පිටපත් කිහිපයක් සෑදීම සුදුසුය, මන්ද ඔබ මුරපද සත්යාපනය අක්රිය කර එය නැති වුවහොත්, ඔබට ඔබේම සේවාදායකයට ලොග් වීමට ක්රමයක් නොමැති බැවිනි.
ඉහත සඳහන් කළ පරිදි, SSH හි ඔබට root සඳහා සත්යාපනය අක්රිය කිරීමට අවශ්ය වේ (අපි නව පරිශීලකයෙකු ආරම්භ කිරීමට හේතුව මෙයයි).
CentOS/Red Hat මත අපි රේඛාව සොයා ගනිමු PermitRootLogin yes
config ගොනුවේ /etc/ssh/sshd_config
සහ එය වෙනස් කරන්න:
PermitRootLogin no
Ubuntu මත රේඛාව එක් කරන්න PermitRootLogin no
config ගොනුවට 10-my-sshd-settings.conf
:
sudo echo "PermitRootLogin no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf
නව පරිශීලකයා ඔවුන්ගේ යතුර සමඟ සත්යාපනය කරන බව තහවුරු කර ගැනීමෙන් පසු, ඔබට මුරපද කාන්දු වීමේ හෝ තිරිසන් බලයේ අවදානම ඉවත් කිරීමට මුරපද සත්යාපනය අක්රිය කළ හැකිය. දැන්, සේවාදායකයට ප්රවේශ වීම සඳහා, ප්රහාරකයෙකුට පුද්ගලික යතුරක් ලබා ගැනීමට අවශ්ය වනු ඇත.
CentOS/Red Hat මත අපි රේඛාව සොයා ගනිමු PasswordAuthentication yes
config ගොනුවේ /etc/ssh/sshd_config
සහ එය මේ ආකාරයට වෙනස් කරන්න:
PasswordAuthentication no
Ubuntu මත රේඛාව එක් කරන්න PasswordAuthentication no
ගොනු කිරීමට 10-my-sshd-settings.conf
:
sudo echo "PasswordAuthentication no" >> /etc/ssh/sshd_config.d/10-my-sshd-settings.conf
SSH හරහා ද්වි-සාධක සත්යාපනය සක්රීය කිරීම පිළිබඳ උපදෙස් සඳහා, බලන්න
ගිනි පවුර
ෆයර්වෝලය මඟින් ඔබ සෘජුවම ඉඩ දෙන වරායන්හි ගමනාගමනය පමණක් සේවාදායකය වෙත යන බව සහතික කරයි. මෙය වෙනත් සේවාවන් සමඟ අහම්බෙන් සක්රීය කර ඇති වරායන් සූරාකෑමෙන් ආරක්ෂා කරයි, එමඟින් ප්රහාරක පෘෂ්ඨය බෙහෙවින් අඩු කරයි.
ෆයර්වෝලයක් ස්ථාපනය කිරීමට පෙර, SSH බැහැර කිරීමේ ලැයිස්තුවට ඇතුළත් කර ඇති අතර අවහිර නොකරන බවට ඔබ සහතික විය යුතුය. එසේ නොමැතිනම්, ෆයර්වෝලය ආරම්භ කිරීමෙන් පසුව, අපට සේවාදායකයට සම්බන්ධ වීමට නොහැකි වනු ඇත.
උබුන්ටු බෙදා හැරීම සංකීර්ණ නොවූ ෆයර්වෝල් සමඟ පැමිණේ (
උබුන්ටු හි ෆයර්වෝලයේ SSH ඉඩ දීම:
sudo ufw allow ssh
CentOS/Red Hat මත විධානය භාවිතා කරන්න firewall-cmd
:
sudo firewall-cmd --zone=public --add-service=ssh --permanent
මෙම ක්රියාපටිපාටිය පසු, ඔබට ගිනි පවුර ආරම්භ කළ හැකිය.
CentOS/Red Hat මත, ෆයර්වෝල්ඩ් සඳහා systemd සේවාව ආරම්භ කරන්න:
sudo systemctl start firewalld
sudo systemctl enable firewalld
Ubuntu හි අපි පහත විධානය භාවිතා කරමු:
sudo ufw enable
Fail2Ban
සේවා
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 ක් සඳහා තහනමක්).
[පෙරනිමිය] නොසලකා හැරීම Command=bantime=10m findtime=10m maxretry=5
SSH වලට අමතරව, Fail2Ban හට nginx හෝ Apache වෙබ් සේවාදායකයේ වෙනත් සේවාවන් ආරක්ෂා කළ හැක.
ස්වයංක්රීය ආරක්ෂක යාවත්කාලීන කිරීම්
ඔබ දන්නා පරිදි, සියලුම වැඩසටහන් වල නව දුර්වලතා නිරන්තරයෙන් දක්නට ලැබේ. තොරතුරු ප්රකාශයට පත් කිරීමෙන් පසු, ජනප්රිය සූරාකෑම් ඇසුරුම්වලට සූරාකෑම් එකතු කරනු ලැබේ, ඒවා පේළියක ඇති සියලුම සේවාදායකයන් පරිලෝකනය කිරීමේදී හැකර්වරුන් සහ යෞවනයන් විසින් විශාල වශයෙන් භාවිතා කරනු ලැබේ. එමනිසා, ආරක්ෂක යාවත්කාලීනයන් දිස් වූ වහාම ඒවා ස්ථාපනය කිරීම ඉතා වැදගත් වේ.
Ubuntu සේවාදායකයේ, ස්වයංක්රීය ආරක්ෂක යාවත්කාලීන කිරීම් පෙරනිමියෙන් සක්රීය කර ඇත, එබැවින් වැඩිදුර ක්රියාමාර්ග අවශ්ය නොවේ.
CentOS/Red Hat මත ඔබ යෙදුම ස්ථාපනය කළ යුතුය
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 (port 23) සහ ftp (port 21) ප්රතිස්ථාපනය කිරීම සඳහා සංවර්ධනය කරන ලදී, එබැවින් වැඩසටහනේ කතුවරයා වන Tatu Iltonen
ස්වාභාවිකවම, සියලුම ප්රහාරකයින් SSH ක්රියාත්මක වන්නේ කුමන වරායද යන්න දැන සිටියි - සහ මෘදුකාංග අනුවාදය සොයා ගැනීමට, සම්මත මූල මුරපද පරීක්ෂා කිරීමට සහ යනාදිය සඳහා එය අනෙකුත් සම්මත වරායන් සමඟ ස්කෑන් කරන්න.
සම්මත වරායන් වෙනස් කිරීම - අපැහැදිලි කිරීම - කිහිප වතාවක් කසළ ගමනාගමනය, ලොග් වල ප්රමාණය සහ සේවාදායකයේ බර අඩු කරයි, සහ ප්රහාරක මතුපිට ද අඩු කරයි. සමහරක් වුවද
න්යායාත්මකව, පෙරනිමි වරායන් වෙනස් කිරීම විවෘත ගෘහ නිර්මාණ ශිල්පයේ භාවිතයට පටහැනිය. නමුත් ප්රායෝගිකව, අනිෂ්ට ගමනාගමන ප්රමාණය ඇත්ත වශයෙන්ම අඩු වී ඇත, එබැවින් මෙය සරල හා ඵලදායී පියවරකි.
විධානය වෙනස් කිරීමෙන් වරාය අංකය වින්යාසගත කළ හැක Port 22
config ගොනුවේ -p <port>
в -p <port>
.
පරාමිතිය -p <port>
විධානය සමඟ සම්බන්ධ වන විට වරාය අංකය සඳහන් කිරීමට භාවිතා කළ හැක ssh
ලිනක්ස් වල. තුල scp
පරාමිතිය භාවිතා වේ -P <port>
(ප්රාග්ධනය P). විධාන රේඛා උපදෙස් වින්යාස ගොනු වල ඕනෑම අගයක් අභිබවා යයි.
බොහෝ සේවාදායකයන් තිබේ නම්, ලිනක්ස් සේවාදායකය ආරක්ෂා කිරීම සඳහා මෙම ක්රියා සියල්ලම පාහේ ස්ක්රිප්ට් එකකින් ස්වයංක්රීය කළ හැකිය. නමුත් එක් සේවාදායකයක් පමණක් තිබේ නම්, ක්රියාවලිය අතින් පාලනය කිරීම වඩා හොඳය.
දැන්වීම් ප්රචාරණ අයිතිවාසිකම්
ඇණවුම් කර වහාම ආරම්භ කරන්න!
මූලාශ්රය: www.habr.com