| Drošāk ir droši - OpenSSH serveris |
|
| Piektdiena, 02 oktobris 2009 11:20 |
|
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
#1: Atslēdziet OpenSSH ServeriDarbstacijas 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: Debian / Ubuntu Linux lietotāji: 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: #2: Jāizmanto tikai SSH Protokols 2SSH 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 SSHPē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āluPielabojot dīkstāves intervāla uzstādījumus, var slēgt sesijas, kuras netiek izmantotas. Failā sshd_config izdarām izmaiņas: ClientAliveInterval 300 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 failusNeizmantot lietotāja ~/.rhosts un ~/.shosts failus. Faila sshd_config sekojošas izmaiņas: IgnoreRhosts yes #6: Atslēgt Host-Based autientifikācijuLai atslēgtu host-based autientifikāciju, mainām sshd_config: HostbasedAuthentication no #7: Atslēgt root lietotājam SSHRoot 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 banneriNorādiet brīdināšanas banneri sshd_config failā: Banner /etc/issue /etc/issue faila piemērs: ---------------------------------------------------------------------------------------------- #9: Ugunsmūris SSH ports # 22Ugunsmūra (Iptables) konfigurēšanaPielabojiet /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 #10: Izmainiet SSH Portu un ierobežojiet IP piesaistiPē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 parolesVienmē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ācijuLietojiet 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 WrapperusTCP 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 parolesIr jānoliedz reģistrēties sistēmā, izmantojot lietotājus, kuriem nav paroļu. Izmaniet sshd_config sekojoši: PermitEmptyPasswords no #16: SSH Brute ForceLai izvairītos no brute force der izmantot kādu no:
#17: Analizējiet žurnālfailusLogwatch 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 |