‏הצגת רשומות עם תוויות bind9. הצג את כל הרשומות
‏הצגת רשומות עם תוויות bind9. הצג את כל הרשומות

יום שבת, ינואר 14, 2017

מתארח באתר בו יש נתב מספק האינטרנט ? תחזיק שרת DNS משלך

יש לך נתב/ מודם המסופק ע"י ספק האינטרנט ולא החלפת סיסמאות - צא מנקודת ההנחה שיש לך maleware על הנתב.

היום בעידן המתקפות על הנתבים יותר ויותר קשה לסמוך על הנתב שלך, זה דבר אחד לדעת לא להתקין זבל אצלך במחשב ולהחזיק מערכת מאובטחת, אבל זה דבר אחר לחלוטין כאשר אתה מגלה שספק השירות שלך כנראה פתוח למתקפות.

אם לא פיספסתם היתה מתקפה על נתבי D-Link לפני מספר שבועות ( DnsChanger ), זה ביחד עם זה שנתבים המסופקים ע"י ספקי האינטרנט מכילים הגדרות ברירת מחדל להתחברות, יכול לעשות 1+1 ולהבין שככל הנראה נראה בקרוב מתקפות מתוך הנתבים האלה. אני לא מאמין שמרבית הלקוחות יחסמו את כל המשתמשים שהוגדרו בנתבים שסופקו להם.

היום אני אישית מחזיק שרת DNS משלי, שלדאבוני אינו מוגדר לעבודה אל מול dnscrypt עדיין, הסיבה העיקרית שלא הגדרתי dnscrypt + bind9 היא עצלנות נטו.

מה שצריך לעשות זה:

להתקין dnssec resolver 
להתקין dnscrypt ולהגדיר את proxy_resolver_name למשהוא שיהיה נגיש (תחת /etc/default/dnscrypt-proxy)

ולחכות ליום בו הספקים המקומיים יתחילו לתמוך ב dnssec.

כפתרון ביניים מה שאני עושה זה להעביר את תעבורת ה DNS שלי ביחד עם שאר התעבורה דרך openvpn, אל ה VPS שלי המאוחסן במקום שעליו אני סומך יותר.

יום שישי, אוקטובר 23, 2015

שירות מיפוי פרטי

לפני כשנה עבדתי עם מישהוא על הצגת פריטים על מפה,לצערי איבדתי את קוד המקור אם היה כזה (ואני גם לא זוכר ביחד עם מי עשיתי את העבודה).לכן התחלתי מסקראטצ' הפעם - לצערי אינני יודע את הapi של mapi לכן התחלתי מבנייה משרת מיפויי מקומי ע"ג דביאן (אם משהוא מכיר את המבנה וה api שלהם זה יהיה גדול אם הוא יפרסם זאת).


שרת המיפוי משתמש ב mapnik ואני טוען קבצי pbf, כמות המקום הפנויי הדרוש לבניית מערכת בצורה גסה הם כ -32 מ"ב מקום פנויי עבור כל מ"ב של קובץ נטען. לצערי גיליתי בצורה הרעה שאתה לא יכול לטעון כמה אזורים מקבצים שונים קודם כל יש לאחד אותם ורק אז ניתן יהיה לטעון. אז כבוחרים אזור צריך לחשוב טוב טוב. זמן טעינה הוא כ שעתיים לכל ג"ב של מידה (16 ג"ב ראם וכונן SSD) , המפות מרונדרות בעת הבקשה.

שרת המיפויי שלי רץ תחת אפאצי, מבצע הזדהות באמצעות שם משתמש וסיסמה ומגביל גישה לפי אזור גאוגרפי בעל חותמת SSL עם CA פרטי.

מודל המיפוי (mod_tile) מספק שירות תחת geo.

שרת ה מיפויי נקרא geo.local כל לקוח שמחובר לענני מקבל זאת דרת שרת ה DNS הפרטי שלי, אבל מכשירים שאינם מחוברים (נמצאים רק ב VPN בעלי קישור בקובץ hosts).

הגבלת אזור גאוגרפי ע"י $CC הוא סימון המדינה
iptables -A OUTPUT -m geoip --dst-cc $CC -j ACCEPT
iptables -A INPUT -m geoip --src-cc $CC -j ACCEPT




ובתור גיק מצויי, החלטתי שאני רוצה שאפליקציית המיפוי החביבה עלי (marble) תוכל לעבוד עם זה.
(לגרסת האנדרויד לחץ כאן לדיווח באגים לחץ כאן וכן יש גם גירסה לוינדוס)

יצרתי לי קובץ dgml שאיתו אוכל לגרום ל marble לעבוד עם שרת המיפויי האישי שלי  :

הקובץ שמור תחת /usr/share/marble/data/maps/earth/private

יצרתי תמונת private.png ו קובץ תחת 0/0.

אני שם פה רישיון של openstreetmap בגלל שטענתי קובץ pbf שיוצר ע"י openstreetmap.
שם המשתמש הוא tileusername והסיסמה היא  tilepassword.
 לקח לי קצת זמן להבין אבל אם הסיסמה שגוייה או המסלול ממנו צריך לקחת קבצים לא תהיה אינדיקציה ברורה.



<?xml version="1.0" encoding="UTF-8"?>
<!--
     This xml file is free software licensed under the GNU LGPL. You can
     find a copy of this license in LICENSE.txt in the top directory of
     the source code.
-->
<dgml xmlns="http://edu.kde.org/marble/dgml/2.0">
  <document>
    <head>
      <!-- The license here applies to the actual map content, not this dgml file. See the license header above for the dgml file license -->
      <!-- The content that this license refers to is not distributed with this package -->
      <license short="© OpenStreetMap contributor">Source: © OpenStreetMap contributors, License: Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA)</license>
      <name>Private tile server</name>
      <target>earth</target>
      <theme>private</theme>
      <icon pixmap="private.png"/>
      <visible>true</visible>
      <description><![CDATA[<p>A <i>privately owned tile server</i></p>]]></description>
      <zoom>
        <minimum>   900  </minimum>
        <maximum>  3500  </maximum>
        <discrete> true </discrete>
      </zoom>
    </head>
    <map bgcolor="#000000">
      <canvas/>
      <target/>
      <layer name="private" backend="texture">
        <texture name="mapnik_data" expire="31536000">
          <sourcedir format="PNG"> earth/private </sourcedir>
          <tileSize width="256" height="256"/>
          <storageLayout levelZeroColumns="1" levelZeroRows="1" maximumTileLevel="19" mode="Custom"/>
          <projection name="Mercator"/>
          <downloadUrl 
protocol="https" 
host="geo.local" 
port="8080" 
path="/geo/{zoomLevel}/{x}/{y}.png" 
user="tileusername" 
password="tilepassword"/>
          <downloadPolicy usage="Browse" maximumConnections="20"/>
          <downloadPolicy usage="Bulk" maximumConnections="2"/>
        </texture>
     </layer>
      <layer name="standardplaces" backend="geodata">
        <geodata name="cityplacemarks">
          <sourcefile>cityplacemarks.cache</sourcefile>
        </geodata>
        <geodata name="baseplacemarks">
          <sourcefile>baseplacemarks.cache</sourcefile>
        </geodata>
        <geodata name="elevplacemarks">
          <sourcefile>elevplacemarks.cache</sourcefile>
        </geodata>
        <geodata name="otherplacemarks">
          <sourcefile>otherplacemarks.cache</sourcefile>
        </geodata>
        <geodata name="boundaryplacemarks">
          <sourcefile>boundaryplacemarks.cache</sourcefile>
        </geodata>
      </layer>
    </map>
    <settings>
      <property name="coordinate-grid">
        <value>true</value>
        <available>true</available>
      </property>
      <property name="overviewmap">
        <value>true</value>
        <available>true</available>
      </property>
      <property name="compass">
        <value>true</value>
        <available>true</available>
      </property>
      <property name="scalebar">
        <value>true</value>
        <available>true</available>
      </property>
      <group name="Places">
        <property name="places">
          <value>true</value>
          <available>true</available>
        </property>
        <property name="cities">
          <value>false</value>
          <available>false</available>
        </property>
        <property name="terrain">
          <value>false</value>
          <available>false</available>
        </property>
        <property name="otherplaces">
          <value>false</value>
          <available>false</available>
        </property>
      </group>
      <group name="Texture Layers">
        <property name="hillshading">
          <value>false</value>
          <available>true</available>
        </property>
      </group>
    </settings>
    <legend>
      <section name="coordinate-grid" checkable="true" connect="coordinate-grid" spacing="12">
        <heading>Coordinate Grid</heading>
      </section>
    </legend>
  </document>
</dgml>

למעשה אני אישית עדיין מנסה להבין איך עובדים עם המפות של מפי, ניסיתי לחפור אבל לא הצלחתי למצוא את הלוגיקה בהם הם מחלקים את המפות (ולא איך אני מתממשק מולם) . 

יום ראשון, מרץ 01, 2015

תקלות תקלות תקלות

במהלך ההתקנה של ענני נתקלתי במספר שגיאות הגדרה, לכן אני מפרסם את אותם ואת הפתרונות שלהם.
קצת על המערכת  - את הענן יצרתי על גבי רסברי פיי שמספק שירותי שליחת דוא"ל בתוך exim4 קבלת דוא"ל ע"י שימוש ב dovcat , הזדהות , אנשי קשר ויומן, שיתוף קבצים, שירותי שמות ע"י bind9.

בחרתי ב exim4 ולא ב postfix סתם בגלל העדפה אישית באותו הרגע (לצרכים שלי שניהם עובדים) , הגדרתי שעבור עם smarthost פר משתמש :

צרות עם bind9 : 

במהלך ההגדרה שמתי לב שבקשות לא עוברות הלאה לשרת הבא : אני מספק X שמות בתוך הדומיין שלי , אבל אני צריך ששאר השמות מדומיינים אחרים יסופקו ע"י שרתים אחרים (לדוגמה ע"י הנתב הבא במקרה שלי 192.168.1.1) .

כאשר השתמשתי פשוט ב forwarders זה פשוט לא היה מעביר הלאה את הבקשות (ללא שום דבר מועיל ב לוגים). לאחר חפירה מצאתי שהבעיה היא בהרשאות הבקשה :


הפתרון :
        dnssec-validation no;(במקום auto). 


צרות עם דוא"ל:

503 AUTH command used when not advertised


בהגדרה של exim4 טעיתי ושמתי כוכבית עבור מי עושים relay, מה שצריך לעשות זה להגדיר את dc_relay_domains לערך ריק.