[KB7857] Nastavite povezavo HTTPS/SSL za ESET PROTECT On-Prem (Linux)

OPOMBA:

To stran je prevedel računalnik. Če želite prikazati izvirno besedilo, na tej strani v razdelku Jeziki kliknite angleški jezik. Če vam je kar koli nejasno, se obrnite na lokalno podporo.

Težava

Rešitev

Povezana rešitev: Uporabniki sistema Windows

Uporabniki virtualne naprave Rocky Linux

Če ste uporabnik virtualne naprave Rocky Linux, nastavite številko vrat konektorja na 443.

Preberite več o ESET Management Agent s certifikatom iz Rocky Linux ESET PROTECT Virtual Appliance.

HTTPS

Zaradi varnostnih razlogov priporočamo, da nastavite ESET PROTECT On-Prem za uporabo protokola HTTPS.

Uporabite obstoječi certifikat

Pri dostopu do ESET PROTECT On-Prem prek protokola HTTP se lahko prikaže sporočilo o napaki »Uporablja se nešifrirana povezava! Prosimo, nastavite spletni strežnik za uporabo protokola HTTPS«. To se zgodi po namestitvi ESET PROTECT On-Prem.

Spodnji koraki se nanašajo na certifikate za Apache Tomcat, ki se uporabljajo za zagotavljanje varnih HTTPS-povezav. Preberite več o certifikatih za ESET PROTECT On-Prem.

  1. Datoteko s certifikatom (na primer certificate_file.pfx) premaknite v namestitveno mapo Apache Tomcat (na primer /etc/tomcat/).

  2. Odprite datoteko Server.xml, ki se nahaja v namestitveni mapi Apache Tomcat, in jo uredite na naslednji način:

    • Apache Tomcat 9

      • Če za <‎Service name="Catalina"> ni <‎Connector, skopirajte naslednji niz in ga prilepite za <‎Service name="Catalina">.

        Za keystoreFile, keystorePass in keystoreType uporabite svoje vrednosti:

        <Connector port="8443"
                       protocol="HTTP/1.1"
                       SSLEnabled="true"
                       maxThreads="150"
                       scheme="https"
                       secure="true"
                       clientAuth="false"
                       sslEnabledProtocols="TLSv1.2,TLSv1.3"
                       ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
                                TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
                                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
                                TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
                                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
                                TLS_RSA_WITH_AES_128_CBC_SHA256,
                                TLS_RSA_WITH_AES_128_GCM_SHA256,
                                TLS_RSA_WITH_AES_128_CBC_SHA,
                                TLS_RSA_WITH_AES_256_CBC_SHA256,
                                TLS_RSA_WITH_AES_256_GCM_SHA384,
                                TLS_RSA_WITH_AES_256_CBC_SHA"
                       keystoreFile="/etc/tomcat/certificate_file.pfx"
                       keystorePass="Secret_Password_123"
                       keystoreType="PKCS12"
                       />
      • Če je <‎Connector naveden za <‎Service name="Catalina">, uporabite svoje vrednosti za spodaj navedene parametre.

        • keystoreFile – Vnesite polno pot do datoteke s certifikatom (.pfx, .keystore ali drugo). Če uporabljate certifikat, ki ni JKS (na primer datoteko .pfx ), izbrišite keyAlias (v datoteki Server.xml je privzeto naveden) in dodajte ustrezen keystoreType.
        • keystorePass–Vnesite geslo za certifikat.
        • keystoreType–Določite vrsto certifikata.
    • Apache Tomcat 10

      Oznako <Connector uredite na naslednji način:

      Za spodaj navedene parametre uporabite svoje vrednosti.

      • certificateKeystoreFile – Vnesite polno pot do datoteke s certifikatom.
      • certificateKeystorePassword – Vnesite geslo za certifikat.

      <Connector port="443"
                     protocol="org.apache.coyote.http11.Http11NioProtocol"
                     maxThreads="150"
                     SSLEnabled="true">
                     <SSLHostConfig>
                      <Certificate certificateKeystoreFile=""/etc/tomcat/certificate_file.pfx"
                          certificateKeystorePassword="admin.1234"
                           type="RSA"/>
                     </SSLHostConfig>
                  </Connector>
  3. Ponovno zaženite storitev Tomcat:

    sudo systemctl restart tomcat
    • Če uporabljate datoteko .keystore, uporabite pot do datoteke (keystoreFile="/etc/tomcat/tomcat.keystore") in namesto keystoreType opredelite keyAlias (keyAlias="tomcat").

    • Če želite onemogočiti HTTP:

      <!--
          <Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
      SELinux omogočen

      Uporabniki, ki imajo omogočen SELinux in prejmejo opozorilo o neveljavnem certifikatu, bodo morda morali izvesti ukaz restorecon , da obnovijo varnostni kontekst SELinux:

      restorecon /etc/tomcat/my_cert_file.pfx
      
      ls -lZ
      
      -rw-r--r--. root root unconfined_u:object_r:etc_t:s0   /etc/tomcat/my_cert_file.pfx

