Metin2 Server Güvenliği ve Bakımı

Whistle

Ruhsuz :/
Kurucu
Geliştirici
Yardımsever Üye
Mesaj
11.941
Çözümler
567
Beğeni
13.659
Puan
5.915
Ticaret Puanı
2
Konuya başlamadan önce birkaç şeyi belirtmek istiyorum. Bu konu
Linkleri görebilmek için giriş yap veya kayıt ol.
alınmıştır. Ufak tefek değişiklikler yapılmıştır. Rehberin asıl sahibi r10'da Pasha37'de aittir. Ancak orijinal konusunda kodların bulunduğu kısımlar bozulduğu için tekrardan revize ederek paylaşmak istedim.
Başlangıcı yaptığımıza göre konuya geçelim.

Bu konuda Metin2 server güvenliği ve bakımı ile ilgili rehber yer alacaktır. Firewall korumaları yer almaktadır. Eğer ne yaptığınızı bilmiyorsanız kesinlikle bu işe koyulmayın. Yine de anlatılanları uygulamak istiyorsanız serverin yedeğini almanız gerekmektedir. Oluşan herhangi bir sorunda sorumluluk kabul etmiyorum.

Başlamadan önce kendimden bir şeyler söylemek istiyorum...
Bu rehberi zamanında başarıyla uyguladım ve olumlu sonuç almıştım. Şuan için olumlu sonuç verir mi bilmiyorum ancak ben yine de revize edip paylaşmanın mantıklı olduğunu düşünüyorum.
Fazla uzatmadan anlatımlara başlayalım. Tekrardan belirtiyorum. İşlemleri yapmadan önce makinanın yedeğini alınız.

PF ve IPFW Anlatımı​

1.1) PF (Packet Filter) Derleme ve Yapılandırma​

1.1.1) Derleme​

Bu aşamada yapılacaklar şunlardır (içindekiler :D);
  • 1.1.1.1) Kernel kaynağı indirilecek.
  • 1.1.1.2) Başlatıcı düzenlenecek.
  • 1.1.1.3) Konfigürasyon dosyası yeni kernel için yapılandırılacak.
  • 1.1.1.4) Yeni kernel derlenecek.

1.1.1.1) Kernal kaynağı​

İlk önce kkernak kaynağını indirmeniz gerekiyor.
Freebsd 9.3 için;
Kod:
Genişlet Daralt Kopyala
sysinstall [enter] --> [seçin]
configure [enter] --> [seçin]
src [enter] --> seçin
base ve sys [işaretleyin] --> [sağ sol tuş ile alttan ok'u seçin] --> [enter]
FTP [enter]
main site [enter] --> bekleyin
sysinstall'e kadar geri dönün

Güncell freebsd sürümlerini kullananlar bsdinstall yazmalı.

Bu aşama bitti. Bu şekilde kernel çekirdeğini güncelledik. Artık çalışabilir ve ihtiyacımıza göre düzenlenebilir hale getirdik.

1.1.1.2) Başlatıcı Düzenleme​

PF'in gerekli izinlerini sağlamak için başlatıcıyı düzenlememiz gerekiyor. Aşağıdaki komutu putty'den uygulayın.
Bash:
Genişlet Daralt Kopyala
cd /boot/defaults && ee loader.conf

Daha sonra dosyanın içine aşağıda yazan;
Kod:
Genişlet Daralt Kopyala
PF_LOAD="NO"

Kısımı şu şekilde düzenleyin.
Kod:
Genişlet Daralt Kopyala
PF_LOAD="YES"

Daha sonra esc tuşuna bir kere basın ve iki ere a seçeneğini seçerek dosyayı kayıt edin.
Bu aşama bitti. Sıradaki aşamaya geçelim. :)

1.1.1.3) Konfigürasyon Dosyasını Yeni Kernel için Yapılandırma​

Konfigürasyon çekirdek seçeneklerini PF için düzenleyelim.
32bit(i386) - 64bit(amd64) sistemler için 2 farklı yol mevcut.

32bit (i386) kullananlar;
Bash:
Genişlet Daralt Kopyala
cd /usr/src/sys/i386/conf

64bit (amd64) kullananlar;
Bash:
Genişlet Daralt Kopyala
cd /usr/src/sys/amd64/conf

Komutunu uygulayınız.
Kendi sisteminiz için uygun olan komutları girdikten sonra aşağıda vereceğim komut ile GENERIC konfigürasyon dosyasını kopyalayın.
Bash:
Genişlet Daralt Kopyala
cp GENERIC bizim-cekirdegimiz

Örnek;
Bash:
Genişlet Daralt Kopyala
cp GENERIC Whistle

Bu komuttan sonra konfigürasyon dosyasını düzenleme zamanı.
Bash:
Genişlet Daralt Kopyala
ee Whistle

"Options" yerine aşağıdaki seçenekleri ekleyelim.
Kod:
Genişlet Daralt Kopyala
device[TAB][TAB]pf
device[TAB][TAB]pflog
device[TAB][TAB]pfsync
options[TAB][TAB]ALTQ
options[TAB][TAB]ALTQ_CBQ
options[TAB][TAB]ALTQ_RED
options[TAB][TAB]ALTQ_RIO
options[TAB][TAB]ALTQ_HFSC
options[TAB][TAB]ALTQ_PRIQ
options[TAB][TAB]ALTQ_NOPCC

Not: [TAB] => Notepad++'de tab tuşu ile oluşturacağınız boşluk. (4 tane boşluk anlamına gelir.)
Bu aşama da bitti :)

1.1.1.4) Yeni Kerneli Derlemek​

Şimdi PF kısmının son aşaması olan çekirdek derleme kısmına geldik.
Yalnız burada bir şey söyleyeyim. Daha önce Casro2 serveri için bu rehberi uygularken çekirdek derleme işlemenin uzun bi zaman aldığını fark ettim.
Eğer vaktiniz varsa bu işlemi başlatın. :D

Eğer hazırım diyorsanız o halde derleyelim :)

Aşağıdaki komutları girin. (Daha önce oluşturduğunuz kernel adını girmelisiniz)
Bash:
Genişlet Daralt Kopyala
cd /usr/src && make buildkernel KERNCONF=Whistle && make installkernel KERNCONF=Whistle

Bu komutu girdikten sonra kernel derlenmeye başlayacak. İşlemler bitene kadar bekleyin.

1.1.2) Başlangıç ve Komutlar​

Şimdi başlangıç dosyasını düzenleme ve size temel komutları verme zamanı geldi.
Bu aşamada yapacaklarımız bunlardır. (İçindekiler :D)
  • 1.1.2.1) Sistem Başlangıcını Ayarlamak
  • 1.1.2.2) Komutlar
  • 1.1.2.3) PF Kurallarını Oluşturmak

1.1.2.1) Sistem Başlangıcını Ayarlamak​

Aşağıdaki komutları yazdıktan sonra rc.conf dosyasını düzenleyin.
Bash:
Genişlet Daralt Kopyala
ee /etc/rc.conf

Aşağıdaki içeriği dosyanın içeriğine yapıştırın. (CTRL + C ile kopyalayın daha sonra putty ekranında farenin sağ tık tuşuna basın.)
Kod:
Genişlet Daralt Kopyala
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/whistle-pflog"
pflog_flags=""

Bu sistem başladığımda otomatik olarak pf kurallarını aktif edecek. Ancak daha kuralları oluşturmadık. O halde bir sonraki aşamaya geçelim. :)
PF Komutları
Bash:
Genişlet Daralt Kopyala
/etc/rc.d/pf restart | start | stop
Türkçesi: PF yeniden başlat | aç | kapat
Bash:
Genişlet Daralt Kopyala
pfctl -F all -f /etc/pf.conf
PF kurallarını yeniden yükler ve PF'yi yeniden başlatır.

PF kurallarını oluşturmak için son adıma geçelim.

1.1.2.3) PF Kurallarını Oluşturmak​

PF.conf dosyamızda bulunan PF kuralları önemli parça olduğundan dolayı onlar olmadan kernel işlemlerini yapamayız. Şimdi size örnek olması bakımından hazır kuralları verip nasıl uygulayacağımızı göstereceğim.

