Archive

Archives pour 06/2021

NetFilter et IPtables

28/06/2021 Comments off

Source: Developpez.com – Christian Caleca

Encore un pépite dans la collection de Christian Caleca. C’est grâce à cet article que j’ai commencé à m’intéresser à la protection contre les agressions réseau.

[pdfviewer width= »600px » height= »849px » beta= »true/false »]https://www.dbsysnet.com/wp-content/uploads/2015/10/Caleca-11-NetFilter-IPtables.pdf[/pdfviewer]

IP et le routage

28/06/2021 Comments off

Excellent article de Christian Caleca grâce auquel j’ai pu approfondir mes connaissances et ma compréhension des bases du réseau IP.

Je potasse encore car j’ai parfois des lacunes.

Merci Christian


1. IP et le Routage

ip routageLes réseaux informatiques ont ceci d’intéressant : Ils couvrent des besoins aussi simples que la connexion entre deux hôtes sur un réseau local que l’interconnexion de systèmes à l’échelle planétaire.

Ici, nous allons nous intéresser à quelques aspects nécessaires à une bonne compréhension de ce qu’il se passe sur notre connexion Internet par le câble (nous verrons pourquoi cette connexion diffère fondamentalement d’autres moyens comme l’ADSL, le RTC ou l’ISDN).

Vous trouverez dans cet exposé :

  • une définition de ce que sont les adresses MAC et IP ;
  • ce que sont les réseaux physiques et les réseaux logiques ;
  • quels sont les composants d’interconnexion de réseaux les plus courants ;
  • comment les données circulent d’un réseau à l’autre ;
  • une manipulation destinée à toucher du doigt les problèmes du routage.

2. Physique/Logique

2-1. Qu’est-ce qu’une adresse MAC ?

Media Access Control

C’est une adresse écrite en « dur » dans le « firmware » d’un équipement réseau, le plus souvent une interface réseau.

Cette adresse est définie sur six octets.

  • Les trois premiers (les plus à gauche) sont attribués au constructeur.
  • Les trois derniers sont spécifiques à un équipement matériel donné.

Au total, une adresse MAC est censée être unique au monde.

Son but est d’identifier sans aucune ambigüité possible un nœud sur un réseau. Elle est utilisée par le niveau 2 du modèle OSI pour l’acheminement des données d’une source vers une cible.

Il faut bien comprendre que cette adresse est indispensable, parce qu’elle est la seule qui soit définie à la mise en route d’un système, puisqu’elle réside dans une ROM. D’ailleurs, certains protocoles réseau simples se contentent de cette adresse pour fonctionner. NetBEUI en est un exemple. De plus, au niveau 2 du modèle OSI, c’est la seule adresse en mesure d’être utilisée.

Toute autre adresse qui sera ajoutée avec l’installation du système sera une adresse plus évoluée, destinée à gérer les réseaux de façon logique, mais l’adresse MAC demeure indispensable.

2-2. Avantages et inconvénients

Nous l’avons vu, le principal avantage est que cette adresse unique est disponible immédiatement lors de la procédure de « boot » et qu’elle est alors la seule disponible, de plus, c’est la seule qui soit utilisable dans les couches basses du réseau.

Son principal inconvénient est qu’elle est physiquement attachée à un hôte. Pour en changer, il faut changer d’interface (il y a des astuces pour qu’il en soit autrement, surtout avec Linux, mais je ne vous les dévoilerai pas… Un internaute politiquement correct n’a pas besoin de les connaitre). De plus, la répartition de ces adresses sur un réseau est faite de manière quasi aléatoire, il n’y a que le constructeur de l’interface qui maitrise cette adresse. Il est donc impossible d’organiser cet adressage de manière logique.

2-3. Adresse IP

Nous n’allons pas revenir sur les détails de cette adresse, abondamment traités dans le chapitre précédent. Cette adresse sera ici d’une importance fondamentale.

2-4. Mise en garde

Nous avons dit et redit que la couche 2 n’utilise que l’adresse MAC pour acheminer les données. Au passage de la couche 3 (qui utilise une adresse logique, IP dans notre cas) à la couche 2 (et réciproquement), il faudra donc disposer d’une table d’équivalence entre les adresses IP et les adresses MAC du réseau.

2-5. Réseau physique ou logique

Ici, nous allons faire abstraction du support choisi (autant que possible) et nous intéresser à la façon de connecter les systèmes entre eux.

2-5-1. Un réseau physique

2-5-1-1. Le principe
img01

Voici un réseau physique :

  • tous les hôtes sont connectés entre eux au moyen du même support de transport ;
  • tous les hôtes sont en mesure de communiquer entre eux directement, sans besoin d’une quelconque passerelle.

Un réseau physique, c’est relativement facile à comprendre. Vous prenez un HUB, vous y connectez autant de postes que vous pouvez avec des câbles de cuivre en paire torsadée et vous avez construit un réseau physique.

Vous vous arrangez pour que tous les postes disposent du même logiciel réseau, par exemple Windows avec le protocole NetBEUI et le tour est joué. Vous pouvez partager des ressources entre les postes. Finalement, c’est assez simple. Oui mais, c’est parce que vos besoins sont simples. Si vous voulez utiliser TCP/IP, il faudra alors définir des adresses IP pour chacune de vos machines, adresses choisies dans le même réseau logique (voir le chapitre TCP/IP) et votre réseau fonctionnera aussi bien. Pourtant, NetBEUI n’introduit pasd’adresse logique.

2-5-1-2. Comment ça marche

La question est très compliquée, mais il est encore possible ici de donner une réponse simple et satisfaisante pour l’instant.

Les informations qui transitent sur le réseau sont visibles par tous les hôtes du réseau. Cependant, un système d’adresse unique par hôte (adresse MAC) permet au destinataire de se reconnaître et de récupérer l’information. Disons que dans un groupe de cinq personnes qui vaquent chacune à leurs occupations, vous posez une question à un membre du groupe. Tout le groupe entend la question, mais celui à qui elle est destinée se reconnaît et vous répond. Les autres entendent aussi la réponse, mais savent qu’ils ne sont pas concernés et nel’écoutent pas. Notez que si vous êtes capable d’analyser parfaitement tous les mécanismes mis en œuvre dans cet exemple, vous avez déjà pratiquement tout compris sur les principes des réseaux locaux.

2-5-1-3. Ça peut se compliquer…

Nous verrons, avec les passerelles, qu’un réseau physique peut être un peu plus compliqué que ça. Les ponts, qui sont des passerelles travaillant au niveau 2 (avec les adresses MAC) permettent de connecter deux réseaux physiques pour qu’ils n’en fassent plus qu’un.

2-5-2. Un réseau logique

2-5-2-1. Le principe

La notion de réseau logique est déjà un peu plus délicate, parce qu’elle n’est pas directement liée au câblage.

Il est peut-être nécessaire de reprendre le modèle théorique d’un OS réseau. À gauche, le modèle OSI en sept couches, à droite le modèle DOD de TCP/IP, plus pragmatique. Nous allons tout de même utiliser le modèle OSI qui décompose mieux les diverses fonctions.

img02

Pour l’étude des réseaux, ce sont surtout les trois premières couches OSI qui nous intéressent. Nous avons déjà parlé de la couche physique et de la couche liaison. Parler d’un réseau physique, c’est parler d’un réseau en le regardant au niveau 2.

Un réseau logique en revanche fait intervenir la couche 3. Il existe toujours une adresse unique par hôte, mais cette adresse est logique, l’adresse IP en ce qui nous concerne, et cette adresse est exploitée par niveau 3

2-5-2-2. Comment ça marche

Comme l’adresse utilisée est fixée par une stratégie définie par l’architecte du réseau et non par le hasard de la construction de la machine, il devient possible d’organiser les transferts de données d’une manière optimale en fonction des besoins. Deux réseaux logiques ne pourront communiquer entre eux que par l’intermédiaire d’un routeur, ce qui permet non seulement d’optimiser les flux de données, mais encore d’assurer un minimum de sécurité parce que l’on va pouvoir effectuer un contrôle d’accès au niveau de ces routeurs (fonctions de « firewalls »).

Il ne nous reste plus maintenant qu’à regarder d’un peu plus près les passerelles les plus courantes.

Lire la suite…

Categories: Réseau, Tutoriel Tags:

Administration réseau sous Linux: SSH

27/06/2021 Comments off

Source: Wikilivres

SSH signifie Secure SHell. C’est un protocole qui permet de faire des connexions sécurisées (i.e. cryptées) entre un serveur et un client SSH.

On peut l’utiliser pour se connecter à une machine distante comme avec telnet, pour transférer des fichiers de manière sécurisée ou pour créer des tunnels. Les tunnels permettent sécuriser des protocoles qui ne le sont pas en faisant passer les données par une connexion SSH.

Sections

Le système de clés de SSH

Cryptographie asymétrique

SSH utilise la cryptographie asymétrique RSA ou DSA. En cryptographie asymétrique, chaque personne dispose d’un couple de clé : une clé publique et une clé privée. La clé publique peut être librement publiée tandis que chacun doit garder sa clé privée secrète. La connaissance de la clé publique ne permet pas d’en déduire la clé privée.

Si la personne A veut envoyer un message confidentiel à la personne B, A crypte le message avec la clé publique de B et l’envoie à B sur un canal qui n’est pas forcément sécurisé. Seul B pourra décrypter le message en utilisant sa clé privée.

Cryptographie symétrique

SSH utilise également la cryptographie symétrique. Son principe est simple : si A veut envoyer un message confidentiel à B, A et B doivent d’abord posséder une même clé secrète. A crypte le message avec la clé sécrète et l’envoie à B sur un canal qui n’est pas forcément sécurisé. B décrypte le message grâce à la clé secrète.

Toute autre personne en possession de la clé secrète peut décrypter le message.

