በአሁኑ ጊዜ አገልጋይን በአስተናጋጅ ላይ ማሳደግ የሁለት ደቂቃዎች እና ጥቂት የመዳፊት ጠቅታዎች ጉዳይ ነው። ነገር ግን ወዲያው ስራውን ከጀመረ በኋላ እራሱን በጥላቻ አከባቢ ውስጥ አገኘው ምክንያቱም እሱ በሮከር ዲስኮ ውስጥ እንደ ንፁህ ሴት ልጅ ለመላው ኢንተርኔት ክፍት ነው ። ስካነሮች በፍጥነት ያገኙታል እና ተጋላጭነቶችን እና የተሳሳቱ ውቅሮችን በመፈለግ አውታረ መረቡን የሚቃኙ በሺዎች የሚቆጠሩ በራስ-ሰር የተፃፉ ቦቶች ያገኙታል። መሰረታዊ ጥበቃን ለማረጋገጥ ከተጀመረ በኋላ ወዲያውኑ ማድረግ ያለብዎት ጥቂት ነገሮች አሉ።
ይዘቶች
ሥር ያልሆነ ተጠቃሚ
የመጀመሪያው እርምጃ ለራስህ ስር ያልሆነ ተጠቃሚ መፍጠር ነው። ነጥቡ ተጠቃሚው ነው። root
በስርዓቱ ውስጥ ፍጹም መብቶች ፣ እና እሱን የርቀት አስተዳደር ከፈቀዱ ፣ ከዚያ ለጠላፊው ግማሹን ስራ ይሰራሉ ፣ ለእሱ ትክክለኛ የተጠቃሚ ስም ይተዉታል።
ስለዚህ፣ ሌላ ተጠቃሚ መፍጠር አለብህ፣ እና የርቀት አስተዳደርን በSSH ለ root አሰናክል።
አዲስ ተጠቃሚ በትእዛዙ ይጀምራል useradd
:
useradd [options] <username>
ከዚያ በትእዛዙ ላይ የይለፍ ቃል ይጨመርለታል passwd
:
passwd <username>
በመጨረሻም፣ ይህ ተጠቃሚ ከፍ ያሉ ትዕዛዞችን የማስፈጸም መብት ወዳለው ቡድን መጨመር አለበት። sudo
. በሊኑክስ ስርጭት ላይ በመመስረት, እነዚህ የተለያዩ ቡድኖች ሊሆኑ ይችላሉ. ለምሳሌ በCentOS እና Red Hat ውስጥ ተጠቃሚው ወደ ቡድኑ ተጨምሯል። wheel
:
usermod -aG wheel <username>
በኡቡንቱ ውስጥ ወደ ቡድኑ ታክሏል sudo
:
usermod -aG sudo <username>
ከSSH ይለፍ ቃል ይልቅ ቁልፎች
የብሩት ሃይል ወይም የይለፍ ቃል ፍንጣቂዎች መደበኛ የጥቃት ቬክተር ናቸው፣ስለዚህ የይለፍ ቃል ማረጋገጫን በኤስኤስኤች (Secure Shell) ማሰናከል እና በምትኩ ቁልፍ ማረጋገጫን መጠቀም ጥሩ ነው።
የኤስኤስኤች ፕሮቶኮልን ለመተግበር የተለያዩ ፕሮግራሞች አሉ፣ ለምሳሌ
sudo apt install openssh-client
የአገልጋይ ጭነት;
sudo apt install openssh-server
በኡቡንቱ አገልጋይ ላይ SSH daemon (sshd) በመጀመር ላይ፡-
sudo systemctl start sshd
በእያንዳንዱ ቡት ላይ ዴሞንን በራስ-ሰር ያስጀምሩ፦
sudo systemctl enable sshd
የ OpenSSH የአገልጋይ ክፍል የደንበኛውን ክፍል እንደሚያካትት ልብ ሊባል ይገባል። ይህም በኩል ነው openssh-server
ከሌሎች አገልጋዮች ጋር መገናኘት ይችላሉ. ከዚህም በላይ ከደንበኛዎ ማሽን የኤስኤስኤች ዋሻን ከርቀት አገልጋይ ወደ ሶስተኛ ወገን አስተናጋጅ መጀመር ይችላሉ, ከዚያም የሶስተኛ ወገን አስተናጋጅ የርቀት አገልጋዩን እንደ የጥያቄ ምንጭ ይቆጥረዋል. ስርዓትዎን ለመደበቅ በጣም ጠቃሚ ባህሪ። ለተጨማሪ ዝርዝሮች ጽሑፉን ይመልከቱ
በደንበኛ ማሽን ላይ ከኮምፒዩተር ጋር የርቀት ግንኙነትን ለመከላከል (ለደህንነት ሲባል) ብዙውን ጊዜ ሙሉ አገልጋይ መጫን ምንም ትርጉም የለውም.
ስለዚህ፣ ለአዲሱ ተጠቃሚህ፣ መጀመሪያ አገልጋዩን በምትደርስበት ኮምፒውተር ላይ የኤስኤስኤች ቁልፎችን መፍጠር አለብህ፡-
ssh-keygen -t rsa
የወል ቁልፉ በፋይል ውስጥ ተከማችቷል። .pub
እና የሚጀምር የዘፈቀደ ቁምፊዎች ሕብረቁምፊ ይመስላል ssh-rsa
.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
ከዚያ፣ ከስር ስር፣ በአገልጋዩ ላይ የ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 ትዕዛዙን መጠቀም ይችላሉ መገልገያ
የግል ቁልፍን ብዙ የመጠባበቂያ ቅጂዎችን ማድረግ ጥሩ ነው, ምክንያቱም የይለፍ ቃል ማረጋገጥን ካሰናከሉ እና ከጠፋብዎት, ወደ እራስዎ አገልጋይ ለመግባት ምንም አይነት መንገድ አይኖርዎትም.
ከላይ እንደተጠቀሰው በኤስኤስኤች ውስጥ ለ root ማረጋገጫን ማሰናከል ያስፈልግዎታል (ይህ አዲስ ተጠቃሚ የጀመርንበት ምክንያት ነው)።
በ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 መፍቀድ፡-
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
Fail2Ban
አገልግሎት
Fail2Ban በ CentOS እና Red Hat ላይ መጫን፡-
sudo yum install fail2ban
በኡቡንቱ እና በዴቢያን ላይ መጫን
sudo apt install fail2ban
አስጀምር ፦
systemctl start fail2ban
systemctl enable fail2ban
ፕሮግራሙ ሁለት የማዋቀሪያ ፋይሎች አሉት: /etc/fail2ban/fail2ban.conf
и /etc/fail2ban/jail.conf
. እገዳ እገዳዎች በሁለተኛው ፋይል ውስጥ ተገልጸዋል.
የኤስኤስኤች እስር ቤት በነባሪ ቅንጅቶች (5 ሙከራዎች፣ 10 ደቂቃዎች፣ ለ10 ደቂቃዎች እገዳ) በነባሪነት ነቅቷል።
[ነባሪ] ችላ ማለት = bantime = 10 ሜትር ግኝት = 10 ሜትር ከፍተኛ = 5
ከኤስኤስኤች በተጨማሪ Fail2Ban ሌሎች አገልግሎቶችን በ nginx ወይም Apache ዌብ አገልጋይ ላይ መጠበቅ ይችላል።
ራስ-ሰር የደህንነት ዝመናዎች
እንደሚያውቁት በሁሉም ፕሮግራሞች ውስጥ አዳዲስ ተጋላጭነቶች በቋሚነት ይገኛሉ። መረጃው ከታተመ በኋላ ብዝበዛዎች ወደ ታዋቂ የብዝበዛ ጥቅሎች ይታከላሉ፣ እነዚህም ሰርቨሮችን በተከታታይ ሲቃኙ በጠላፊዎች እና ጎረምሶች በብዛት ይጠቀማሉ። ስለዚህ የደህንነት ዝመናዎችን ልክ እንደታዩ መጫን በጣም አስፈላጊ ነው.
በኡቡንቱ አገልጋይ ላይ አውቶማቲክ የደህንነት ዝመናዎች በነባሪነት ይነቃሉ፣ ስለዚህ ምንም ተጨማሪ እርምጃ አያስፈልግም።
በ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
ነባሪ ወደቦችን በመቀየር ላይ
ኤስኤስኤች በ 1995 ቴልኔትን (ወደብ 23) እና ኤፍቲፒ (ወደብ 21ን) ለመተካት ተዘጋጅቷል ፣ ስለዚህ የፕሮግራሙ ደራሲ ታቱ ኢልቶነን
በተፈጥሮ ሁሉም አጥቂዎች ኤስኤስኤች ወደብ በየትኛው ወደብ እንደሚሰራ ያውቃሉ - እና ከቀሪዎቹ መደበኛ ወደቦች ጋር ይቃኙት የሶፍትዌር ስሪቱን ለማወቅ ፣ መደበኛ ስርወ የይለፍ ቃሎችን ፣ ወዘተ.
መደበኛ ወደቦችን መቀየር - መደበቅ - ብዙ ጊዜ የቆሻሻ ትራፊክን መጠን, የምዝግብ ማስታወሻዎች መጠን እና በአገልጋዩ ላይ ያለውን ጭነት ይቀንሳል, እንዲሁም የጥቃቱን ገጽታ ይቀንሳል. ምንም እንኳን አንዳንድ
በንድፈ ሀሳብ፣ ነባሪ ወደቦችን መቀየር የክፍት አርክቴክቸር አሰራርን ይቃረናል። ነገር ግን በተግባር, የተንኮል አዘል ትራፊክ መጠን በትክክል ይቀንሳል, ስለዚህ ይህ ቀላል እና ውጤታማ መለኪያ ነው.
የወደብ ቁጥሩ መመሪያውን በመቀየር ሊዋቀር ይችላል። Port 22
በማዋቀር ፋይል ውስጥ -p <port>
в -p <port>
.
መለኪያ -p <port>
ከትዕዛዙ ጋር ሲገናኙ የወደብ ቁጥሩን ለመጥቀስ ጥቅም ላይ ሊውል ይችላል ssh
በሊኑክስ ውስጥ. ውስጥ scp
መለኪያ ጥቅም ላይ ይውላል -P <port>
(ካፒታል ፒ) የትእዛዝ መስመር መመሪያ በማዋቀር ፋይሎች ውስጥ ያለውን ማንኛውንም እሴት ይሽራል።
ብዙ አገልጋዮች ካሉ፣ ሁሉም ማለት ይቻላል እነዚህ የሊኑክስ አገልጋዩን ለመጠበቅ እርምጃዎች በስክሪፕት ውስጥ በራስ ሰር ሊሠሩ ይችላሉ። ነገር ግን አንድ አገልጋይ ብቻ ካለ, ሂደቱን በእጅ መቆጣጠር የተሻለ ነው.
በቅጂ መብቶች ላይ
ይዘዙ እና ወዲያውኑ ይጀምሩ!
ምንጭ: hab.com