1.
Gestión de archivos y directorios
ls – Lista los archivos en un directorio.
cd – Cambia el directorio actual.
pwd – Muestra la ruta del directorio actual.
mkdir – Crea un nuevo directorio.
rmdir – Elimina un directorio vacío.
rm – Elimina archivos o directorios.
cp – Copia archivos o directorios.
mv – Mueve o renombra archivos/directorios.
touch – Crea un archivo vacío.
stat – Muestra detalles de un archivo.
find – Busca archivos en un directorio.
locate – Busca archivos utilizando una base de datos.
tree – Muestra la estructura de un directorio en forma de árbol.
2. Gestión de permisos y usuarios
chmod – Cambia los permisos de un archivo o directorio.
chown – Cambia el propietario de un archivo o directorio.
chgrp – Cambia el grupo propietario.
id – Muestra el ID del usuario actual.
whoami – Muestra el nombre de usuario actual.
groups – Muestra los grupos a los que pertenece un usuario.
passwd – Cambia la contraseña de un usuario.
3. Visualización y edición de archivos
cat – Muestra el contenido de un archivo.
less – Muestra un archivo página por página.
more – Similar a less, pero más simple.
head – Muestra las primeras líneas de un archivo.
tail – Muestra las últimas líneas de un archivo.
nano – Editor de texto simple.
vim – Editor de texto avanzado.
emacs – Otro editor de texto avanzado.
diff – Compara dos archivos línea por línea.
cmp – Compara archivos byte por byte.
wc – Cuenta líneas, palabras y caracteres en un archivo.
4. Gestión de procesos
ps – Muestra los procesos en ejecución.
top – Muestra los procesos activos en tiempo real.
htop – Similar a top, pero más interactivo.
kill – Finaliza un proceso por su ID.
killall – Finaliza procesos por nombre.
jobs – Lista trabajos en segundo plano.
fg – Lleva un trabajo en segundo plano al primer plano.
bg – Envía un trabajo al segundo plano.
5. Gestión de sistemas de archivos
df – Muestra el uso del espacio en disco.
du – Muestra el uso de espacio por archivo o directorio.
mount – Monta un sistema de archivos.
umount – Desmonta un sistema de archivos.
fsck – Repara sistemas de archivos.
mkfs – Formatea un disco.
6. Redes
ping – Verifica la conectividad a otra máquina.
curl – Transfiere datos desde o hacia un servidor.
wget – Descarga archivos desde la web.
ssh – Conecta a otra máquina mediante SSH.
scp – Copia archivos entre máquinas mediante SSH.
ftp – Conexión a servidores FTP.
netstat – Muestra conexiones de red activas.
ifconfig – Configura interfaces de red (antiguo).
ip – Gestiona interfaces y rutas de red.
nslookup – Consulta servidores DNS.
traceroute – Rastrea la ruta de paquetes.
7. Gestión del sistema
uname – Muestra información del sistema operativo.
uptime – Tiempo que lleva encendido el sistema.
hostname – Muestra o configura el nombre del host.
who – Muestra quién está conectado.
date – Muestra o configura la fecha y hora.
shutdown – Apaga el sistema.
reboot – Reinicia el sistema.
systemctl – Gestiona servicios y demonios.
service – Administra servicios.
cron – Planifica tareas automáticas.
8. Gestión de paquetes (dependiendo de la distribución)
Debian/Ubuntu:
apt-get – Gestiona paquetes.
apt – Nuevo gestor de paquetes.
dpkg – Instala o elimina paquetes manualmente.
RedHat/CentOS/Fedora:
yum – Gestiona paquetes.
dnf – Sustituto moderno de yum.
rpm – Gestiona paquetes RPM.
Arch Linux:
pacman – Gestor de paquetes de Arch.
9. Compresión y empaquetado
tar – Archiva archivos.
gzip – Comprime archivos.
gunzip – Descomprime archivos .gz.
zip – Comprime en formato .zip.
unzip – Extrae archivos .zip.
10. Información y diagnóstico
dmesg – Muestra mensajes del kernel.
free – Muestra uso de memoria.
vmstat – Estadísticas de rendimiento.
iostat – Estadísticas de E/S.
uptime – Muestra cuánto tiempo lleva encendido el sistema.
lscpu – Información de la CPU.
lsblk – Muestra dispositivos de bloque.
lsusb – Muestra dispositivos USB conectados.
lspci – Muestra dispositivos PCI.
Esta lista no es exhaustiva, pero incluye los comandos más
relevantes. Si necesitas más detalles o ejemplos de uso de alguno,
¡hazmelo saber! 😊
4o
Tú dijiste:
crear un servidor con ubuntu
ChatGPT Plus
ChatGPT
Crear un servidor con Ubuntu puede ser sencillo o avanzado según
tus necesidades específicas. Aquí te dejo una guía básica paso a paso
para configurar un servidor funcional en Ubuntu.
1. Preparar el entorno
a) Descargar Ubuntu Server
1. Descarga la ISO de Ubuntu Server desde su sitio oficial:
Ubuntu Server Download.
2. Crea un medio de instalación, como un USB booteable,
utilizando herramientas como:
o Rufus en Windows.
o dd en Linux/Mac:
bash
Copiar código
sudo dd if=/ruta/de/[Link] of=/dev/sdX bs=4M status=progress
b) Instalar Ubuntu Server
1. Arranca desde el USB booteable.
2. Sigue el asistente de instalación:
o Selecciona el idioma y la distribución de teclado.
o Configura la red (puede ser automática con DHCP o
manual).
o Define el nombre del servidor y crea un usuario
administrador.
o Instala servicios adicionales como OpenSSH si es
necesario.
3. Finaliza la instalación y reinicia el sistema.
2. Conexión al servidor
Acceso directo:
Inicia sesión en la terminal con las credenciales que
configuraste.
Acceso remoto:
Si instalaste OpenSSH, conecta remotamente desde otra
máquina:
bash
Copiar código
ssh usuario@ip_del_servidor
Si no está instalado, hazlo después de iniciar sesión localmente:
bash
Copiar código
sudo apt update
sudo apt install openssh-server
3. Configurar el servidor
a) Actualizar el sistema:
Actualiza los paquetes para asegurarte de que el sistema esté al día:
bash
Copiar código
sudo apt update && sudo apt upgrade -y
b) Configurar el firewall:
Instala y configura UFW (Firewall simple):
bash
Copiar código
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
c) Establecer el nombre del host (hostname):
bash
Copiar código
sudo hostnamectl set-hostname nombre-servidor
d) Configurar la zona horaria:
bash
Copiar código
sudo timedatectl set-timezone America/Mexico_City
4. Configurar servicios esenciales
a) Configurar un servidor web (Ejemplo: Nginx):
1. Instala Nginx:
bash
Copiar código
sudo apt install nginx
2. Permite el tráfico HTTP/HTTPS en el firewall:
bash
Copiar código
sudo ufw allow 'Nginx Full'
3. Accede a la IP del servidor desde un navegador para ver la
página predeterminada.
b) Configurar un servidor de base de datos (Ejemplo: MySQL o
MariaDB):
1. Instala el servidor de base de datos:
bash
Copiar código
sudo apt install mysql-server
2. Configura la seguridad de MySQL:
bash
Copiar código
sudo mysql_secure_installation
c) Instalar PHP (para aplicaciones web dinámicas):
1. Instala PHP y módulos comunes:
bash
Copiar código
sudo apt install php php-fpm php-mysql
2. Configura Nginx para usar PHP (edita el archivo de
configuración de Nginx).
5. Gestionar usuarios y accesos
a) Crear usuarios:
bash
Copiar código
sudo adduser nombre_usuario
b) Asignar privilegios de sudo:
bash
Copiar código
sudo usermod -aG sudo nombre_usuario
c) Configurar claves SSH para mayor seguridad:
1. Genera una clave SSH en tu máquina local:
bash
Copiar código
ssh-keygen
2. Copia la clave al servidor:
bash
Copiar código
ssh-copy-id usuario@ip_del_servidor
d) Deshabilitar el acceso con contraseña (opcional):
Edita el archivo de configuración de SSH:
bash
Copiar código
sudo nano /etc/ssh/sshd_config
Cambia PasswordAuthentication a no.
Reinicia el servicio:
bash
Copiar código
sudo systemctl restart ssh
6. Configurar servicios adicionales
Dependiendo de tus necesidades, podrías querer instalar:
Docker: Para contenedores.
bash
Copiar código
sudo apt install [Link]
Certbot: Para configurar certificados SSL.
bash
Copiar código
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
FTP: Para transferencias de archivos (opcional):
bash
Copiar código
sudo apt install vsftpd
7. Monitoreo y mantenimiento
Usa herramientas como htop o glances para monitorear el
rendimiento.
Automatiza tareas con cron:
bash
Copiar código
crontab -e
¡Listo! Tu servidor Ubuntu debería estar funcionando y listo para
personalizar según tus necesidades. 😊
4o
Tú dijiste:
proteger ese servidor con un cortafuegos
ChatGPT Plus
ChatGPT
Proteger un servidor con un cortafuegos es esencial para mejorar su
seguridad y controlar el tráfico que puede entrar y salir. En Ubuntu, el
cortafuegos más común y fácil de usar es UFW (Uncomplicated
Firewall), que actúa como una interfaz para iptables. Aquí tienes una
guía paso a paso para configurar y proteger tu servidor con UFW:
1. Instalar y verificar el estado de UFW
La mayoría de las distribuciones de Ubuntu ya incluyen UFW. Si no
está instalado, puedes hacerlo con:
bash
Copiar código
sudo apt update
sudo apt install ufw
Verifica el estado del cortafuegos:
bash
Copiar código
sudo ufw status
2. Configurar reglas básicas
Antes de activar UFW, define las reglas necesarias para no bloquear
el acceso al servidor.
a) Permitir conexiones SSH
Para evitar perder acceso al servidor, habilita primero el puerto de
SSH (por defecto, el puerto 22):
bash
Copiar código
sudo ufw allow OpenSSH
Si usas otro puerto para SSH, permite ese puerto:
bash
Copiar código
sudo ufw allow <puerto_ssh>
b) Permitir otros servicios necesarios
Define reglas para los servicios que planeas usar:
HTTP (puerto 80):
bash
Copiar código
sudo ufw allow 80
HTTPS (puerto 443):
bash
Copiar código
sudo ufw allow 443
MySQL (puerto 3306), si es necesario:
bash
Copiar código
sudo ufw allow 3306
c) Denegar todo el tráfico innecesario
Por defecto, es buena práctica bloquear todas las conexiones
entrantes y permitir solo las salientes:
bash
Copiar código
sudo ufw default deny incoming
sudo ufw default allow outgoing
3. Activar UFW
Una vez configuradas las reglas, activa UFW:
bash
Copiar código
sudo ufw enable
Confirma que está funcionando:
bash
Copiar código
sudo ufw status verbose
4. Configurar reglas avanzadas
a) Limitar intentos de conexión (protección contra fuerza
bruta)
Para evitar ataques de fuerza bruta en servicios como SSH, puedes
habilitar la opción limit, que bloquea direcciones IP después de varios
intentos fallidos:
bash
Copiar código
sudo ufw limit OpenSSH
b) Permitir acceso solo desde direcciones IP específicas
Si deseas que ciertos servicios sean accesibles únicamente desde IPs
específicas, configura reglas como esta:
bash
Copiar código
sudo ufw allow from <IP_PERMITIDA> to any port <PUERTO>
Por ejemplo, para permitir solo a [Link] acceder por SSH:
bash
Copiar código
sudo ufw allow from [Link] to any port 22
c) Bloquear IPs específicas
Para bloquear una IP maliciosa:
bash
Copiar código
sudo ufw deny from <IP_MALICIOSA>
5. Registrar actividad del cortafuegos
Habilita los registros para monitorear la actividad del cortafuegos:
bash
Copiar código
sudo ufw logging on
Los registros se guardan en /var/log/[Link]. Puedes revisarlos con:
bash
Copiar código
sudo less /var/log/[Link]
6. Comprobar reglas actuales
Lista todas las reglas activas:
bash
Copiar código
sudo ufw status numbered
7. Modificar o eliminar reglas
Eliminar una regla específica:
1. Identifica el número de la regla con:
bash
Copiar código
sudo ufw status numbered
2. Elimina la regla usando su número:
bash
Copiar código
sudo ufw delete <NUMERO>
8. Desactivar temporalmente UFW (opcional)
Si necesitas desactivar UFW por algún motivo, usa:
bash
Copiar código
sudo ufw disable
Y para reactivarlo:
bash
Copiar código
sudo ufw enable
9. Probar la configuración
Después de configurar UFW, prueba los servicios permitidos y verifica
que los servicios no autorizados estén bloqueados.
Puedes usar herramientas como:
Netcat para probar puertos:
bash
Copiar código
nc -zv <IP_DEL_SERVIDOR> <PUERTO>
Nmap para escanear los puertos abiertos:
bash
Copiar código
nmap <IP_DEL_SERVIDOR>
10. Mantener el cortafuegos actualizado
Revisa y ajusta las reglas regularmente según las necesidades
del servidor.
Monitorea los registros de actividad para detectar patrones de
tráfico sospechoso.
¡Con estas configuraciones, tu servidor estará bien protegido con un
cortafuegos sólido!