Mahusay na kasanayan sa OpenSSH

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:

  1. Gumamit ng isang malakas na password.
  2. Baguhin ang default port ng SSH.
  3. Palaging gumamit ng bersyon 2 ng SSH protocol.
  4. Huwag paganahin ang pag-access sa root.
  5. Limitahan ang pag-access ng gumagamit.
  6. Gumamit ng pangunahing pagpapatotoo.
  7. 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

Ambag ni Yukiteru

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


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   yukiteru dijo

    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.

    1.    masigla dijo

      Sa gayon, ilang sandali ay mai-edit ko ang post at idaragdag ito sa post 😀

  2.   Eugenio dijo

    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.

    1.    masigla dijo

      # Ang diskarteng ginamit para sa mga pagpipilian sa default na sshd_config ay naipadala na
      # OpenSSH ay upang tukuyin ang mga pagpipilian sa kanilang default na halaga kung saan
      # posible, ngunit iwanan silang nagkomento. Ang mga pagpipilian na hindi nagkompromiso ay override ang
      # default na halaga.

      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

  3.   Sli dijo

    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?

  4.   paalam dijo

    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

  5.   franksanabria dijo

    Maaaring interesado ka sa video na ito tungkol sa openssh https://m.youtube.com/watch?v=uyMb8uq6L54

  6.   Tile dijo

    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