Translate

четвртак, 4. децембар 2014.

Exchange podesavanje anti-spam i anti-malware agenta



I tako instalirao ja Exchange 2013, radilo sve super do nekog momenta I onda se pojavi moja IP adresa na nekoj crnoj listi J.

Gde god da sam gledao, navodno moj Exchange server salje spam poruke. I sta sad?

Evo kratkog uputstva sta treba uraditi nakon instaliranja I konfigurisanja exchange servera

Exchange ima integrisan anti-spam I anti-malware koji po defoltu nisu ukljuceni, tako da je prvo potrebno to ukljuciti ukoliko se ne koristi neka druga aplikacija.

Sve se radi u exchange shell-u

1.     Enejblovanje anti-spam: Install-AntiSpamAgents.ps1

Skripta koju je potrebno pokrenuti kroz exchange shell, na primer:

D:\ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1

Ukoliko prodje bez greske, to je to, potrebno je nakon instalacije restartovati Microsoft Exchange Transport Service I to se radi komandom

Restart-Service MSExchangeTransport
 

2.     Enejblovanje anti-malware: Update-MalwareFilteringServer.ps1

Isto skripta koja se pokrece kroz exchange shell

D:\ExchangeInstallPath\Scripts\Update-MalwareFilteringServer.ps1 -Identity mail.domain.co.rs

I nakon toga treba podesiti anti-malware policy


U svakom slucaju, ovo moze da se resi uz neka dodatna podesavanja I skriptom koja u mom slucaju izgleda ovako:


D:\ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1

Restart-Service MSExchangeTransport

D:\ExchangeInstallPath\Scripts\Update-MalwareFilteringServer.ps1 -Identity mail.domain.co.rs

Add-IPBlockListProvider -name bl.spamcop.net -lookupdomain bl.spamcop.net

Add-IPBlockListProvider -name zen.spamhaus.org -lookupdomain zen.spamhaus.org

Set-SenderIDConfig -SpoofedDomainAction Delete

Set-SenderReputationConfig -SenderBlockingEnabled $true -SrlBlockThreshold 6 -SenderBlockingPeriod 36

Set-SenderFilterConfig -BlankSenderBlockingEnabled $true

Set-ContentFilterConfig -SCLQuarantineThreshold 6

Set-ContentFilterConfig -SCLDeleteEnabled $true

Set-ContentFilterConfig -SCLQuarantineEnabled $true -QuarantineMailbox nikola.batinica@domain.co.rs

Set-ContentFilterConfig -SCLRejectEnabled $false

Skripta instalira anti-spam agent, restartuje servis I onda instalira anti-malware agent. Nakon toga skripta dodaje provajdere crne liste, ja sam izabrao spamcop I spamhaus. Nakon toga zabranjuje slanje mejlova koji u sebi ne sadrze from polje I na kraju podesava karantin, koji je u ovom slucaju moj mailbox tako da cu znati ukoliko neko salje spam poruke.

Nakon svega toga, pojavio se drugi problem J a to je da sam konstantno dobijao poruke

Delivery of this message to the following recipients or groups is quarantined:
HealthMailboxb194110f43af4e40bab197217e78e76c@domain.co.rs
Subject: Inbound proxy probe
Diagnostic information for administrators:
Generating server: mail.domain.co.rs


 Kad sam pokusao da izvrsim komandu
Get-Mailbox -Monitoring | Get-MailboxStatistics | ft DisplayName,ItemCount,LastLogonTime

Dobio sam izuzetnu kolicinu crvenih redova

WARNING: The object corp.jeanedwards.com/Microsoft Exchange System Objects/Monitoring
Mailboxes/HealthMailbox5080fe21fac14746b352d7de663fdcf9 has been corrupted, and it's in an inconsistent state. The following validation errors happened:

Ovaj problem moze da se resi tako sto ce se u ADSI Edit obrisati mailbox-ovi za sve Health koji imaju problem, ja sam obrisao sve J ali prilikom restartovanja servisa kreirana su tri nova healthmailbox-a I nakon toga sve radi ok.

Ukoliko treba da neku mejl adresu pustite iako se nalazi na blacklist, to se moze uraditi

$list = (Get-ContentFilterConfig).BypassedSenders
$list.add("mail@domain.com")
Set-ContentFilterConfig -BypassedSenders $list








уторак, 21. октобар 2014.

Powershell skripta za bekap

Ova skripta preuzima spisak fajlova (lokacija, destinacija za bekap, rename) i po spisku kopira sve gajlove na odredjene lokacije, dodatno postoji i polje rename koje, ukoliko je "YES" preimenuje fajl



$1 = import-csv C:\Test\Book1.csv
$date = (Get-Date).ToString('yyyy-MM-dd')
foreach ($file in $1) {
$rename = $file.rename
If ($rename -eq "Yes") {$putanja = $file.putanja
    $destinacija = $file.destinacija
    $fileproperty = Get-ItemProperty -Path $putanja
    $filename = $fileproperty.BaseName
    $filextension = $fileproperty.Extension
    $Renamed = $filename+'_'+$date+$filextension
    Copy-Item -Path $putanja -Destination $destinacija\$Renamed}
else {$putanja = $file.putanja
    $destinacija = $file.destinacija
    $fileproperty = Get-ItemProperty -Path $putanja
    $name = $fileproperty.name
    Copy-Item -Path $putanja -Destination $destinacija\$name}
}

CSV fajl treba da bude sa sledecim kolonama: putanja,destinacija, rename

среда, 2. јул 2014.

Brisanje Healthy (Recovery Partition) i Healthy (EFI System Partition) particije

1. Otvoriti CMD kao administrator.

2. Pokrenuti DISKPART tako sto ce se u CMD ukucati DISKPART.

3. U diskpart ukucati LIST DISK da bi izlistao sve HDD.

4. Izabrati disk, ukoliko postoji samo jedan disk treba kucati SELECT DISK 0

5. Nakon izbora diska, kucate LIST PARTITION da bi se izlistale sve moguce particije.









6. Izabrati particiju koju zelite da obrisete komandom SELECT PARTITION x(broj particije) Vazno je da pazite da ne pogresite sa izborom particije

7. I na kraju komandom DELETE PARTITION OVERRIDE brisete izabranu particiju.



уторак, 10. јун 2014.

SQL index

 Jedna od veoma važnih aktivnosti prilikom dizajniranja baze podataka je pravilno definisanje tabela. Prilikom ovoga SQL server ne vodi računa o fizičkom smeštaju podataka, osim ograničenja tipom podatka i definisanjem primarnog ključa. Ali ovim se ne vrše nikakve optimizacije nad tabelama radi bržeg odziva, tj. vraćanja rezultata upita. Za ovo je zadužen mehanizam indeksa tabela koje mi moramo da definišemo. Zamislite slučaj da nema indeksa, prilikom nekog upita server bi morao da prođe kroz sve slogove u tabeli u cilju pronalaska odgovarajućih slogova. U slučaju ogromnih baza podataka, vreme potrebno za vraćanje rezultata upita je mnogo duže nego kada se definišu indeksi.
Kao primer navešćemo analogiju između SQL baze podataka i medicinske kartoteke. Slučaj kada nemamo definisane indekse, analogan je neuređenoj kartoteci, tj. kartoteci koja nije složena ni po jednom osnovu. Kada bi recimo medicinska sestra trebalo da pronađe neki karton osiguranika, verovatno bi krenula sa jednog kraja i redom pretraživala, sve dok ne bi naišla na odgovarajući. Kada se cela kartoteka složi recimo po početnom slovu prezimena, pretraga za određenim kartonom je neuporedivo brža. Sada zamislite da se kartoteka može poređati i po: godini rođenja, mestu rođenja, polu i sl. Na ovaj način smo kreirali kataloge, pa kada tražimo određeni karton, prvo pogledamo u katalog, vidimo gde se nalazi karton (na kojoj polici – adresa) i idemo odmah da ga nađemo. Sve ovo je analogno indeksima baze podataka, što znači da su indeksi katalozi o podacima u određenim tabelama. Indeksi su još jedna vrsta informacije koja se mora čuvati i za njih se mora odvojiti memorijski prostor unutar baze podataka.
Određivanje indeksa se vrši u odnosu na sam kontekst baze podataka, zbog najbolje optimizacije definisanih upita. Osnovna SQL sintaksa za kreiranje indeksa je sledeća:

CREATE INDEX /naziv_indeksa/

ON /naziv_tabele/ (naziv_polja1, naziv_polja2…);


Evo kako bi indeksirali tabelu o nekakvim proizvodima koji pored drugih obeležja imaju i obeležje „Šifra artikla“, te ćemo po ovom obeležju indeksirati tabelu:


CREATE INDEX Index_SifraPro

ON Artikli (Sifra);