Avatar billede mnv_dk Praktikant
08. juli 2005 - 12:51 Der er 18 kommentarer og
1 løsning

Tillade MySQL på FC3

Hej Allesammen,

Har lidt problemer med min MySQL på en FC3 maskine. Den kører fint, men den virker ikke i PHP. PHP har simpelthen ikke adgang til den Socket. Så vidt jeg har kunnet se mig frem til er det grundet SELinux, for hvis jeg siger setenforce 0 og starter MySQL virker det fint.

Spørgsmælet er så hvordan få jeg på dne korrekte måde tilføjet at MySQL skal starte op uden SELinux, i konsollen. Ved man kan i den grafiske brugerflade, så derfor vil jeg også mene der bør være en konsol kommando til den, grundet jeg ikek har fysisk adgang til Maskinen, og sidder ca. 600 Km. væk over SSH.

På forhånd tak.
Avatar billede the_email Nybegynder
08. juli 2005 - 13:02 #1
Kan du ikke bare starte den med "/etc/init.d/mysql-server start" ?

/TheEmail
Avatar billede mnv_dk Praktikant
08. juli 2005 - 13:06 #2
Jo, men så skal jeg først sætte setenforce 0 og så starte den. Dvs. ved et reboot skal jeg manuelt en og starte MySQL for at den blivcer startet korrekt. Det er jo ikke helt optimalt :)
Avatar billede the_email Nybegynder
08. juli 2005 - 13:13 #3
Hvordan sætter du setenforce til 0?
Hvis det er ved at skrive en kommando i din konsol, kan du sætte denne kommando ind sammen med de andre startparametre i /etc/init.d/mysql-server .
Prøv at åbne /etc/init.d/mysql-server og find ned til det hvor der står noget i retningen af
start { blabla
/endnu/mere/blabla
}

Inden for de to {} skriver du den kommando som du sætter setenforce 0 med, så ku jeg forstille mig at det ville spille.


/TheEmail
Avatar billede mnv_dk Praktikant
08. juli 2005 - 13:57 #4
Ja, det ved jeg godt.... Men, der må være en mere rigtig måde at gøre det på.
Avatar billede lassebm Nybegynder
08. juli 2005 - 14:03 #5
Er ikke vant til at arbejde med redhat/fedora core, men mener ud kan lave noget lign

/sbin/chkconfig --level 2345 mysql-server on

Vil starte mysql-server i runlevel 2345
Avatar billede mnv_dk Praktikant
08. juli 2005 - 14:07 #6
Igen zyphon, det ændrer ikke pæ at den kører under SE Linux!
Avatar billede the_email Nybegynder
08. juli 2005 - 21:12 #7
Hvad er SE Linux? Og vil det forhindre den løsning jeg forslår?

/TheEmail
Avatar billede langbein Nybegynder
09. juli 2005 - 03:40 #8
"Hvad er SE Linux?"

Jo, det er faktisk et ganske viktig spørsmål hvis man anvender nye RedHat eller RedHat "derivater".

Gikk i gang med å teste ut og finne ut av dette på en Centos 4.0 (Gratis variant av RH Enterprice server 4.0) for noen uker siden. Husker ikke alle detaljer, men kan da forsøke å forsøke å gjengi noen av de konklusjoner som jeg kom fram til allikevell.

"Selinux" eller "Security-Enhanced Linux" er en variant av Linux kernel som har innebygget noen ekstra sikkerhetsfunksjoner som ikke finnes i den ordinære Linux kernel.

Som et slags grov eller meget enkel forklaring så kan man kanskje nærmest si det slik at selinux funksjonene virker som en slags "innvendig firewallfunksjon" (eller chroot miljø) mellom de forskjellige prosessene som kjører under linux. På denne måten så settes det bestemte regler for hva den enkelte prosess kan tillate seg, før de regelverket som følger av selinux trer i kraft og hindrer dette.

Litt mer forklaring her:
http://en.wikipedia.org/wiki/SELinux

Gjennom kommando setenforce så har man muligheten for å lage en midlertidig delvis disabling av selinux funksjonene.
http://linuxcommand.org/man_pages/setenforce8.html

Skal man lage en permanent disabling av selinux funksjonene så må man gjøre dette i grub oppstartfilen. Selinux medfører at det skrives fler sikkerhetsmassige filopplysninger i tilknytning til den enkelte fil enn det som finnes i en ordinær linux distribusjon. Dette medfører at dersom man lager en fullstendig disabling av selinux gjennom editering av grub oppstart filen, så er dette irreversibelt, dvs at det ikke er mulig å enable selinux på nytt igjen. Man må installere det hele på nytt.

Her har jeg gjemt bort en hel del detaljer, men det finnes en eller annen slags "policifil" eller noe liknende som setter de sikkerhetsmessige reglene for distribusjonen ("ala invendig firewall rules"). Kan ikke garantere at dette er rett konkjlusjon, men min konklusjon da jeg sjekket opp dette, det var i hvert fall at det å endre dette regelsettet for selinux var en så komplisert arbeidsoperasjon at det egentlig i praksis bare er de store distribørene, slik som for eksempel RedHat som har praktisk mulighet til å lage endringer i forhold til disse reglene.

Med andre ord - selinux medfører i praksis at den distribusjon som man har installert kjører med en hel del sikkerhetsmessige regler og begrensninger som man ikke en gang har mulighet til å vite hva er. Dette kan få installasjonen til å oppføre seg nærmest "irrasjonelt" eller "ufornuftig". Man har typisk sjekket opp alle ting som kan sjekkes opp, men det kjører allikevell ikke.