İlk önce PF dosyamızı oluşturuyoruz.
Bash:
Genişlet Daralt Kopyala
ee /etc/pf.conf

Kuralları yazmaya başlıyoruz...
Öncelikle rahatça kendi kurallarınızı yazabilirsiniz. Kendi değişikliklerinizi ve yapılandırmalarınızı yapabilirsiniz. Yaygın bir makro mevcut.
Şimdi, aşağıda anlatacağım kurallar ile tamamen kendi kurallarımızı içeren PF oluşturabiliriz.

  1. Makro
  2. Zaman bağlantısı üzerinden yönetim seçenekleri
  3. Parçanmış veya kırık paketlerin sunulması
  4. Standart paketleri
  5. Trafik yoğunluğu gibi bant genişliği kontrol yöntemi
  6. Çeviri paketi
  7. Yönlendirme - Filreleme kuralları
  8. Paket filtreleme

Kuralların PF işlevleri;
Kurallarda PF işaretleme koşul ve protokolleri:
Her kural gibi PF'nin de kendi koşul, bayrak ve protokolleri vardır.​
Ayrıca TCP (Genellikle ICMP) üzerinden kullanılan Port taraması, Port engellemeye vs izin verir.​
Bunun için bu kuralları bilmek ve çeşitli setler ile bu kurallarını değerlerini değiştirmek yeterlidir.​

Koşullar:
Kod:
Genişlet Daralt Kopyala
pass - Kilidi kaldırmak için kullanılan koşul, paket geçme izni, port kilidi açma vs.
block - pass karşısında paket, port vs engellemek için kullanılan koşul
quick - PF'de belirli bir kuralı durdurmak, kuralları ve akışı görüntülemesini iptal etmek (ağ güvenliği için yararlı) kullanılan koşul.
proto - Protokol, örneğin TCP protolünü tanımlar.

Argümanlar:
Kod:
Genişlet Daralt Kopyala
any - Tüm kaynaklardan
from - Bir yerden bir yere ("from any to any" gibi)
all - Tümü (örneğin herşeyi engellemek için)
on - ne, hangi kartı
in / out - paket ve kurallarda giriş çıkışları kontrol etmek için
max 'num' (Örnek: "max 200")  istek paketin byte boyutunu belirler

Protokoller:
Kod:
Genişlet Daralt Kopyala
TCP - Unix üzerinden hemen hemen her yerde kullanabilirsiniz, port tarama, bağlantı noktası tarama vs standart ve en yaygın kullanılan protokol. Whistle
UDP - İletim ve Birleştirme için standart bir protokol Saldırılarda genellikle DoS saldırılarında tespit için olan protokol sınırı çok azdır.
ICMP -  Genellikle sistemin kendi aktif bağlantıları, engellenmemiş bağlantıları kontrol etmek için kullanılan protokol
ICMP6 -  -Whistle-

PF Koşulları:
Kod:
Genişlet Daralt Kopyala
modulate state - Durumu değiştirir, daha iyi bir pf için kullanılır
keep state -  Aşırı yükte iletişimi kesmek için kullanılır

PF koşulları, saldırılardan ağı korumak için çok önemlidir.

TCP İşaretlemeleri:
Kod:
Genişlet Daralt Kopyala
F -- FIN, Bağlantıyı kapatma 
S -- SYN, Bağlantıyı açma 
R -- RST, Bağlantıyı yeniden başlatma
P -- PSH, Verilerin gelen trafiğini kontrol etmek için
A -- ACK, Alınanlar paketler için 
U -- URG, Paketin acil olduğunu belirtmek için
Bu işaretlemeler sadece TCP protokolü için geçerlidir.

Artık kendi kurallarınızı yazabilmek için yeterli örnekler bulunuyor. :)
PF temel kuralları bitti.

Sızıntı için herhangi bir kombinasyon:
Kod:
Genişlet Daralt Kopyala
#makro
int_if = "em1"
ext_if = "em0"




#PF kurallari
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
pass in on $ext_if proto tcp all modulate state flags S/SA
pass in on $ext_if proto { udp, icmp } all keep state
pass quick on lo0 all


