OpenSSH (Buksan ang Secure Shell) ay isang hanay ng mga application na nagpapahintulot sa mga naka-encrypt na komunikasyon sa isang network, gamit ang protokol SSH. Nilikha ito bilang isang libre at bukas na kahalili sa programa Secure Shell, na pagmamay-ari ng software. « Wikipedia.
Maaaring isipin ng ilang mga gumagamit na ang mabubuting kasanayan ay dapat mailapat lamang sa mga server at hindi ito ang kaso. Maraming pamamahagi ng GNU / Linux ang nagsasama ng OpenSSH bilang default at mayroong ilang bagay na dapat tandaan.
Katiwasayan
Ito ang 6 pinakamahalagang puntos na dapat tandaan kapag nag-configure ng SSH:
- Gumamit ng isang malakas na password.
- Baguhin ang default port ng SSH.
- Palaging gumamit ng bersyon 2 ng SSH protocol.
- Huwag paganahin ang pag-access sa root.
- Limitahan ang pag-access ng gumagamit.
- Gumamit ng pangunahing pagpapatotoo.
- Iba pang mga pagpipilian
Isang malakas na password
Ang isang magandang password ay isa na naglalaman ng alphanumeric o mga espesyal na character, mga puwang, malaki at maliit na titik... atbp. Dito sa DesdeLinux Nagpakita kami ng ilang paraan upang makabuo ng magagandang password. Maaaring bumisita Ang artikulong ito y itong iba.
Baguhin ang default port
Ang default port para sa SSH ay 22. Upang baguhin ito, ang kailangan lang nating gawin ay i-edit ang file / etc / ssh / sshd_config. Hahanapin namin ang linya na nagsasabing:
#Port 22
hindi namin ito pinapansin at binabago ang 22 para sa isa pang numero .. halimbawa:
Port 7022
Upang malaman ang mga port na hindi namin ginagamit sa aming computer / server maaari naming isagawa sa terminal:
$ netstat -ntap
Ngayon upang ma-access ang aming computer o server dapat nating gawin ito sa pagpipiliang -p tulad ng sumusunod:
$ ssh -p 7022 usuario@servidor
Gumamit ng Protocol 2
Upang matiyak na gumagamit kami ng bersyon 2 ng SSH protocol, dapat naming i-edit ang file / etc / ssh / sshd_config at hanapin ang linya na nagsasabing:
#Protocol2
Ino-kompromiso namin ito at i-restart ang serbisyo ng SSH.
Huwag payagan ang pag-access bilang root
Upang mapigilan ang root user na mai-access nang malayuan sa pamamagitan ng SSH, tumingin kami sa file/ etc / ssh / sshd_config Ang linya:
#PermitRootLogin no
at hindi namin ito pinapansin. Sa palagay ko sulit na linawin na bago gawin ito dapat nating siguraduhin na ang aming gumagamit ay may mga kinakailangang pahintulot upang magsagawa ng mga pang-administratibong gawain.
Limitahan ang pag-access ng mga gumagamit
Hindi rin nasasaktan na payagan ang pag-access sa pamamagitan ng SSH lamang sa ilang mga tiyak na mga pinagkakatiwalaang gumagamit, kaya't bumalik kami sa file / etc / ssh / sshd_config at idinagdag namin ang linya:
AllowUsers elav usemoslinux kzkggaara
Kung saan malinaw naman, ang mga gumagamit na elav, usemoslinux at kzkggaara ay ang maa-access.
Gumamit ng pangunahing pagpapatotoo
Bagaman ang pamamaraang ito ay ang pinaka-inirerekumenda, dapat kaming mag-ingat nang espesyal dahil maa-access namin ang server nang hindi ipinasok ang password. Nangangahulugan ito na kung ang isang gumagamit ay nagawang ipasok ang aming session o ang aming computer ay ninakaw, maaari kaming magkaroon ng problema. Gayunpaman, tingnan natin kung paano ito gawin.
Ang unang bagay ay upang lumikha ng isang pares ng mga susi (pampubliko at pribado):
ssh-keygen -t rsa -b 4096
Pagkatapos ay ipinapasa namin ang aming susi sa computer / server:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Sa wakas kailangan nating magkaroon ng hindi komportable, sa file / etc / ssh / sshd_config Ang linya:
AuthorizedKeysFile .ssh/authorized_keys
Iba pang mga pagpipilian
Maaari naming bawasan ang oras ng paghihintay kung saan ang isang gumagamit ay maaaring matagumpay na mag-log in sa system sa 30 segundo
LoginGraceTime 30
Upang maiwasan ang mga pag-atake ng ssh sa pamamagitan ng TCP Spoofing, naiwan ang ssh side na naka-encrypt na buhay para sa isang maximum na 3 minuto, maaari nating buhayin ang 3 mga pagpipilian na ito.
TCPKeepAlive walang ClientAliveInterval 60 ClientAliveCountMax 3
Huwag paganahin ang paggamit ng mga rhost o pag-shost ng mga file, na para sa mga kadahilanang panseguridad ay hinihimok na huwag gamitin.
IgnoreRhosts yes IgnoreUserKnownHosts yes RhostsAuthentication no RhostsRSAAuthentication no
Suriin ang mabisang pahintulot ng gumagamit habang nag-login.
StrictModes yes
Paganahin ang paghihiwalay ng mga pribilehiyo.
UsePrivilegeSeparation yes
Conclusiones:
Sa pamamagitan ng paggawa ng mga hakbang na ito maaari kaming magdagdag ng karagdagang seguridad sa aming mga computer at server, ngunit hindi namin dapat kalimutan na mayroong isang mahalagang kadahilanan: ano ang nasa pagitan ng upuan at keyboard. Iyon ang dahilan kung bakit inirerekumenda ko ang pagbabasa Ang artikulong ito.
Fuente: HowToForge
Mahusay na post @elav at nagdagdag ako ng ilang mga kagiliw-giliw na bagay:
LoginGraceTime 30
Pinapayagan kaming bawasan ang oras ng paghihintay kung saan ang isang gumagamit ay maaaring matagumpay na mag-log in sa system sa 30 segundo
TCPKeepAlive blg
ClientAliveInterval 60
ClientAliveCountMax 3
Ang tatlong mga pagpipilian na ito ay lubos na kapaki-pakinabang upang maiwasan ang mga pag-atake ng ssh sa pamamagitan ng TCP Spoofing, naiwan ang naka-encrypt na buhay sa panig ng ssh na aktibo sa isang maximum na 3 minuto.
IgnoreRhosts yes
IgnoreUserKnownHosts oo
Rhosts Authentication no
Mga hostRSAAuthentication no
Hindi pinapagana nito ang paggamit ng mga rhost o pag-shost ng mga file, na para sa mga kadahilanang panseguridad ay hinihimok na huwag gamitin.
StrictModes oo
Ginagamit ang pagpipiliang ito upang suriin ang mga mabisang pahintulot ng gumagamit sa pag-login.
UsePrivilegeSeparation oo
Paganahin ang paghihiwalay ng mga pribilehiyo.
Sa gayon, ilang sandali ay mai-edit ko ang post at idaragdag ito sa post 😀
Ang pag-kompromiso upang hindi baguhin ang linya ay kalabisan. Ipinapakita ng mga naka-komentong linya ang default na halaga ng bawat pagpipilian (basahin ang paglilinaw sa simula ng mismong file). Ang pag-access sa root ay hindi pinagana bilang default, atbp. Samakatuwid, ang pag-kompromiso ay wala itong epekto.
Oo, ngunit halimbawa, paano namin malalaman na ginagamit lamang namin ang bersyon 2 ng protokol? Sapagkat maaari naming gamitin ang 1 at 2 nang sabay. Tulad ng sinabi ng huling linya, na hindi naaayos ang pagpipiliang ito halimbawa, ay napatong ang default na pagpipilian. Kung gumagamit kami ng bersyon 2 bilang default, mabuti, kung hindi, gagamitin namin itong YES o YES 😀
Salamat sa komento
Napakagandang artikulo, alam ko ang maraming bagay ngunit ang isang bagay na hindi malinaw sa akin ay ang paggamit ng mga susi, talaga kung ano ang mga ito at kung ano ang mga pakinabang nito, kung gumagamit ako ng mga susi maaari kong gamitin ang mga password ??? Kung gayon, bakit pinapataas nito ang seguridad at kung hindi, paano ko ito maa-access mula sa ibang pc?
Pagbati, na-install ko ang debian 8.1 at hindi ako makakonekta mula sa aking windows pc sa debian sa WINSCP, kakailanganin ko bang gumamit ng protocol 1? kahit anong tulong .. salamat
paalam
Maaaring interesado ka sa video na ito tungkol sa openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Nais kong subukan ang ilang mga bagay dito, maraming nasubukan ko na salamat sa Arch Wiki, ang iba dahil sa katamaran o kawalan ng kaalaman. Ise-save ko ito para sa pagsisimula ko ng aking RPi