Ustvarite novo potrdilo in ga dajte podpisati

Za ESET PROTECT On-Prem uporabite varno povezavo HTTPS/SSL.

  1. Ustvarite shrambo ključev s certifikatom SSL. Imeti morate nameščen Java .

    Apache Tomcat zahteva Javo:
    • Preverite, ali imajo Java, ESET PROTECT On-Prem in Apache Tomcat enako število bitov.

    • Če imate v sistemu nameščenih več različic Jave, priporočamo, da odstranite starejše različice Jave in obdržite le najnovejšo različico.

    • Za javne posodobitve Oracle JAVA SE za poslovno, komercialno ali proizvodno rabo je potrebna komercialna licenca. Če ne kupite licence JAVA SE, lahko uporabite ta vodnik za prehod na brezplačno alternativo.

    Java vključuje orodje keytool, ki vam omogoča ustvarjanje potrdila prek ukazne vrstice.

    1. Za vsako instanco Tomcata (če imate več instanc Tomcata) morate ustvariti novo potrdilo, da zagotovite, da bodo ostale instance Tomcata ostale varne, če bo eno potrdilo ogroženo. Spodaj je primer ukaza za ustvarjanje skladišča ključev s potrdilom SSL.

    2. Pojdite na natančno mesto, kjer se nahaja datoteka keytool, na primer /usr/lib/jvm/”java version”/jre/bin (imenik je odvisen od operacijskega sistema in različice Jave), ter izvedite ukaz:

      sudo keytool -genkeypair -alias "tomcat" -keyalg RSA -keysize 4096 -validity 3650 -keystore "/etc/tomcat/tomcat.keystore" -storepass "vaše geslo" -keypass »vaše geslo« -dname »CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown«

      Pot do datoteke /etc/tomcat/tomcat.keystore je le primer; izberite svojo lastno varno in dostopno mesto.

      Parametra -storepass in -keypass

      Vrednosti za -storepass in -keypass morata biti enaki.

  2. Izvozite certifikat iz keystoreja. Spodaj je vzorčni ukaz za izvoz zahtevka za podpis certifikata iz keystoreja:

    sudo keytool -certreq -alias tomcat -file "/etc/tomcat/tomcat.csr" -keystore "/etc/tomcat/tomcat.keystore" -ext san=dns:ESETPROTECT
    Vrednosti ustrezno zamenjajte
    • Vrednost »/etc/tomcat/tomcat.csr« za parameter -file zamenjajte z dejansko potjo in imenom datoteke, kamor želite izvoziti certifikat.

    • Vrednost ESETPROTECT za parameter -ext zamenjajte z dejanskim imenom gostitelja strežnika, na katerem teče vaš Apache Tomcat z ESET PROTECT On-Prem.

  3. Pridobite SSL-potrdilo, podpisano s korensko certifikacijsko agencijo (CA) po vaši izbiri.

    Če nameravate korensko certifikacijsko oblast uvoziti kasneje, lahko nadaljujete s korakom 6. Če se odločite za ta postopek, bo vaš spletni brskalnik morda prikazal opozorila o samopodpisanem certifikatu, zato boste morali dodati izjemo, da se boste lahko povezali z ESET PROTECT On-Prem prek HTTPS.

  4. Uvozite korenski certifikat in vmesni certifikat vaše certifikacijske oblasti v svoj keystore. Te certifikate običajno zagotovi subjekt, ki je podpisal vaš certifikat. To je potrebno, ker se odgovor certifikata preverja z uporabo zaupanja vrednih certifikatov iz keystoreja.

    sudo keytool -import -alias root -file "/etc/Tomcat/root.crt" -keystore "/etc/tomcat/tomcat.keystore"
    sudo keytool -import -alias intermediate -file "/etc/Tomcat/intermediate.crt.pem" -keystore "/etc/tomcat/tomcat.keystore"
  5. Ko prejmete podpisano potrdilo s korensko certifikacijsko agencijo (Root CA), uvozite javni ključ certifikacijske agencije in potrdilo (tomcat.cer) v svoj keystore. Spodaj je prikazan primer ukaza za uvoz podpisanega potrdila v keystore:

    sudo keytool -import -alias tomcat -file "/etc/tomcat/tomcat.cer" -keystore "/etc/tomcat/tomcat.keystore"
    Vrednosti ustrezno zamenjajte

    Vrednost /etc/tomcat/tomcat.csr za parameter -file zamenjajte z dejansko potjo in imenom datoteke podpisanega certifikata.

    Če želite uporabiti obstoječe potrdilo (na primer potrdilo podjetja), sledite tem navodilom.

  6. Uredite konfiguracijsko datoteko server.xml tako, da je oznaka <‎Connector zapisana podobno kot v spodnjem primeru:

    <Connector server="OtherWebServer" port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat/tomcat.keystore" keystorePass="vaše geslo"/>

    Ta sprememba onemogoči tudi nezavarovane funkcije Tomcata, pri čemer ostane omogočen le HTTPS (parameterscheme= ). Zaradi varnostnih razlogov boste morda morali urediti tudi datoteko tomcat-users.xml, da izbrišete vse uporabnike Tomcata, ter spremeniti datoteko ServerInfo.properties, da skrijete identiteto Tomcata.

  7. Znova zaženite storitev Apache Tomcat. ESET PROTECT On-Prem lahko uporablja ime storitve tomcat9.

    sudo systemctl restart tomcat
    Varnostna povezava v sistemu Linux še vedno ne deluje

    Pomembna vsebina je tukaj.

    V imeniku /var/....../tomcat se lahko prikaže naslednje sporočilo o napaki: »failed to initialize end point associated with ProtocolHandler ["http-bio-443"]«.

    Če težava vztraja, v datoteki server.xml spremenite vrednost vrat na vrednost, višjo od 1024, saj so vrata pod 1024 morda nedostopna za uporabnike brez pravic root. Če morate iz kakršnega koli razloga uporabiti vrata 443, lahko vrednost vseeno spremenite in nato preusmerite vrata.

    Za omogočanje preusmeritve vrat (na primer z vrat 443 na vrata 8443) sledite spodnjim korakom:

    1. Omogočite oddaljeni dostop do spletne konzole:

      sudo iptables -A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT

      Alternativno lahko odprete in uredite konfiguracijsko datoteko požarnega zidu (nano /etc/sysconfig/iptables) ter v oddelek, ki se začne z *nat in konča z COMMIT, dodate naslednjo vrstico:

      -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports |8443)
    2. Odstranite vrata 8080, da onemogočite HTTP:

      sudo iptables -D INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
    3. Shranite pravila požarnega zidu:

      iptables-save > /etc/network/iptables.rules
    4. Onemogočite SELinux. Navodila se lahko razlikujejo glede na vašo distribucijo Linuxa.