La cryptographie symétrique est beaucoup moins gourmande en ressources processeur que la cryptographie asymétrique, mais le gros problème est l’échange de la clé secrète entre A et B. Dans le protocole SSL, qui est utilisé par les navigateurs Web et par SSH, la cryptographique asymétrique est utilisée au début de la communication pour que A et B puissent s’échanger une clé secrète de manière sécurisée, puis la suite la communication est sécurisée grâce à la cryptographie symétrique en utilisant la clé secrète échangée.

Lire la suite…

Categories: Réseau, Système, Tutoriel Tags: ,

How Does It Work: IPTables

25/06/2021 Comments off

Source: CyberPunk

What is a Firewall ?

A firewall is a system that provides network security by filtering incoming and outgoing network traffic based on a set of user-defined rules. In general, the purpose of a firewall is to reduce or eliminate the occurrence of unwanted network communications while allowing all legitimate communication to flow freely. In most server infrastructures, firewalls provide an essential layer of security that, combined with other measures, prevent attackers from accessing your servers in malicious ways.

A firewall typically establishes a barrier between a trusted, secure internal network and another outside network, such as the Internet, that is assumed to not be secure or trusted. Firewalls are often categorized as either network firewalls or host-based firewalls. Network firewalls are a software appliance running on general purpose hardware or hardware-based firewall computer appliances that filter traffic between two or more networks. Host-based firewalls provide a layer of software on one host that controls network traffic in and out of that single machine. Routers that pass data between networks contain firewall components and can often perform basic routing functions as well, Firewall appliances may also offer other functionality to the internal network they protect such as acting as a DHCP or VPN server for that network.

TCP network traffic moves around a network in packets, which are containers that consist of a packet header—this contains control information such as source and destination addresses, and packet sequence information—and the data (also known as a payload). While the control information in each packet helps to ensure that its associated data gets delivered properly, the elements it contains also provides firewalls a variety of ways to match packets against firewall rules.

It is important to note that successfully receiving incoming TCP packets requires the receiver to send outgoing acknowledgment packets back to the sender. The combination of the control information in the incoming and outgoing packets can be used to determine the connection state (e.g. new, established, related) of between the sender and receiver.

Types of Firewalls

There are different types of firewalls depending on where the communication is taking place, where the communication is intercepted and the state that is being traced.

Network layer or packet filters

Network layer firewalls, also called packet filters, operate at a relatively low level of the TCP/IP protocol stack, not allowing packets to pass through the firewall unless they match the established rule set. The firewall administrator may define the rules; or default rules may apply. The term “packet filter” originated in the context of BSD operating systems.

Network layer firewalls generally fall into two sub-categories, stateful and stateless.

  • Stateful firewalls

    maintain context about active sessions, and use that “state information” to speed packet processing. Any existing network connection can be described by several properties, including source and destination IP address, UDP or TCP ports, and the current stage of the connection’s lifetime (including session initiation, handshaking, data transfer, or completion connection). If a packet does not match an existing connection, it will be evaluated according to the ruleset for new connections. If a packet matches an existing connection based on comparison with the firewall’s state table, it will be allowed to pass without further processing.

  • Stateless firewalls

    require less memory, and can be faster for simple filters that require less time to filter than to look up a session. They may also be necessary for filtering stateless network protocols that have no concept of a session. However, they cannot make more complex decisions based on what stage communications between hosts have reached.

Lire la suite…

HowTo: Uninstall MySQL Server in Ubuntu Linux

22/06/2021 Comments off

Source: nixCraft

I‘m a new Ubuntu Linux user and my cloud hosting company installed MySQL server by default. I need to remove it and delete it from my server as I have no use of MySQL server. How can I uninstall MySQL on a Ubuntu based systems?

Typically following Mysql packages are installed on the Debian or Ubuntu Linux systems:

  • mysql-client – The latest version of MySQL database client.
  • mysql-server – The latest version of MySQL database server.
  • mysql-common – MySQL database common files.

How do I uninstall Mysql server?

Just use the apt-get command as follows remove both MySQL server and client in Ubuntu Linux:

sudo apt-get --purge remove mysql-client mysql-server mysql-common
sudo apt-get autoremove

Sample outputs (pay attention to package names):

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.2.0-31-virtual linux-headers-3.2.0-31
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  libdbd-mysql-perl* libmysqlclient18* mysql-client* mysql-client-5.5* mysql-common* mysql-server*
  mysql-server-5.5*
0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded.
After this operation, 67.5 MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 105097 files and directories currently installed.)
Removing mysql-server ...
Removing mysql-server-5.5 ...
mysql stop/waiting
Purging configuration files for mysql-server-5.5 ...
Removing mysql-client ...
Removing mysql-client-5.5 ...
Removing libdbd-mysql-perl ...
Removing libmysqlclient18 ...
Purging configuration files for libmysqlclient18 ...
Removing mysql-common ...
Purging configuration files for mysql-common ...
dpkg: warning: while removing mysql-common, directory '/etc/mysql' not empty so not removed.
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Delete /etc/mysql/ directory using rm command:
$ sudo rm -rf /etc/mysql/

Understanding apt-get command options

  • --purge : Remove given packages and config files.
  • remove : Uninstall packages.
  • autoremove : Force to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed.