LatvianRussian (CIS)


Interesanti Drošāk ir droši - OpenSSH serveris

Drošāk ir droši - OpenSSH serveris E-pasts
Piektdiena, 02 oktobris 2009 11:20

bezmaksas programmas - openssh

OpenSSH ir ieteicams attālinātais piekļuvei sistēmai, rezerves kopiju izveidei, failu kopēšanai utt. SSH ir neaizvietojams rīks, lai saglabātu starp divām sistēmām pārraidītus datus slepenībā. Šeit pāris paņēmieni, kā uzlabot drošību.

Konfigurācijas faili un SSH ports

  • /etc/ssh/sshd_config - OpenSSH servera konfigurācijas fails.

  • /etc/ssh/ssh_config - OpenSSH klienta konfigurācijas fails.

  • ~/.ssh/ - Lietotāju ssh konfigurācijas mape.

  • ~/.ssh/authorized_keys vai ~/.ssh/authorized_keys – Publiskās atslēgas (RSA vai DSA), kuras var tikt izmantotas, lai pieslēgtos lietotāja kontam.

  • /etc/nologin – Ja eksistē šis fails, ssh nelaiž sistēmā nevienu, izņemot root lietotāju.

  • /etc/hosts.allow un /etc/hosts.deny : Pieejas kontroles saraksti, kurus skatās tcp-wrapperi.

  • SSH noklusējuma ports : TCP 22

#1: Atslēdziet OpenSSH Serveri

Darbstacijas un portatīvie datori var strādāt bez OpenSSH servera. Ja nav nepieciešamības pēc attālinātas pieejas un failu kopēšanas, SSH serveri der atslēgt un noinstalēt.

CentOS / RHEL / Fedora Linux lietotāji var to izdarīt ar komandu:
# chkconfig sshd off
# yum erase openssh-server

Debian / Ubuntu Linux lietotāji:
# apt-get remove openssh-server

Iespējams, jāatjauno iptables ugunsmūra konfigurācija, lai liegtu pieeju SSH. Lietojot CentOS / RHEL / Fedora izmainiet failus /etc/sysconfig/iptables un /etc/sysconfig/ip6tables. Kad tas ir izdarīts pārlādējiet iptables:
# service iptables restart
# service ip6tables restart

#2: Jāizmanto tikai SSH Protokols 2

SSH protokola versijai 1 (SSH-1) ir zināmi vairāki drošības “caurumi”, piem. “man-in-the-middle”. SSH-1 ir novecojis un no tā vajadzētu izvairīties. Atverot sshd_config failu, jāpārliecinās, ka ir šāda opcija:

Protocol 2

#3: Der ierobežot lietotāju piekļuvi SSH

Pēc noklusējuma, visi lietotāji var reģistrēties sistēmā izmantojot paroli vai publisko atslēgu. Reizēm tiek izveidots UNIX / Linux lietotāja konts priekš ftp vai e-pasta pakalpojumiem. Arī šie lietotāji var reģistrēties sistēmā caur ssh. Viņiem būs pilna pieeja pie sistēmas rīkiem. Tas ir labojams izmantojot direktīvu AllowUsers.

Lai atļautu tikai lietotājiem root, juris un cheburashka izmantot ssh, pievienojiet sshd_config failam sekojošu ierakstu:

AllowUsers root juris cheburashka

Otrs veids – var atļaut izmantot ssh visiem lietotājiem, izņemot dažus:

DenyUsers karlis annamarija

Var nokonfigurēt Linux PAM, lai atļautu vai liegtu pieeju ssh

#4: Jāpielabo Idle Log Out Timeout intervālu

Pielabojot dīkstāves intervāla uzstādījumus, var slēgt sesijas, kuras netiek izmantotas. Failā sshd_config izdarām izmaiņas:

ClientAliveInterval 300
ClientAliveCountMax 0

Ir uzstādīts dīkstāves laiks sekundēs (300 s = 5 min). Kad laiks pagājis, lietotājs automātiski tiek “izmests” no sistēmas.

#5: Atslēgt .rhosts failus

Neizmantot lietotāja ~/.rhosts un ~/.shosts failus. Faila sshd_config sekojošas izmaiņas:

IgnoreRhosts yes

#6: Atslēgt Host-Based autientifikāciju

Lai atslēgtu host-based autientifikāciju, mainām sshd_config:

HostbasedAuthentication no

#7: Atslēgt root lietotājam SSH

Root nav vajadzības slēgties pie ssh. Parasts lietotājs var izmantot su vai sudo (ieteicams) lai strādātu ar root tiesībām. Tādā veidā arī redzams kas un kādas komandas laidis ar root tiesībām. Lai atslēgtu root pieeju SSH, sshd_config failā izmainām:

PermitRootLogin no

#8: Izmantojiet brīdināšanas banneri

Norādiet brīdināšanas banneri sshd_config failā:

Banner /etc/issue

/etc/issue faila piemērs:

----------------------------------------------------------------------------------------------
!!! Esat pieslēdzies privātai informācijas sistēmai. Visas darbības tiek uzraudzītas !!!
Nesankcionētas piekļuves mēģinājumi tiek žurnalēti un var tikt sodīti saskaņa ar likumdošanu
----------------------------------------------------------------------------------------------



#9: Ugunsmūris SSH ports # 22

Ugunsmūra (Iptables) konfigurēšana

Pielabojiet /etc/sysconfig/iptables (Redhat fails), lai ļautu pieslēgties tikai no 192.168.1.0/24 and 202.54.1.5/29:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -s 202.54.1.5/29 -m state --state NEW -p tcp --dport 22 -j ACCEPT

#10: Izmainiet SSH Portu un ierobežojiet IP piesaisti

Pēc noklusējuma ssh klausās uz visiem sistēmas interfeisiem un ip adresēm. Lai piesietu ssh tikai adresei 192.168.1.1:

ListenAddress 192.168.1.1

#11: Izmantojiet stipras SSH paroles

Vienmēr der atgādināt, kā jāizmanto stipras paroles. Brute force uzbrukumi strādā tādēļ, ka tiek izmantoti vārdnīcās sastopamie vārdi.

#12: Izmantojiet Public Key bāzētu autentifikāciju

Lietojiet publisku/privātu atslēgu pāri ar paroli. Nedrīkst izmantot atslēgu bez paroles!

#13: Ievietojiet SSHD chrootā (atļaut lietotājiem pieeju tikai mājas mapei)

Pēc noklusējuma lietotāji var redzēt visu sistēmu - /etc/, /bin un tā tālāk. To var izmainīt ar chroot palīdzību. Ar OpenSSH laidieniem 4.8p1 vai 4.9p1, vairs nav jāizmanto sarežģīti risinājumi. Lasiet šeit par jaunu ChrootDirectory direktīvu, lai “ieslēgtu” lietotājus viņu mājas direktorijā.

#14: Izmantojiet TCP Wrapperus

TCP Wrapper tīkla ACL sistēma, izmantojama, lai sortētu pieeju tīklam. OpenSSH atbalsta TCP wrapperus. Izmainiet /etc/hosts.allow failu, lai atļautu pieslēgties pie ssh tikai no adreses 192.168.1.1 :

sshd : 192.168.1.1

Apskatiet FAQ about setting and using TCP wrappers.

#15: Atslēgt tukšas paroles

Ir jānoliedz reģistrēties sistēmā, izmantojot lietotājus, kuriem nav paroļu. Izmaniet sshd_config sekojoši:

PermitEmptyPasswords no

#16: SSH Brute Force

Lai izvairītos no brute force der izmantot kādu no:

  • DenyHosts Python bāzēts drošības rīks. Paredzēts, lai atvairītu brute force, izmantojot neveiksmīgas pieslēgšanās mēģinājumu monitoringu žurnālfailos un bloķētu to IP adreses.

  • Fail2ban līdzīga programma.

  • sshguard-pf aizsargā, izmantojot pf.

  • sshguard-ipfw aizsargā, izmantojot ipfw.

  • sshguard-ipfilter izmantojot ipfilter.

  • sshblock

  • sshit pārbauda SSH/FTP bruteforce un bloķē IP.

  • BlockHosts Automātiska bloķēšana.

  • Blacklist .



#17: Analizējiet žurnālfailus

Logwatch vai logcheck. Šie rīki padara dzīvi vieglāku :) Pārliecinieties, ka LogLevel ir uzstādīts uz INFO vai DEBUG sshd_config failā:

LogLevel INFO

Veixmi! Wink
 

Pievienot komentāru


Aizsardzības kods
Atjaunināt

© 2008 SIA PRO-9
Visas tiesības aizsargātas. Pārpublicēšanas gadījumā atsauce uz www.pro-9.com obligāta.