Hazır orta sınıf kurallar:
Kod:
Genişlet Daralt Kopyala
ext_if="em0"
int_if="em1"
***_net="10.0.0.0/24"
tcp_services="{ 3306, 22 }"
udp_services="{ 3306, 22 }"
icmp_types="echoreq"
set skip on lo0
set block-policy return
set loginterface $ext_if
scrub in all
block in on $ext_if
pass in on $int_if from $***_net to any
pass out on $int_if from any to $***_net
antispoof log quick for $int_if
pass in on $ext_if proto tcp from any to any port $tcp_services modulate state flags S/SA
pass in on $ext_if proto udp from any to any port $udp_services keep state
pass out on $ext_if proto tcp from any to any port $tcp_services modulate state flags S/SA
pass out on $ext_if proto udp from any to any port $udp_services keep state
pass in on $ext_if proto { tcp, udp } from any to $ext_if port 53
pass in inet proto icmp all icmp-type $icmp_types keep state
pass out on $ext_if proto { tcp, udp, icmp } all


1.2) IPFW (IP Firewall) Kurulumu:​

Şimdi size serveriniz için güvenlik duvarı oluşturmayı göstereceğim.

Putty'i açın ve aşağıdaki komutları uygulayın.
Freebsd 9.x kullananlar;
Bash:
Genişlet Daralt Kopyala
sysinstall

Güncel Freebsd kullananlar;
Bash:
Genişlet Daralt Kopyala
bsdinstall

Karşınıza menü gelecek. Sırayla configure > distributions > src seçeneklerini seçin.
Daha sonra sys'yi işaretleyin ve sağ - sol tuşlar ile aşağıdan "OK" tuşunu seçin ve devam edin.
Kod:
Genişlet Daralt Kopyala
ok > FTP > URL

Şimdi aşağıdaki komutları uygulayın.
Kendi freebsd sürümünüzü uname -a ile öğrenebilirsiniz. Dosyalara erişmek için
Linkleri görebilmek için giriş yap veya kayıt ol.
tıklayın. Daha eski freebsd sürümlerine erişmek için ise
Linkleri görebilmek için giriş yap veya kayıt ol.
tıklayın.

9.3 sürümü kullananlar;
64bit (amd64);
Bash:
Genişlet Daralt Kopyala
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/9.3-RELEASE/

32bit (i386);
Bash:
Genişlet Daralt Kopyala
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/9.3-RELEASE/


12.1 sürümünü kulananlar;
64bit (amd64);
Bash:
Genişlet Daralt Kopyala
ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.1-RELEASE/

32bit (i386);
Bash:
Genişlet Daralt Kopyala
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/12.1-RELEASE/

Daha sonra yes diyoruz. Dosyaları indirmek için aşağıdaki komutları giriyoruz.

64 bit;
Bash:
Genişlet Daralt Kopyala
cd /usr/src/sys/amd64/conf

32 bit;
Bash:
Genişlet Daralt Kopyala
cd /usr/src/sys/i386/conf

Daha sonra şu komutları uygulayın;
Bash:
Genişlet Daralt Kopyala
cp GENERIC IPFWKERNEL
ee IPFWKERNEL

Ve "options" bölümünü bulup ekliyoruz.
Kod:
Genişlet Daralt Kopyala
options[tab][tab]IPFIREWALL # IPFW için gerekli
options[tab][tab]IPFIREWALL_VERBOSE # LOG için gerekli
options[tab][tab]IPFIREWALL_VERBOSE_LIMIT=10 # Giriş limiti
options[tab][tab]IPDIVERT # NATD için gerekli

Daha sonra esc tuşuna basın ve iki kere a seçeğini seçin.

Daha sonra sırayla şu komutları yazın;
Bash:
Genişlet Daralt Kopyala
cd /usr/src && make buildkernel KERNCONF=IPFWKERNEL
make installkernel KERNCONF=IPFWKERNEL

Daha sonra rc.conf dosyamızı yapılandıralım
Bash:
Genişlet Daralt Kopyala
ee /etc/rc.conf

Ve dosyanın sonuna ekleyin
Kod:
Genişlet Daralt Kopyala
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"

Daha sonra esc tuşuna basın ve dosyayı kaydedin.

Şimdi ipfw.rules dosyamızı oluşturma zamanı.
Şu komutu yazın;
Bash:
Genişlet Daralt Kopyala
ee /etc/ipfw.rules

Dosyanın içeriğine şunları eklerin;
Kod:
Genişlet Daralt Kopyala
IPF="ipfw -q add"
ipfw -q -f flush




#loopback
$IPF 10 allow all from any to any via lo0
$IPF 20 deny all from any to 127.0.0.0/8
$IPF 30 deny all from 127.0.0.0/8 to any
$IPF 40 deny tcp from any to any frag




# statefull
$IPF 50 check-state
$IPF 60 allow tcp from any to any established
$IPF 70 allow all from any to any out keep-state
$IPF 80 allow icmp from any to any




# open port ftp (20,21), ssh (22), mail (25)
# http (80), dns (53) etc
$IPF 110 allow tcp from any to any 21 in
$IPF 120 allow tcp from any to any 21 out
$IPF 130 allow tcp from any to any 22 in
$IPF 140 allow tcp from any to any 22 out
$IPF 150 allow tcp from any to any 25 in
$IPF 160 allow tcp from any to any 25 out
$IPF 170 allow udp from any to any 53 in
$IPF 175 allow tcp from any to any 53 in
$IPF 180 allow udp from any to any 53 out
$IPF 185 allow tcp from any to any 53 out
$IPF 200 allow tcp from any to any 80 in
$IPF 210 allow tcp from any to any 80 out




# deny and log everything
$IPF 500 deny log all from any to any

Daha sonra dosyayı kaydedin ve aşadağıki komutu girerek izinleri ayarlayın.
Bash:
Genişlet Daralt Kopyala
chmod -R 777 /etc/ipfw.rules

Tüm işlemleri bitirdikten sonra sistemi yeniden başlatmak için reboot komutunu giriniz.

IPFW Komutları:​

Kod:
Genişlet Daralt Kopyala
service ipfw start - IPFW Başlatır
service ipfw restart - IPFW Yeniden Başlatır
service ipfw stop - IPFW Durdurur

Port Eklemek:​

Filezilla veya Winscp programları ile servere bağlanın ve /etc/ dizinine gidin. Daha sonra ipfw.rules dosyasını açın ve aşağıdaki örnekteki gibi portları ekleyin.
Kod:
Genişlet Daralt Kopyala
$IPF 200 allow all from any to any 11002 in
$IPF 210 allow all from any to any 11002 out

IPFW'den Yasaklama Verilmesi:​

Kod:
Genişlet Daralt Kopyala
# IP yasaklari
# Ornek
$IPF 100 deny all from IP/32 to any in
$IPF 101 deny all from IP/32 to any in
# SSH, Mysql yasakları
$IPF 120 deny log all from IP/20 to any 22 in
$IPF 121 deny log all from IP/20 to any 22 in
$IPF 122 deny log all from IP/20 to any 3306 in
$IPF 123 deny log all from IP/20 to any 3306 in


1.3) Rc.conf Kurulum​

rc.conf dosyasını düzenlemek için aşağıdaki komutu giriniz.
Bash:
Genişlet Daralt Kopyala
ee /etc/rc.conf

Ve aşağıdaki kodları yapıştırın.
Kod:
Genişlet Daralt Kopyala
#######################
####AĞ Değerleri####
#######################




sshd_enable="YES"
mysql_enable="YES"
apache22_enable="YES"
ntpdate_enable="YES"
ntpdate_hosts="213.186.33.99"




###################
####Bakım####
###################
fsck_y_enable="YES"
clear_tmp_enable="YES"
named_enable="YES"




#############################
####AĞ Yapılandırması####
#############################




ifconfig_em0="inet 37.59.18.89 netmask 255.255.255.0 broadcast 37.59.18.255"
defaultrouter="37.59.18.254"
hostname="ns232361.ovh.net"




######################
####Güvenlik####
######################




icmp_drop_redirect="YES"
icmp_log_redirect="YES"
tcp_drop_synfin="YES"
icmp_bmcastecho="NO"
icmp_bandlim="YES"
clear_tmp_enable="YES"




#################
####Firewall####
#################




firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
firewall_logging="YES"
natd_enable="YES"
natd_interface="em0"
natd_flags="-dynamic -m"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""












#################
####Diğer####
#################




# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"


1.4) Hazır PF Conf​

pf.conf dosyasını düzenlemek için aşağıdaki komutu girin.
Bash:
Genişlet Daralt Kopyala
ee /etc/pf.conf

Daha sonra şunları yapıştırın;
Kod:
Genişlet Daralt Kopyala
#################
###PF Kurallari  :###
#################




#makro
ext_if="re0"
***_net="10.0.0.0/24"
tcp_services="{ 9987, 3306, 22, 53, 25 }"
#udp_services="{ 3306, 25, 53, 22 }"
icmp_types="echoreq"




#filtre
set skip on lo0
set optimization normal
set ruleset-optimization basic
set require-order yes
set block-policy return
set loginterface $ext_if
set state-policy if-bound
scrub in all
scrub on $ext_if fragment drop-ovl
scrub on $ext_if all reassemble tcp
block in quick from urpf-failed
block in quick from urpf-failed label uRPF
antispoof log quick for $ext_if




#loopback
pass out quick on lo0 proto tcp all
pass in quick on lo0 proto tcp all keep state




#istisnalar




#seçilen oslar
pass in quick on $ext_if from any os Windows keep state
pass in quick on $ext_if from any os "Windows XP" keep state
pass in quick on $ext_if from any os "Windows Vista" keep state
pass in quick on $ext_if from any os "Windows 7" keep state
pass in quick on $ext_if from any os unknown keep state




#engellenen oslar
block in quick on $ext_if from any os "Linux 2.4 ts"
#block in quick on $ext_if from any os unknown
block in quick on $ext_if from any os OpenBSD
block in quick on $ext_if from any os Linux
block in quick on $ext_if from any os Debian




#engelli ipler
table <blockip> persist file "/etc/blockip.txt"
block in quick on $ext_if from <blockip> to any




#port yönlendirme
pass in quick on $ext_if proto tcp from any to any port $tcp_services keep state flags S/SA
pass out quick on $ext_if proto tcp from any to any port $tcp_services keep state flags S/SA
#pass in quick on $ext_if proto udp from any to any port $udp_services keep state
#pass out quick on $ext_if proto udp from any to any port $udp_services keep state
pass in quick inet proto icmp all icmp-type $icmp_types keep state
pass out quick on $ext_if proto { tcp, udp, icmp } all modulate state




#varsayılan kilit
block return
block in all
block out all


1.5) Sysctl.conf Düzenleme​

Aşağıdaki komutu yazın
Bash:
Genişlet Daralt Kopyala
sysctl -a

Her şey sorunsuz ise şu mesaj çıkmalıdır.
% sysctl kern.maxproc

Şimdi konfigürasyona girip sysctl düzenleme zamanı
Bash:
Genişlet Daralt Kopyala
ee /etc/sysctl.conf

Örnek yapılandırma;
Kod:
Genişlet Daralt Kopyala
# $FreeBSD: release/9.0.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#




# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0




##########################################
####Sınırlama ve Ağ ayarları####
##########################################




n#security.bsd.see_other_uids=0
security.bsd.see_other_uids=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.ip.ttl=128
kern.maxfilesperproc=200000
kern.maxvnodes=600000
kern.maxfiles=204800
kern.ipc.maxsockbuf=16777216
kern.ipc.shmmax=1073741824
kern.ipc.somaxconn=32768
kern.ipc.shmall=134217728
net.inet.tcp.rfc1323=1
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=262144
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=524288
net.inet.tcp.hostcache.expire=1
net.inet.ip.redirect=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.icmp.maskrepl=0
net.inet.icmp.log_redirect=0
net.inet.icmp.drop_redirect=1
net.inet.tcp.drop_synfin=1
net.inet.tcp.msl=5000
net.inet.tcp.fast_finwait2_recycle=1
net.inet.ip.intr_queue_maxlen=4096
net.inet.ip.forwarding=1
net.inet.ip.fastforwarding=1
net.inet.tcp.ecn.enable=1
net.inet.ip.random_id=1
net.inet.tcp.log_in_vain=0
net.inet.tcp.log_debug=0
net.inet.udp.log_in_vain=0
kern.random.sys.harvest.ethernet=0
kern.random.sys.harvest.interrupt=0
kern.random.sys.harvest.point_to_point=0
net.inet.icmp.icmplim=40
net.inet.tcp.delayed_ack=1
net.inet.tcp.mssdflt=1460
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.recvspace=65536
net.inet.tcp.sendspace=65536
net.inet.udp.recvspace=65536
net.local.stream.recvspace=65536
net.inet6.ip6.accept_rtadv=0
net.inet6.ip6.auto_linklocal=0




kern.ipc.nmbjumbop=192000
net.inet.tcp.maxtcptw=163840




net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.cc.algorithm=htcp
net.inet.tcp.hostcache.expire=5400
net.route.netisr_maxqlen=4096
net.inet.tcp.nolocaltimewait=1
net.local.stream.sendspace=163840
net.local.stream.recvspace=163840
net.inet.tcp.local_slowstart_flightsize=32
net.inet.tcp.slowstart_flightsize=32
net.inet.tcp.rfc3390=0
net.inet.tcp.syncache.rexmtlimit=1
net.inet.ip.rtexpire=2




net.inet.ip.check_interface=1
net.inet.ip.portrange.randomized=1
net.inet.ip.process_options=0
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskfake=0




vfs.read_max=128




net.link.ether.inet.log_arp_movements=0
net.inet.tcp.log_in_vain=1
net.inet.udp.log_in_vain=1
net.inet.ip.rtminexpire=2
net.inet.tcp.icmp_may_rst=0








#####################
####IPFW Firewall####
#####################




net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5



1.6) Kernel Güvenliğini Arttırmak​

Kernel güvenliğini arttırmak için şu komutu uygulayın
Bash:
Genişlet Daralt Kopyala
sysctl kern.securelevel=9



1.7) SSH Portu Değiştirme​

Ftp ve ssh erişimi için 22 portu kullanılır. Bunu değiştirmek için /etc/sshd/sshd.conf içerisindeki 22 değerini değiştirebilirsiniz.



1.8) MySQL Port Değiştirme​


Kod:
Genişlet Daralt Kopyala
Putty'e Giriniz ve Aşağıdaki Komutu Yazınız
cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf


Kodu Yazıp ENTER Tuşuna Basınız ve Alttaki Komutu Yazınız.


ee /var/db/mysql/my.cnf


Karşınıza Gelen Ekranda Aşağıdaki Yerleri Değiştiriniz


[client] Kısmındaki
port     = 3306
3306 Yerine Yeni Portunuzu Giriniz Max 4 Hane 4295 Gibi
Sonra Az Daha Aşağı Doğru İniniz


[mysqld] Kısmındaki
port     = 3306
3306 Yerine Üsste Girdiğiniz Yeni Portunuzu Tekrar Giriniz Hatasız Girmeye Özen Gösterin Yoksa MYSQL Bağlantınız Kopar


Portları Düzenledikten Sonra ESC Tuşuna Basınız ve 2 Kere ENTER Tuşuna Basınız .
Ana Ekrana Dönünce reboot Atınız. Artık Yeni Portunuz Aktif. MYSQL Bağlanırken Navicattaki 3306 Yerine Yeni Portunuzu Giriniz


Bu konu bu kadardır. Konuyu yazmaya başlayandan bu yana 2 saat geçmiş. :)
Diğer güvenlik önlemleri için sitemizdeki rehber konularına bakabilirsiniz ve Metin2 Sıfırdan Altyapı Server Files Hazırlama Rehberi 'nde gösterdiğim güvenlik önlemlerine bakabilirsiniz.
 
Son düzenleme:
Buram buram emek koktu.. Ellerinize sağlık.
 
Geri
Üst