OpenSSH: turvamise meetodid: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Info==
==Info==
Lehel on valik OpenSSH turvalisuse tõstmise meetodeid. Valmib hiljemalt mai alguseks.
Lehel on välja toodud oluliste [http://en.wikipedia.org/wiki/OpenSSH OpenSSH] seadistusfailide asukohad ning valik OpenSSH turvalisuse tõstmise meetodeid. Testsüsteemiks kasutati Ubuntu 10.04-ja, millede peal prooviti enamus meetodeid läbi. Meetodid on jaotatud kolme kategooriasse: [[#Turvalisuse eeldused]], [[#Lihtsamad turvamise meetodid]], [[#Keerulisemad turvamise meetodid]]. [[#Kasulikke viiteid]] alt võib leida turvamise meetodeid, mida otseselt siin artiklis ei kajastata.


==OpenSSH vaikimisi seadistusfailid ja SSH port==
==OpenSSH vaikimisi seadistusfailid ja SSH port==
Line 9: Line 9:
* '''~/.ssh/authorized_keys''' või '''~/.ssh/authorized_keys''' Loend avalikest võtmetest ([http://en.wikipedia.org/wiki/RSA RSA] või [http://en.wikipedia.org/wiki/Digital_Signature_Algorithm DSA]) mille abil saab kasutaja kontole sisse logida.
* '''~/.ssh/authorized_keys''' või '''~/.ssh/authorized_keys''' Loend avalikest võtmetest ([http://en.wikipedia.org/wiki/RSA RSA] või [http://en.wikipedia.org/wiki/Digital_Signature_Algorithm DSA]) mille abil saab kasutaja kontole sisse logida.
* '''/etc/nologin''' Kui see fail on olemas, keeldub '''sshd''' kõigil peale juurkasutaja sisse logida.
* '''/etc/nologin''' Kui see fail on olemas, keeldub '''sshd''' kõigil peale juurkasutaja sisse logida.
* '''/etc/hosts.allow ning /etc/hosts.deny''' Sisaldavad [http://en.wikipedia.org/wiki/TCP_Wrapper ''TCP-Wrapper'']-ite poolt nõutavaid pääsupiiramisloendeid.
* '''/etc/hosts.allow ning /etc/hosts.deny''' Sisaldavad [http://itso.iu.edu/TCP_Wrappers TCP-Wrappers] poolt nõutavaid pääsupiiramisloendeid.
* SSH vaikimisi port: '''TCP 22'''
* SSH vaikimisi port: '''TCP 22'''
Uute seadistuste rakendamiseks peab sshd serveri taaskäivitama.
<pre>sudo /etc/init.d/ssh restart</pre>


==Turvalisuse eeldused==
==Turvalisuse eeldused==
Line 17: Line 20:


Soovitav on kasutada regulaarselt vahendeid nagu ''yum'', ''apt-get'', ''freebsd-update'' jms, et tagada süsteemile ja selle programmidele (turva)uuenduste olemasolu.
Soovitav on kasutada regulaarselt vahendeid nagu ''yum'', ''apt-get'', ''freebsd-update'' jms, et tagada süsteemile ja selle programmidele (turva)uuenduste olemasolu.
Ubuntus on abiks käsud:
*Ubuntus on abiks järgnev käsukombinatsioon: '''sudo apt-get update''' (''- hangib tarkvarateekidest uusimate versioonide info'') ja sellele järgnev '''sudo apt-get dist-upgrade''' (''- uuendab kogu süsteemi tarkvara, kõrvaldades automaatselt konfliktid'').
 
{|style="background:lightyellow;width:450px;color:black;margin:7px;border:1px dotted gray" align=centre
| style="padding-left:7px;font-family:courier;font-weight:bold;" |$ sudo apt-get update
|-
| style="padding-left:7px;font-family:courier;font-weight:bold;" |$ sudo apt-get dist-upgrade
|}


===Tugevad paroolid===
===Tugevad paroolid===


Ülitähtis on kasutada kasutajate ja võtmete paroolideks keerulisi ja vähemalt 8 ühikut pikkasid märgikombinatsioone. [http://en.wikipedia.org/wiki/Brute_force_attack Brute force rünnakud] on edukad, sest paroolidena kasutatakse sõnu ja nimesid, mis on päriselt olemas. [https://help.ubuntu.com/community/StrongPasswords Ubuntu kommuuni artikkel tugevatest paroolidest.]  
Ülitähtis on kasutada kasutajate ja võtmete paroolideks keerulisi ja vähemalt 8 ühikut pikkasid märgikombinatsioone. [http://en.wikipedia.org/wiki/Brute_force_attack ''Brute force'' rünnakud] on edukad, sest paroolidena kasutatakse sõnu ja nimesid, mis on päriselt olemas. [https://help.ubuntu.com/community/StrongPasswords Ubuntu kommuuni artikkel tugevatest paroolidest.]
PS. Parooli sünonüüm salasõna on it-maailmas eksitav väljend, sest kui paroolina kasutatakse lihtsalt mingit sõna, on selle sõna salajas püsimine äärmiselt ebatõenäoline. Paremini sobiks parooli sünonüümiks salafraas või salaväljend.
PS. Parooli sünonüüm salasõna on it-maailmas eksitav väljend, sest kui paroolina kasutatakse lihtsalt mingit sõna, on selle sõna salajas püsimine äärmiselt ebatõenäoline. Paremini sobiks parooli sünonüümiks salafraas või salaväljend.


Line 33: Line 30:


SSH 1. protokoll (SSH-1) omab vahemehe-rünnakuga  [http://en.wikipedia.org/wiki/Man-in-the-middle_attack (MITM attack)] seonduvaid probleeme ja muid turvanõrkusi. SSH-1 on aegunud ja sellest tuleks iga hinna eest hoiduda.
SSH 1. protokoll (SSH-1) omab vahemehe-rünnakuga  [http://en.wikipedia.org/wiki/Man-in-the-middle_attack (MITM attack)] seonduvaid probleeme ja muid turvanõrkusi. SSH-1 on aegunud ja sellest tuleks iga hinna eest hoiduda.
Avades '''sshd_config''' faili, tuleks kontrollida, kas seal on rida "'''Protocol 2'''".
Avades '''/etc/ssh/sshd_config''' faili, tuleks kontrollida, kas seal on rida '''Protocol 2'''.


==Turvamise meetodeid==
===Tühjad paroolid on keelatud===


===Tühjad paroolid on keelatud===
Tühja parooliga kontodelt sisse logimise keelamiseks peab '''/etc/ssh/sshd_config''' failis olema rida: <pre>PermitEmptyPasswords no</pre>
 
==Lihtsamad turvamise meetodid==
 
===Juurkasutaja SSH kaudu sisselogimise keelamine===
 
Root ei pea ssh kaudu sisse logida saama. Tavakasutajad saavad kasutada su või sudo käsku, et omandada juurkasutaja õigused. Nii saab ka täieliku ülevaate selle kohta, kes täpselt kasutas süsteemis privileegidega sudo käske. Juurkasutaja SSH kaudu sisselogimise keelamiseks peab '''sshd_config''' failis olema järgnev rida:
<pre>PermitRootLogin no</pre>
 
===Kasutajate sissepääsu piiramine SSH-sse===
 
Vaikimisi saavad kõik süsteemi kasutajad oma parooli või avaliku võtmega SSH kaudu sisse logida. SSH abil süsteemi siseneda saavate kasutajate määramiseks tuleb '''sshd_config'''-is kasutada ridu '''AllowUsers [login1 login2 login3 etc]''' ja/või '''DenyUsers [login1 login2 login3 etc]'''. Näiteks: <pre>AllowUsers m2rt priit traktor ahv
DenyUsers root koll</pre>
Analoogselt käib lubade jagamine gruppidele: '''AllowGroups grupp1 grupp2''' , '''DenyGroups grupp1 grupp2'''.
 
*Alati tuleks keelata ligipääs juurkasutajale ja tema grupile, lisades sshd seadistusfaili järgnevad read:
<pre>DenyUsers root finadmin
DenyGroups root finadmin</pre>
*Samuti oleks vaja anda vähemalt ühele sisselogimisõigusega kasutajale juurkasutaja õigused ehk ta saaks vajadusel kasutada '''su -''' või '''sudo -i''' käsku.
*'''Kõige turvalisem''' on seadistada SSH kaudu sisenemise piiramiseks '''kõik neli''' direktiivi (''AllowUsers, AllowGroups, DenyUsers, DenyGroups'')
 
===SSH pordi muutmine ja IP-dega sidumine===
 
SSH kuulab vaikimisi kõiki süsteemi kasutajaliideseid ja IP aadresse. ''Brute force'' skriptid proovivad tavaliselt ühenduda ainult port #22 kaudu, seepärast on mõistlik vaikimis SSH port muuta. SSH pordi muutmiseks ja kindlate IP-de kuulamiseks tuleks '''sshd_config'''-i sisse kanda muudatused ridadele '''Port''' ja '''ListenAddress'''. Näiteks:
<pre>Port 300
ListenAddress 192.168.1.5
ListenAddress 202.54.1.5</pre>
 
===Tegevusetute (''idle'') kasutajate automaatse väljaviskamise seadistamine===
 
Vältimaks järelevalveta ssh sessioone, tuleks määrata ''idle timeout interval'', milles loendatavate sekundite teatud suuruseni jõudmisel lõpetatakse kasutajaga automaatselt ühendus (kasutaja justkui lihtsalt logis välja). Kui soovitakse, et peale viite minutit tegevusetust ssh sessioon katkestataks, peaks '''sshd_config'''-is olema järgnevad read:
<pre>ClientAliveInterval 300
ClientAliveCountMax 0</pre>
 
===Hostipõhise autentimise keelamine===


Tühja parooliga kontodelt sisse logimise keelamiseks peab '''sshd_config''' faili lisama rea "'''PermitEmptyPasswords no'''".
Hostipõhise autentimise keelamiseks OpenSSH serveris peab '''sshd_config'''-is olema järgnev rida:
<pre>HostbasedAuthentication no</pre>


===Avaliku võtme põhine autentimine===
===Avaliku võtme põhine autentimine===


Õpetus: [[OpenSSH:_v%C3%B5tmetega_autentimine]].
Õpetus: [[OpenSSH:_v%C3%B5tmetega_autentimine]].
Kasutada avaliku- ja privaatvõtme paari koos privaatvõtmele määratud parooliga. Parool peaks olema unikaalne, oma privaatvõtit ei tohiks mitte kunagi avaldada.  
*('''NB!''') Avaliku- ja privaatvõtme paari kasutada '''''ainult koos privaatvõtmele määratud parooliga'''''. Parool peaks olema unikaalne (mujal ei kasutata sama parooli), oma privaatvõtit ei tohiks mitte kunagi avaldada.
 
===.rhosts failid on keelatud===


==TODO==
Kasutajate ~/[[http://en.wikipedia.org/wiki/Rlogin .rhosts]] ja ~/.shosts failide mitte lugemiseks tuleb kindlustada OpenSSH serveri seadistusfailis '''sshd_config''' järgneva rea olemasolu: '''IgnoreRhosts yes'''. SSH suudab emuleerida aegunud [[http://www.mkssoftware.com/docs/man1/rsh.1.asp rsh]] käsku, tuleb lihtsalt keelata ebaturvaline sissepääs [[http://en.wikipedia.org/wiki/Remote_shell RSH]] kaudu.


Mitmed meetodid.
==Keerulisemad turvamise meetodid==


==Autor==
===Kodukaustadesse lukustamine sshd chroot-imisega===
 
Viide: [http://www.debian-administration.org/articles/590 ''OpenSSH SFTP chroot() with ChrootDirectory'']
 
''PS. Keegi tubli inimene võiks lisada eestikeelse õpetuse.''
 
===''Port knocking''===
 
[http://en.wikipedia.org/wiki/Port_knocking Port knocking] on meetod väliselt tulemüüri portide avamiseks, luues kindlas järjekorras eelnevalt kindlaksmääratud portidele ühenduse katsed - "koputused". Niipea kui on toimunud õiges järjekorras koputused, muudetakse dünaamiliselt tulemüüri reegleid, ja hostil, kes saatis õige koputustemustri, lubatakse teatud portidesse ühenduda.
*''Port knocking'' näidis ssh jaoks, kasutades iptables-it:
<pre>$IPT -N stage1
$IPT -A stage1 -m recent --remove --name knock
$IPT -A stage1 -p tcp --dport 3456 -m recent --set --name knock2
$IPT -N stage2
$IPT -A stage2 -m recent --remove --name knock2
$IPT -A stage2 -p tcp --dport 2345 -m recent --set --name heaven
$IPT -N door
$IPT -A door -m recent --rcheck --seconds 5 --name knock2 -j stage2
$IPT -A door -m recent --rcheck --seconds 5 --name knock -j stage1
$IPT -A door -p tcp --dport 1234 -m recent --set --name knock
$IPT -A INPUT -m --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name heaven -j ACCEPT
$IPT -A INPUT -p tcp --syn -j doo</pre>
 
*Erinevaid ''port-knockingu'' seadistusjuhendeid leiab [[#Kasulikke viiteid]] alt.
 
===''Brute force'' rünnaku eest kaitseva tarkvara paigaldamine===
 
''Brute force attack'' on kräkkimismeetod, kus proovitakse suurt hulka märgikombinatsioone, kasutades ühte või jaotatud arvutivõrku. ''Brute force'' rünnakute ennetamiseks ja peatamiseks on loodud mitmesugust tarkvara:
 
''PS Keegi tubli inimene võiks lisada "anti-brute-force-attack-software-list"-i.''
 
===Sshd serverisse sisselogimine koos Linux PAM mooduliga===
 
Suure hulga kasutajate korral võib seadistada [http://www.cyberciti.biz/tips/linux-pam-configuration-that-allows-or-deny-login-via-the-sshd-server.html Linux PAM]-i kontrollima kasutajate sisselogimist sshd serverisse. PAM võimaldab hoida kasutajanimesid tekstifailis (ei pea nimesid ssh seadistusfaili kuhjama).
 
===''TCP Wrappers'' kasutamine===
 
[http://en.wikipedia.org/wiki/TCP_Wrapper TCP Wrapper] on hostipõhine võrgu-pääsupiiramisloendi süsteem, mida kasutatakse võrgu internetiga ühenduvuse piiramiseks. Kõigepealt oleks vaja TCP Wrappers seadistada: [[#TCP Wrappers-i seadistamine ja kasutamine] (ing.k).
Lubamaks SSH-d ainult ip-aadressitelt 192.168.1.2 ja 172.16.23.12, tuleks /etc/hosts.allow faili vastavad aadressid järgnevalt sisse kanda:
<pre>sshd : 192.168.1.2 172.16.23.12</pre>
 
==Kasulikke viiteid==
 
*[http://www.openssh.com Ametliku '''OpenSSH''' projekti sait]
*[http://www.cyberciti.biz/tips/checking-openssh-sshd-configuration-syntax-errors.html Sshd seadistusfaili süntaksivigade leidmise viis enne sshd-serveri restarti]
*[[Tulemüüri_labor]]
*[http://www.marksanborn.net/linux/add-port-knocking-to-ssh-for-extra-security/ ''Port-knocking'' SSH-le]
*[https://calomel.org/openssh.html OpenSSH turvalisest seadistamisest]
*[http://www.debian-administration.org/articles/268 ''Port knocking'' kasutades ainult ''iptables''-it või ''netfilter''-it.]
*[http://linux.die.net/man/1/knockd ''Port-knock'' serveri '''knockd''' seadistamine]
*[http://www.cipherdyne.org/fwknop/ Efektiivsem turvamismeetod kui lihtsalt ''port knocking'': '''''Single packet authorization''''' ('''SPA''')]
*[http://www.thoughtcrime.org/software/knockknock/ '''knockknock''' kasutamine '''SPA'''-ks]
*[http://www.cyberciti.biz/faq/tcp-wrappers-hosts-allow-deny-tutorial/ TCP Wrappers-i seadistamine ja kasutamine]
 
==Kasutatud materjalid==


Indrek Tamm
*[http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html 20 viisi OpenSSH serveri turvalisuse tõstmiseks]
*[http://www.cyberciti.biz/tips/openssh-deny-or-restrict-access-to-users-and-groups.html Kasutajate ja gruppide ligipääsu piiramine openssh-le]
*Ubuntu terminali man leheküljed (apt-get, sshd jms)


==Autor==
Indrek Tamm, rühm 15


[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 23:14, 16 May 2010

Info

Lehel on välja toodud oluliste OpenSSH seadistusfailide asukohad ning valik OpenSSH turvalisuse tõstmise meetodeid. Testsüsteemiks kasutati Ubuntu 10.04-ja, millede peal prooviti enamus meetodeid läbi. Meetodid on jaotatud kolme kategooriasse: #Turvalisuse eeldused, #Lihtsamad turvamise meetodid, #Keerulisemad turvamise meetodid. #Kasulikke viiteid alt võib leida turvamise meetodeid, mida otseselt siin artiklis ei kajastata.

OpenSSH vaikimisi seadistusfailid ja SSH port

  • /etc/ssh/sshd_config OpenSSH serveri seadistuste fail.
  • /etc/ssh/ssh_config OpenSSH kliendi seadistuste fail.
  • ~/.ssh/ Kasutaja ssh seadistuste kaust.
  • ~/.ssh/authorized_keys või ~/.ssh/authorized_keys Loend avalikest võtmetest (RSA või DSA) mille abil saab kasutaja kontole sisse logida.
  • /etc/nologin Kui see fail on olemas, keeldub sshd kõigil peale juurkasutaja sisse logida.
  • /etc/hosts.allow ning /etc/hosts.deny Sisaldavad TCP-Wrappers poolt nõutavaid pääsupiiramisloendeid.
  • SSH vaikimisi port: TCP 22

Uute seadistuste rakendamiseks peab sshd serveri taaskäivitama.

sudo /etc/init.d/ssh restart

Turvalisuse eeldused

Operatsioonisüsteem ja OpenSSH on uuendatud

Soovitav on kasutada regulaarselt vahendeid nagu yum, apt-get, freebsd-update jms, et tagada süsteemile ja selle programmidele (turva)uuenduste olemasolu.

  • Ubuntus on abiks järgnev käsukombinatsioon: sudo apt-get update (- hangib tarkvarateekidest uusimate versioonide info) ja sellele järgnev sudo apt-get dist-upgrade (- uuendab kogu süsteemi tarkvara, kõrvaldades automaatselt konfliktid).

Tugevad paroolid

Ülitähtis on kasutada kasutajate ja võtmete paroolideks keerulisi ja vähemalt 8 ühikut pikkasid märgikombinatsioone. Brute force rünnakud on edukad, sest paroolidena kasutatakse sõnu ja nimesid, mis on päriselt olemas. Ubuntu kommuuni artikkel tugevatest paroolidest. PS. Parooli sünonüüm salasõna on it-maailmas eksitav väljend, sest kui paroolina kasutatakse lihtsalt mingit sõna, on selle sõna salajas püsimine äärmiselt ebatõenäoline. Paremini sobiks parooli sünonüümiks salafraas või salaväljend.

Ainult SSH 2. protokoll

SSH 1. protokoll (SSH-1) omab vahemehe-rünnakuga (MITM attack) seonduvaid probleeme ja muid turvanõrkusi. SSH-1 on aegunud ja sellest tuleks iga hinna eest hoiduda. Avades /etc/ssh/sshd_config faili, tuleks kontrollida, kas seal on rida Protocol 2.

Tühjad paroolid on keelatud

Tühja parooliga kontodelt sisse logimise keelamiseks peab /etc/ssh/sshd_config failis olema rida:

PermitEmptyPasswords no

Lihtsamad turvamise meetodid

Juurkasutaja SSH kaudu sisselogimise keelamine

Root ei pea ssh kaudu sisse logida saama. Tavakasutajad saavad kasutada su või sudo käsku, et omandada juurkasutaja õigused. Nii saab ka täieliku ülevaate selle kohta, kes täpselt kasutas süsteemis privileegidega sudo käske. Juurkasutaja SSH kaudu sisselogimise keelamiseks peab sshd_config failis olema järgnev rida:

PermitRootLogin no

Kasutajate sissepääsu piiramine SSH-sse

Vaikimisi saavad kõik süsteemi kasutajad oma parooli või avaliku võtmega SSH kaudu sisse logida. SSH abil süsteemi siseneda saavate kasutajate määramiseks tuleb sshd_config-is kasutada ridu AllowUsers [login1 login2 login3 etc] ja/või DenyUsers [login1 login2 login3 etc]. Näiteks:

AllowUsers m2rt priit traktor ahv
DenyUsers root koll

Analoogselt käib lubade jagamine gruppidele: AllowGroups grupp1 grupp2 , DenyGroups grupp1 grupp2.

  • Alati tuleks keelata ligipääs juurkasutajale ja tema grupile, lisades sshd seadistusfaili järgnevad read:
DenyUsers root finadmin
DenyGroups root finadmin
  • Samuti oleks vaja anda vähemalt ühele sisselogimisõigusega kasutajale juurkasutaja õigused ehk ta saaks vajadusel kasutada su - või sudo -i käsku.
  • Kõige turvalisem on seadistada SSH kaudu sisenemise piiramiseks kõik neli direktiivi (AllowUsers, AllowGroups, DenyUsers, DenyGroups)

SSH pordi muutmine ja IP-dega sidumine

SSH kuulab vaikimisi kõiki süsteemi kasutajaliideseid ja IP aadresse. Brute force skriptid proovivad tavaliselt ühenduda ainult port #22 kaudu, seepärast on mõistlik vaikimis SSH port muuta. SSH pordi muutmiseks ja kindlate IP-de kuulamiseks tuleks sshd_config-i sisse kanda muudatused ridadele Port ja ListenAddress. Näiteks:

Port 300
ListenAddress 192.168.1.5
ListenAddress 202.54.1.5

Tegevusetute (idle) kasutajate automaatse väljaviskamise seadistamine

Vältimaks järelevalveta ssh sessioone, tuleks määrata idle timeout interval, milles loendatavate sekundite teatud suuruseni jõudmisel lõpetatakse kasutajaga automaatselt ühendus (kasutaja justkui lihtsalt logis välja). Kui soovitakse, et peale viite minutit tegevusetust ssh sessioon katkestataks, peaks sshd_config-is olema järgnevad read:

ClientAliveInterval 300
ClientAliveCountMax 0

Hostipõhise autentimise keelamine

Hostipõhise autentimise keelamiseks OpenSSH serveris peab sshd_config-is olema järgnev rida:

HostbasedAuthentication no

Avaliku võtme põhine autentimine

Õpetus: OpenSSH:_võtmetega_autentimine.

  • (NB!) Avaliku- ja privaatvõtme paari kasutada ainult koos privaatvõtmele määratud parooliga. Parool peaks olema unikaalne (mujal ei kasutata sama parooli), oma privaatvõtit ei tohiks mitte kunagi avaldada.

.rhosts failid on keelatud

Kasutajate ~/[.rhosts] ja ~/.shosts failide mitte lugemiseks tuleb kindlustada OpenSSH serveri seadistusfailis sshd_config järgneva rea olemasolu: IgnoreRhosts yes. SSH suudab emuleerida aegunud [rsh] käsku, tuleb lihtsalt keelata ebaturvaline sissepääs [RSH] kaudu.

Keerulisemad turvamise meetodid

Kodukaustadesse lukustamine sshd chroot-imisega

Viide: OpenSSH SFTP chroot() with ChrootDirectory

PS. Keegi tubli inimene võiks lisada eestikeelse õpetuse.

Port knocking

Port knocking on meetod väliselt tulemüüri portide avamiseks, luues kindlas järjekorras eelnevalt kindlaksmääratud portidele ühenduse katsed - "koputused". Niipea kui on toimunud õiges järjekorras koputused, muudetakse dünaamiliselt tulemüüri reegleid, ja hostil, kes saatis õige koputustemustri, lubatakse teatud portidesse ühenduda.

  • Port knocking näidis ssh jaoks, kasutades iptables-it:
$IPT -N stage1
$IPT -A stage1 -m recent --remove --name knock
$IPT -A stage1 -p tcp --dport 3456 -m recent --set --name knock2
 
$IPT -N stage2
$IPT -A stage2 -m recent --remove --name knock2
$IPT -A stage2 -p tcp --dport 2345 -m recent --set --name heaven
 
$IPT -N door
$IPT -A door -m recent --rcheck --seconds 5 --name knock2 -j stage2
$IPT -A door -m recent --rcheck --seconds 5 --name knock -j stage1
$IPT -A door -p tcp --dport 1234 -m recent --set --name knock
 
$IPT -A INPUT -m --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name heaven -j ACCEPT
$IPT -A INPUT -p tcp --syn -j doo

Brute force rünnaku eest kaitseva tarkvara paigaldamine

Brute force attack on kräkkimismeetod, kus proovitakse suurt hulka märgikombinatsioone, kasutades ühte või jaotatud arvutivõrku. Brute force rünnakute ennetamiseks ja peatamiseks on loodud mitmesugust tarkvara:

PS Keegi tubli inimene võiks lisada "anti-brute-force-attack-software-list"-i.

Sshd serverisse sisselogimine koos Linux PAM mooduliga

Suure hulga kasutajate korral võib seadistada Linux PAM-i kontrollima kasutajate sisselogimist sshd serverisse. PAM võimaldab hoida kasutajanimesid tekstifailis (ei pea nimesid ssh seadistusfaili kuhjama).

TCP Wrappers kasutamine

TCP Wrapper on hostipõhine võrgu-pääsupiiramisloendi süsteem, mida kasutatakse võrgu internetiga ühenduvuse piiramiseks. Kõigepealt oleks vaja TCP Wrappers seadistada: [[#TCP Wrappers-i seadistamine ja kasutamine] (ing.k). Lubamaks SSH-d ainult ip-aadressitelt 192.168.1.2 ja 172.16.23.12, tuleks /etc/hosts.allow faili vastavad aadressid järgnevalt sisse kanda:

sshd : 192.168.1.2 172.16.23.12

Kasulikke viiteid

Kasutatud materjalid

Autor

Indrek Tamm, rühm 15