Statická analýza kódu je klíčovým prvkem moderního vývoje softwaru, který umožňuje vývojářům identifikovat potenciální bezpečnostní problémy a chyby ve svých aplikacích ještě před jejich nasazením. Tento článek se zaměří na to, jak můžete využít nástroje pro statickou analýzu kódu na operačním systému CentOS 7, aby bylo možné efektivně detekovat bezpečnostní zranitelnosti ve vašich aplikacích.
Příprava systému CentOS 7
Před instalací jakýchkoli nástrojů je důležité ujistit se, že váš systém je aktualizovaný. Otevřete terminál a spusťte následující příkaz pro aktualizaci systému:
sudo yum update
Instalace nástrojů pro statickou analýzu
Existuje několik nástrojů pro statickou analýzu kódu, které jsou kompatibilní s CentOS 7. Mezi populární volby patří SonarQube, Fortify a Coverity. V tomto článku se zaměříme na instalaci a použití SonarQube, který je volně dostupný a podporuje mnoho programovacích jazyků.
Instalace SonarQube
-
Instalace Java: SonarQube vyžaduje Java. Nainstalujte OpenJDK 11 pomocí příkazu:
sudo yum install java-11-openjdk-devel
-
Stáhněte SonarQube: Získat aktuální verzi SonarQube můžete ze stránek SonarQube. Příklad příkazu pro stahování:
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.0.43852.zip
-
Rozbalte stažený soubor a přesuňte ho do vhodného adresáře:
unzip sonarqube-*.zip
sudo mv sonarqube-8.9.0.43852 /opt/sonarqube
Konfigurace SonarQube
-
Vytvoření systémového uživatele: Pro lepší bezpečnost vytvořte speciálního uživatele pro SonarQube:
sudo useradd -r sonar
sudo chown -R sonar:sonar /opt/sonarqube
- Konfigurace služby: Vytvořte systemd službu pro SonarQube, aby bylo možné službu snadno spravovat:
echo -e '[Unit]\nDescription=SonarQube service\nAfter=syslog.target network.target\n\n[Service]\nType=forking\nUser=sonar\nGroup=sonar\nExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start\nExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop\nLimitNOFILE=65536\nLimitNPROC=4096\n\n[Install]\nWantedBy=multi-user.target' | sudo tee /etc/systemd/system/sonar.service
Následně aktivujte a spusťte službu SonarQube:
sudo systemctl enable sonar
sudo systemctl start sonar
Použití SonarQube pro analýzu kódu
-
Přístup k SonarQube: Otevřete webový prohlížeč a přejděte na http://<IP_ADRESA_VAŠEHO_SERVERU>:9000
. Přihlašte se pomocí výchozích přihlašovacích údajů: uživatel admin
a heslo admin
.
-
Vytvoření projektu: Postupujte podle průvodce na webu SonarQube pro vytvoření nového projektu a získání token pro autentizaci.
-
Analýza kódu: V závislosti na vašem programovacím jazyku a prostředí nainstalujte a konfigurujte příslušný SonarQube scanner. Následně spusťte skenování vašeho projektu:
./sonar-scanner \
-Dsonar.projectKey=<název_projektu> \
-Dsonar.sources=. \
-Dsonar.host.url=http://<IP_ADRESA_VAŠEHO_SERVERU>:9000 \
-Dsonar.login=<token>
Statická analýza kódu je neocenitelným nástrojem pro detekci bezpečnostních zranitelností ve vývojovém cyklu softwaru. SonarQube nabízí komplexní řešení pro různé programovací jazyky a platformy, včetně CentOS 7. Pravidelnou analýzou vašeho kódu můžete výrazně zvýšit bezpečnost a kvalitu vašich aplikací ještě před jejich nasazením.