Oma arendus

Kursor by Intech

Serveri haldpaneel, kirjutatud nullist Go-s

Mis see on

Kursor on Intechi enda serveri haldpaneel, mis on nullist kirjutatud Go-s — aaPanel/1Panel alternatiiv, kuid ehitatud ettevõtte konkreetsete vajaduste, mitte universaalse toote jaoks.

Üks binaarfail, SQLite, natiivne systemd-teenus — ilma Dockerita, ilma liigsete abstraktsioonikihtideta. Idee: mitte maksta kümne eraldi SaaS-tellimuse eest (hostingpaneel, meil, piletisüsteem, VPN-teenus), vaid hoida kõik enda kontrolli all, oma riistvaral.

Moodulid

Server

Saidid
Saitide loomine/kustutamine, nginx-konfiguratsioonide automaatne genereerimine ja valideerimine enne rakendamist (konfiguratsiooni test → sümbolviide → taaskäivitus, veaga tagasipööramine).
SSL
Let's Encrypt sertifikaatide väljastamine ja automaatne uuendamine otse liidesest.
Failihaldur
Failide vaatamine, muutmine, üles-/allalaadimine turvalise juurkataloogi piires (kaitse kataloogist väljumise eest).
Andmebaasihaldur
Andmebaaside ja kasutajate haldamine.
Cron
Ajastatud ülesanded liidese kaudu — ilma käsitsi crontab -e käsuta.
Varukoopiad
Varukoopiate loomine ja allalaadimine.
Terminal
Täisväärtuslik veebikonsool otse brauseris.
Monitooring
CPU/RAM/kettaruumi/võrgu näitajad reaalajas.

Võrk

Domeenid ja DNS
Kirjete haldamine, sh oma NS-server (saab olla oma DNS-tsooni registripidaja, mitte sõltuda ainult domeeni registripidajast).
Pordid / Firewall
Portide avamine/sulgemine, port forwarding.
VPN
WireGuard, konfiguratsioonide väljastamine töötajatele otse paneelist (mitte eraldi teenusena).
SSH
Serveri võtmete ja süsteemikasutajate haldamine.

Ettevõte

Töötajate kontod
Nimi, osakond, ametikoht, roll, detailsed õigused iga mooduli kohta eraldi (mitte "kõik või mitte midagi"), foto, vallandamine kuupäevaga, parooli lähtestamine.
Osakonnad ja ametikohad
Oma organisatsioonistruktuur koos hierarhiaga.
Ettevõtte meil
Oma meiliserver (WildDuck + Haraka + ZoneMTA), mitte renditud teenus. Korralik SPF/DKIM/DMARC/PTR — kirjad ei satu rämpsposti. Töötaja konto ja postkast luuakse korraga, ühe kasutajanime ja parooliga — mitte kahe eraldi mandaadiga.
Jagatud postkastid
info@, sales@ — juurdepääs antakse konkreetsetele inimestele ilma jagatud paroolita; iga saadetud kiri on märgistatud, kes meeskonnast selle tegelikult kirjutas — kergesti näha, kes kliendile vastas.
Klienditugi (piletisüsteem)
Pöördumiste kategooriad, kinnitused, eskaleerimine tugigruppide vahel, eraldi kliendiportaal omal alamdomeenil.
Ühekordne sisselogimine (SSO)
Üks kasutajanimi ja parool paneeli, meili ja ettevõtte saidi kabineti jaoks. Logid sisse ühte teenusesse — oled automaatselt sisse logitud ka teistesse, parooli uuesti sisestamata. Juurdepääs igale teenusele lülitatakse sisse iga töötaja kohta eraldi.

Süsteem

Auditilogi
Kes, mida ja millal paneelis muutis.
Teavitused
Kelluke sündmustega (uued piletid, ligipääsu andmine jms).
OAuth2/OIDC
Oma projekte saab ühendada klientidena, autentides Kursori kaudu.
API-võtmed
Väliste integratsioonide jaoks, seotud konkreetse projektiga.
Paneeli peenhäälestus
Oma domeen paneelile, pordi muutmine, IP-aadresside valge nimekiri, kaitse parooli äraarvamise eest (lukustus pärast ebaõnnestunud katseid).

Mis tuleb veel

Lähiajal
Kaheastmeline autentimine (2FA)

Lisakood sisselogimisel — pole veel realiseeritud.

Saidi päringute integreerimine piletisüsteemi

Tehniline päring saidi vormist läheb kohe piletina sisemisse klienditoesse, nupuga "suuna arendajale".

Paneeli enda turvalisuse tugevdamine

Otsese IP:port juurdepääsu sulgemine väljastpoolt (jätta ainult oma domeen HTTPS-iga), sessioooniküpsise kohustuslik krüpteerimine.

Pikas perspektiivis
Ühekordse sisselogimise laiendamine

Automaatselt kõigile uutele sisemistele teenustele, sama põhimõtte alusel.

Ühekordne sisselogimine tööarvutitesse

Tulevikuambitsioon — sama ühine kasutajanimi/parool ka töötajate tööarvutitesse sisselogimiseks (mitte ainult veebiteenustesse), eraldi ja rangema autentimisprotokolliga.

Sama mootorit, sama infrastruktuuri distsipliini saan üles seada ka teie projektile.

Arutame projekti