Jeg liker den sånn sett ikke helt. Synes selinux på et vis har noe "antiopensource" over seg. Den får linux installasjonen til å oppføre seg på bestemte måter uten at man egentlig helt vet hvorfor, merkelig atferd skyldes "hemmelige selinux rules" (Likner ikke dette nærmest på Windows ??).

Min konklusjon, rett eller galt, det var at enten så må man i prinsipp satse på å kjøre distribusjonen slik som den er på basis av standard pakker til distribusjonen, eller hvis man har behov for det mer spesielle, så må man konfigurere slik at selinux funksjonene blir satt permanent av.

I forhold til det konkrete spørsmål/tilfellet, så er da min erfaring av både standardinstallasjonene av php og mysql kjører problemfritt under selinux både for Core 3 og for Centos 4. (Fordi default "selinux rules" tillater standardpakkene å kjører.

Dersom det forholder seg slik at mysql ikke får kjøre under selinux, så vil jeg tro at det skulle skyldes at det dreier seg om en mysql installasjon som ikke er basert på de orginale mysql rpm's fra RedHat. Man har for eksempel laget en eller annen "uautorisert oppgradering" og så er man i konflikt med "selinux security rules".

I forhold til den konkrete problemstilling så vil jeg tro at valget reelt sett består mellom å reinstallere de orginale Core 3 pakkene og få alle andre modifikasjoner ut, eller å disable selinux funksjonene permanent.

Jeg hadde hest sett at min konklusjon ikke er riktig, og at selinux ikke har innebygget disse egentlig ganske omfattende ulempene.

Hvis det er andre som har testet ut eller som har andre konklusjoner, så ville det være ganske interessant med et par synspunkter.

Jeg ønsker fortrinnsvis ikke å ha rett med hensyn til det som står over (men jeg er bange for at det kan være rett.)

MVH Langbein.
Avatar billede langbein Nybegynder
09. juli 2005 - 09:43 #9
Her ser det ut til å være en del utdypende info (som jeg så langt ikke har lest):
http://www.nsa.gov/selinux/info/docs.cfm

Kom ellers på noe annet jeg har lest ett eller annet sted .. selinux funksjonene skal vist nok bidra med en ekstra "overhead" som redusrerer den totale ytelsen til en server med ca 5 % eller noe mer. Vet ikke hvor jeg har lest dette men det høres egenlig litt rimelig ut.

Og her er visst en beskrivelse vedrørende dette med å endre security policies, der altså min foreløpige konklusjon er at "det kan man i praksis ikke":
http://www.nsa.gov/selinux/papers/policy2-abs.cfm
Avatar billede langbein Nybegynder
09. juli 2005 - 09:53 #10
Avatar billede langbein Nybegynder
09. juli 2005 - 09:58 #11
Avatar billede mnv_dk Praktikant
09. juli 2005 - 09:58 #12
Well, langbein, tak for den meget gennemgående kommentar.
Jeg tror dog det jeg skal bruge er noget ala: http://forums.fedoraforum.org/showthread.php?t=31205

Men derimod undrer det mig at the_email, tillader sig at svare på et spørgsmål, uden han ved noget om det?

Men tak, point til dig langbein
Avatar billede langbein Nybegynder
09. juli 2005 - 10:19 #13
Avatar billede mnv_dk Praktikant
09. juli 2005 - 14:30 #14
Som tilføjelse kan jeg da sige at jeg tilføjede:

allow httpd_t unconfined_t:unix_stream_socket connectto;
allow httpd_t var_lib_t:sock_file write;

til
/etc/selinux/targeted/src/policy/domains/program/apache.te

og kørte derefter make reload i /etc/selinux/targeted/src/policy/ og så var der styr på det.
Avatar billede langbein Nybegynder
09. juli 2005 - 21:06 #15
Du verden ! Det betyr at det i realiteten (virkeligheten) fikk til å modifisere (en av) policy filen(e) ?!

Slik som jeg leste dokumentasjonen så skulle man utføre endringene i policy i en kildekode og så skulle man kompilere denne slik at den ble liggende på en ikke lesbar form. Dette stemmer altså ikke, og det lar seg altså gjøre å lese (og modifisere) policy rules (event noen av dem) i klartekst ?!

Har jeg forstått det rett ?! (Da kan det nok være at jeg eventuelt var litt for hurtig i min uttesting av selinux.)

MVH Langbein.
Avatar billede langbein Nybegynder
09. juli 2005 - 21:13 #16
Ennå en missforståelse fra min side ..

Det forholder seg slik at kildekoden for policies ligger der i klartekst slik at den kan modifiseres på en forholdsvis enkel måte.

Så rekompiles denne vha "make reload" .. Rett forstått denne gang ??
Avatar billede mnv_dk Praktikant
10. juli 2005 - 10:55 #17
Ja, man kan nok populært sige at du skal recompile policiesne hver gang.
Tricket er dog at hvis man ikke helt kan finde ud af policiesne, kan man når man får en fejl, køre:
audit2allow -i /var/log/messages -l

Der så kan fortælle digg hvilken policy du skal indsætte.
Avatar billede langbein Nybegynder
10. juli 2005 - 23:21 #18
Imponerende. Det var jo du som skulle hatt pointene og ikke meg.
Synes i alle fall at vi fikk fram en hel del info som så forhåpemtligvis senere kan brukes som en referanse for de som har bruk for info omkring denne problemstillingen (inklusive meg selv.)
Avatar billede mnv_dk Praktikant
10. juli 2005 - 23:27 #19
Ja, forhåbentlig kan det bruges for andre, jeg har ihvertfald lært en hel del.
Selvom jeg stadig ikke er helt imporneret. Ideen med det er god nok, men opbygningen er ikke fandes forståelig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester