Canvas Nedir?

Canvas, uzak ağları test etmek için 800’den fazla istismar sunan Metasploit’e mükemmel bir alternatiftir. 

  • Dtomatik bir penetrasyon sistemi
  • Dünya çapında penetrasyon test cihazları ve güvenlik uzmanları için kapsamlı güvenilir penetrasyon geliştirme çerçevesi


Canvas’ın ana özellikleri şunlardır:

  • Uzak sistemlerin ekran görüntülerini alır
  • Şifreleri indirir
  • Sistem içindeki dosyaları değiştirir
  • Yönetici erişimi kazanmak için ayrıcalıkları artırır
  • Uzaktan ağ kullanımı


Bu etik hack aracı, platformunu yeni penetrasyonlar yazmak veya ünlü shellcode jeneratörünü kullanmak için de kullanmanıza izin verir. Ayrıca, özellikle orta ve büyük ağlarda bağlantı noktası tarama ve ana bilgisayar bulma için yararlı olan scanrand adı verilen nmap’e bir alternatif de entegre eder.

Desteklenen platformlar:

  • Linux
  • Mac OS X
  • Windows

Canvas LMS Kurulumu

Canvas LMS Kurulumu (install canvas lms with nginx)

Kurulumu şuan için Ubuntu 14.04 64bit bir sunucu üzerinden gerçekleştireceğiz.
Ubuntu 14.04 ü kurmuş olduğunuzu var sayarak kurulumu anlatacağım.

Kurulum için sistem gereksinimleri;

Dual Core+ 3.0ghz +
4GB+ RAM
60GB HDD(SSD olmasında fayda)
64-bit(Ubuntu 14.04)

Sunucudaki tüm işlemleri sudo yetkileri verilmiş bir kullanıcı ile gerçekleştireceğiz.
Root kullanıcısı ile oturum açıp kurulumu gerçekleşmeye çalıştırdığınızda hata alacakınız.
Sunucumuzda ssh ile oturum açtıyoruz.

Sunucunun güncellemesi

sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y autoremove

PostgreSQL Kurulumu

sudo apt-get update && sudo apt-get install -y postgresql-9.3

PostgreSQL kuruldu ve servis kullanılabilir durumda.

PostgreSQL veritabanı ve kullanıcı oluşturma.

sudo -u postgres createuser canvas --no-createdb --no-superuser --no-createrole --pwprompt

Bu aşamada canvas için bir kullanıcı oluşturacağız fakat sizden öncelikle sudo kullanıcısının şifresini isteyecektir daha sonra canvas kullanıcısı için bir şifre belirlemenizi isteyecektir.

melik@sibertool:~$ sudo -u postgres createuser canvas --no-createdb --no-superuser --no-createrole --pwprompt
[sudo] password for eemirtekin:***
Enter password for new role:***
Enter it again:***

Veritabınını oluşturup ona canvas kullanıcısın yetkilerini veriyoruz.

sudo -u postgres createdb canvas_production --owner=canvas

Git Kurulumu ve Canvas kurulum dosyalarının indirilmesi

sudo apt-get install git-core -y
git clone https://github.com/instructure/canvas-lms.git canvas
cd canvas

Bu aşamada kurulum için githuta branch ı stable olarak değiştirmemiz gerekecek. Master dosyalar ile kuruluma devam ederseniz hatalar alabilirsiniz.

git branch --set-upstream-to origin/stable

Kurulum için dosyaları /var/canvas dizinine taşıyacağız ve sudo kullanıcısının yetkilerini atayacağız.

sudo mkdir -p /var/canvas
sudo chown -R eemirtekin /var/canvas
cd canvas
sudo cp -av * /var/canvas
cd /var/canvas

Ruby ve gerekli kütüphanelerin kurulumu

sudo apt-get install software-properties-common
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.1 ruby2.1-dev zlib1g-dev libxml2-dev libsqlite3-dev libpq-dev libxmlsec1-dev curl make g++

Node.js kurulumu

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install nodejs

Bundler ve Canvas kütüphanelerinin kurulumu

sudo gem install bundler --version 1.11.2
bundle install --path vendor/bundle --without development test

Dosyaları yedekliyoruz.

for config in amazon_s3 database \
  delayed_jobs domain file_store outgoing_mail security external_migration; \
  do cp config/$config.yml.example config/$config.yml; done

Veri tabanı ayarları

cp config/database.yml.example config/database.yml
nano config/database.yml

production:
  adapter: postgresql
  encoding: utf8
  database: canvas_production
  host: localhost
  username: canvas
  password: doktor45
  timeout: 5000

Smtp Ayarları

cp config/outgoing_mail.yml.example config/outgoing_mail.yml
nano config/outgoing_mail.yml

  production:
    address: "smtp.sendgrid.net"
    port: "587"
    user_name: "user"
    password: "*********"
    authentication: "plain" # plain, login, or cram_md5
    domain: "emirtekin.com"
    outgoing_address: "meliksibertool@gmail.com"
    default_name: "Instructure Canvas"

Domain Ayarları

cp config/domain.yml.example config/domain.yml
nano config/domain.yml

 production:
  domain: "canvas.emirtekin.com"
  # whether this instance of canvas is served over ssl (https) or not
  # defaults to true for production, false for test/development
  ssl: false
  # files_domain: "canvasfiles.example.com"

Güvenlik için gerekli ayarlar

  cp config/security.yml.example config/security.yml
  nano config/security.yml

  production:
  # replace this with a random string of at least 20 characters
  encryption_key: 0610afc39c93010e4e6f41b8898ddd131a3ddcaf

Veritabanı için tabloların oluşması

  RAILS_ENV=production bundle exec rake db:initial_setup

Aşağıdaki gibi bir yol izlemelisiniz.

  What email address will the site administrator account use? > meliksibertool@gmail.com
  Please confirm > meliksibertool@gmail.com
  What password will the site administrator use? > ********
  Please confirm > ********
  What do you want users to see as the account name? This should probably be the name of your organization. > Canvas LMS
  To help our developers better serve you, Instructure would like to collect some usage data about your Canvas installation. You can change this setting at any time.:
  1. Opt in
  2. Only send anonymized data
  3. Opt out completely
  > 1
  Thank you for participating!
  You can change this feature at any time by running the rake task 'rake db:configure_statistics_collection'
  .............................................................................
  Notifications Loaded
  .......................Scribd Mime Types added
  No notification files found for Assignment Publishing Reminder
  No notification files found for Assignment Grading Reminder
  No notification files found for Assignment Due Date Reminder
  No notification files found for Rubric Assessment Invitation
  No notification files found for Migration Export Ready
  No notification files found for Migration Import Finished
  No notification files found for Migration Import Failed

  Initial data loaded

Canvas Kullanıcısı oluşturma

sudo adduser --disabled-password --gecos canvas canvasuser
cd /var/canvas
mkdir -p log tmp/pids public/assets public/stylesheets/compiled
touch Gemfile.lock
sudo chown -R canvasuser config/environment.rb log tmp public/assets public/stylesheets/compiled Gemfile.lock config.ru
npm install
RAILS_ENV=production bundle exec rake canvas:compile_assets
sudo chown canvasuser config/*.yml
sudo chmod 400 config/*.yml

Nginx kurulumu

sudo apt-get install nginx -y

# Install our PGP key and add HTTPS support for APT
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates

# Add our APT repository
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update

# Install Passenger + Nginx
sudo apt-get install -y nginx-extras passenger

Canvas için config

server  {
               listen 80;
               server_name canvas.emirtekin.com;
               root /var/canvas/public;
                           charset utf-8;
                           include mime.types;
                           default_type application/octet-stream;
               access_log /var/log/nginx/canvas.access.log;
               error_log /var/log/nginx/canvas.error.log;
               passenger_enabled on;
               rails_env production;
        }

Nginx.conf

       passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
       passenger_ruby /usr/bin/ruby;
       passenger_max_pool_size 6;
       passenger_spawn_method smart-lv2;
       passenger_buffer_response on;
       passenger_min_instances 1;
       passenger_max_instances_per_app 0;
       passenger_pool_idle_time 300;
       passenger_max_requests 0;

Redis

production:
  servers:
    - redis://localhost
  database: 0

Cache

production:
  server:
    cache_store: redis_store
  database: 0
sudo ln -s /var/canvas/script/canvas_init /etc/init.d/canvas_init
sudo update-rc.d canvas_init defaults
sudo /etc/init.d/canvas_init start  

Minik bir Duyuru ;

29.11.2020 tarihinde bir işim olduğu için yazımı ekleyemedim. Üzgünüm bugün ekliyorum. 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir