Pokazywanie postów oznaczonych etykietą problemy. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą problemy. Pokaż wszystkie posty

wtorek, 12 lipca 2016

Reset hasła root MYSQL

Zdarzyło się zapomnieliśmy hasła root`a do Mysql`a i co teraz? Spokojna głowa chwila przestoju i mamy ustawione nowe hasło do zarządzania serwerem.

Zatrzymujemy mysql`a

/etc/init.d/mysql stop

Sprawdzamy, czy jakieś procesy Mysql jeszcze żyją:

ps aux | grep mysql

root      6539  0.0  0.0   4336  1496 ?        S    11:05   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     6888 14.2  4.8 886556 191748 ?       Sl   11:05   2:39 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306


Zabijamy uruchomione procesy:

kill -9 6539 6888

Uruchamiamy mysql`a w trybie pomijania uprawnień

mysqld_safe --skip-grant-tables

160712 11:03:51 mysqld_safe Can't log to error log and syslog at the same time.  Remove all --log-error configuration options for --syslog to take effect.
160712 11:03:51 mysqld_safe Logging to '/var/log/mysql/error.log'.
160712 11:03:51 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql



Jeśli pojawiło się to co powyżej  logujemy się do Mysql`a i zmieniamy hasło:

mysql --user=root mysql

update user set Password=PASSWORD('nowe-haslo') where user='root';
flush privileges;


Sprawdzamy PIDy procesów mysql`a

ps aux | grep mysql
root      6111  0.0  0.0   4336  1504 pts/3    S+   11:03   0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables
mysql     6473  0.3  1.1 493628 46328 pts/3    Sl+  11:03   0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306



Zabijamy uruchomione procesy:

kill -9 6111 6473

Uruchamiamy demona w normalnym trybie

/etc/init.d/mysqld restart

Sprawdzamy, czy możemy się zalogować nowym hasłem

mysql -p

Jeśli wszystko zrobiliśmy dobrze, to właśnie zalogowaliśmy się zmienionym hasłem.

środa, 25 maja 2016

APACHE, PHP i MYSQL brak polskich znaków po przeniesieniu na inny serwer

Przenosimy stronę ot taka fanaberia. Pliki skopiowane i przeniesione w miejsce docelowe, baza danych zaimportowana, virualka skonfigurowana. Pierwszy test. Wyświetla się strona, dane z bazy wyświetla, lecz polskie znaki się nie wyświetlają. Szybka instrukcja naprawy.
Edytujemy dwa pliki i zastępujemy na podkreślone wpisy fragmenty konfiguracji:

/etc/apache2/conf-available/charset.conf

# Read the documentation before enabling AddDefaultCharset.
# In general, it is only a good idea if you know that all your files
# have this encoding. It will override any encoding given in the files
# in meta http-equiv or xml encoding tags.

#AddDefaultCharset UTF-8
AddDefaultCharset ISO-8859-2

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Następnie:

/etc/php5/apache2/php.ini

..
; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
;default_charset = "UTF-8"
default_charset = "ISO-8859-2"
..

Następnie przeładowujemy apache:

/etc/init.d/apache2 restart

Odświeżamy stronę i mamy już polskie znaki prawidłowo wyświetlone.

czwartek, 28 kwietnia 2016

GitLab zepsuł dodawanie w wiki pages podczas aktualizacji

Zainstalowałem sobie GitLaba na prośbę naszych programistów, i tak sobie przez pewien czas stał i się kurzył. Aż do czasu jak stwierdziliśmy, że sobie wiki na to przeniesiemy bo ładnie widać kto, co, kiedy zmienił/wpisał, itp. Przy okazji odkurzania na Debianie poszło aptitude upgrade, żeby wszystko ładnie działało. Niestaty trafiło na aktualizacje GitLab`a. Na pierwszy rzut oka działało bardzo ładnie, aż do pierwszej próby zaktualizowania wiki. 500 Error :/. Zaglądamy do logów i widzimy:

/var/log/gitlab/gitlab-rails/production.log

NoMethodError (undefined method `username' for #<Group:0x00000007e195b8>):
  app/models/project_wiki.rb:158:in `default_message'
  app/models/project_wiki.rb:152:in `commit_details'
  app/models/project_wiki.rb:91:in `create_page'
  app/models/wiki_page.rb:183:in `save'
  app/models/wiki_page.rb:143:in `create'
  app/services/wiki_pages/create_service.rb:6:in `execute'
  app/controllers/projects/wikis_controller.rb:58:in `create'
  lib/gitlab/middleware/go.rb:16:in `call'

Okazało się, że najnowsza wersja tak ma i już ..... Po godzinie czesania google udało się znaleźć rozwiązanie problemu przez społeczność.

W pierwszej kolejności sprawdzamy, czy z samym Gitlabem jest wsio ok

Sprawdzamy czy bazy wstały prawidłowo:

gitlab-rake db:migrate:status

database: gitlabhq_production

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20121220064453  Init schema
   up     20130102143055  Rename owner to creator for project
   up     20130110172407  Add public to project
   up     20130123114545  Add issues tracker to project
   up     20130125090214  Add user permissions
   up     20130131070232  Remove private flag from project
   up     20130206084024  Add description to namsespace
   up     20130207104426  Add description to teams
   up     20130211085435  Add issues tracker id to project
   up     20130214154045  Rename state to merge status in milestone
   up     20130218140952  Add state to issue
   up     20130218141038  Add state to merge request
   up     20130218141117  Add state to milestone
   up     20130218141258  Convert closed to state in issue
   up     20130218141327  Convert closed to state in merge request
   up     20130218141344  Convert closed to state in milestone
   up     20130218141444  Remove merged from merge request
   up     20130218141507  Remove closed from issue
   up     20130218141536  Remove closed from merge request
   up     20130218141554  Remove closed from milestone
   up     20130220124204  Add new merge status to merge request
   up     20130220125544  Convert merge status in merge request
   up     20130220125545  Remove merge status from merge request
   up     20130220133245  Rename new merge status to merge status in milestone
   up     20130304104623  Add state to user
   up     20130304104740  Convert blocked to state
   up     20130304105317  Remove blocked from user
   up     20130315124931  User color scheme
   up     20130318212250  Add snippets to features
   up     20130319214458  Create forked project links
   up     20130323174317  Add private to snippets
   up     20130324151736  Add type to snippets
   up     20130324172327  Change project id to null in snipepts
   up     20130324203535  Add type value for snippets
   up     20130325173941  Add notification level to user
   up     20130326142630  Add index to users authentication token
   up     20130403003950  Add last activity column into project
   up     20130404164628  Add notification level to user project
   up     20130410175022  Remove wiki table
   up     20130419190306  Allow merges for forks
   up     20130506085413  Add type to key
   up     20130506090604  Create deploy keys projects
   up     20130506095501  Remove project id from key
   up     20130522141856  Add more fields to service
   up     20130528184641  Add system to notes
   up     20130611210815  Increase snippet text column size
   up     20130613165816  Add password expires at to users
   up     20130613173246  Add created by id to user
   up     20130614132337  Add improted to project
   up     20130617095603  Create users groups
   up     20130621195223  Add notification level to user group
   up     20130622115340  Add more db index
   up     20130624162710  Add fingerprint to key
   up     20130711063759  Create project group links
   up     20130804151314  Add st diff to note
   up     20130809124851  Add permission check to user
   up     20130812143708  Add import url to project
   up     20130819182730  Add internal ids to issues and mr
   up     20130820102832  Add access to project group link
   up     20130821090530  Remove deprecated tables
   up     20130821090531  Add internal ids to milestones
   up     20130909132950  Add description to merge request
   up     20130926081215  Change owner id for group
   up     20131005191208  Add avatar to users
   up     20131009115346  Add confirmable to users
   up     20131106151520  Remove default branch
   up     20131112114325  Create broadcast messages
   up     20131112220935  Add visibility level to projects
   up     20131129154016  Add archived to projects
   up     20131130165425  Add color and font to broadcast messages
   up     20131202192556  Add event fields for web hook
   up     20131214224427  Add hide no ssh key to users
   up     20131217102743  Add recipients to service
   up     20140116231608  Add website url to users
   up     20140122112253  Create merge request diffs
   up     20140122114406  Migrate mr diffs
   up     20140122122549  Remove m rdiff fields
   up     20140125162722  Add avatar to projects
   up     20140127170938  Add group avatars
   up     20140209025651  Create emails
   up     20140214102325  Add api key to services
   up     20140304005354  Add index merge request diffs on merge request
   up     20140305193308  Add tag push hooks to project hook
   up     20140312145357  Add import status to project
   up     20140313092127  Migrate already imported projects
   up     20140407135544  Fix namespaces
   up     20140414131055  Change state to allow empty merge request diffs
   up     20140415124820  Limits to mysql
   up     20140416074002  Add index on iid
   up     20140416185734  Index on current sign in at
   up     20140428105831  Add notes index updated at
   up     20140502115131  Add repo size to db
   up     20140502125220  Migrate repo size
   up     20140611135229  Add position to merge request
   up     20140625115202  Create users star projects
   up     20140729134820  Create labels
   up     20140729140420  Create label links
   up     20140729145339  Migrate project tags
   up     20140729152420  Migrate taggable labels
   up     20140730111702  Add index to labels
   up     20140903115954  Migrate to new shell
   up     20140907220153  Serialize service properties
   up     20140914113604  Add members table
   up     20140914145549  Migrate to new members model
   up     20140914173417  Remove old member tables
   up     20141006143943  Move slack service to webhook
   up     20141007100818  Add visibility level to snippet
   up     20141118150935  Add audit event
   up     20141121133009  Add timestamps to members
   up     20141121161704  Add identity table
   up     20141205134006  Add locked at to merge request
   up     20141216155758  Create doorkeeper tables
   up     20141217125223  Add owner to application
   up     20141223135007  Add import data to project table
   up     20141226080412  Add developers can push to protected branches
   up     20150108073740  Create application settings
   up     20150116234544  Add home page url for application settings
   up     20150116234545  Add gitlab access token to user
   up     20150125163100  Add default branch protection setting
   up     20150205211843  Add timestamps to identities
   up     20150206181414  Add index to created at
   up     20150206222854  Add notification email to user
   up     20150209222013  Add missing index
   up     20150211172122  Add template to service
   up     20150211174341  Allow null in services project
   up     20150213104043  Add twitter sharing enabled to application settings
   up     20150213114800  Add hide no password to user
   up     20150213121042  Add password automatically set to user
   up     20150217123345  Add bitbucket access token and secret to user
   up     20150219004514  Add events to services
   up     20150223022001  Set missing last activity at
   up     20150225065047  Add note events to services
   up     20150301014758  Add restricted visibility levels to application settings
   up     20150306023106  Fix namespace duplication
   up     20150306023112  Add unique index to namespace
   up     20150310194358  Add version check to application settings
   up     20150313012111  Create subscriptions table
   up     20150320234437  Add location to user
   up     20150324155957  Set incorrect assignee id to null
   up     20150327122227  Add public to key
   up     20150327150017  Add import data to project
   up     20150327223628  Add devise two factor to users
   up     20150328132231  Add max attachment size to application settings
   up     20150331183602  Add devise two factor backupable to users
   up     20150406133311  Add invite data to member
   up     20150411000035  Fix identities
   up     20150411180045  Rename buildbox service
   up     20150413192223  Add public email to users
   up     20150417121913  Create project import data
   up     20150417122318  Remove import data from project
   up     20150421120000  Remove periods at ends of usernames
   up     20150423033240  Add default project visibililty to application settings
   up     20150425164646  Gitlab change collation for tag names.acts as taggable on engine
   up     20150425164647  Remove duplicate tags
   up     20150425164648  Add missing unique indices.acts as taggable on engine
   up     20150425164649  Add taggings counter cache to tags.acts as taggable on engine
   up     20150425164650  Add missing taggable index.acts as taggable on engine
   up     20150425164651  Change collation for tag names.acts as taggable on engine
   up     20150425173433  Add default snippet visibility to app settings
   up     20150429002313  Remove abandoned group members records
   up     20150502064022  Add restricted signup domains to application settings
   up     20150509180749  Convert legacy reference notes
   up     20150516060434  Add note events to web hooks
   up     20150529111607  Add user oauth applications to application settings
   up     20150529150354  Add after sign out path for application settings
   up     20150609141121  Add session expire delay for application settings
   up     20150610065936  Add dashboard to users
   up     20150620233230  Add default otp required for login value
   up     20150713160110  Add project view to users
   up     20150717130904  Add commits count to project
   up     20150730122406  Add updated by to issuables and notes
   up     20150806104937  Create abuse reports
   up     20150812080800  Add settings import sources
   up     20150814065925  Remove oauth tokens from users
   up     20150817163600  Deduplicate user identities
   up     20150818213832  Add sent notifications
   up     20150824002011  Add enable ssl verification
   up     20150826001931  Add ci tables
   up     20150902001023  Add template to label
   up     20150914215247  Add ci tags
   up     20150915001905  Enable ssl verification by default
   up     20150916000405  Enable ssl verification for web hooks
   up     20150916114643  Add help page text to application settings
   up     20150916145038  Add index for committed at and
   up     20150918084513  Add ci enabled to application settings
   up     20150918161719  Remove invalid milestones from merge requests
   up     20150920010715  Add consumed timestep to users
   up     20150920161119  Add line code to sent notification
   up     20150924125150  Add project id to ci commit
   up     20150924125436  Migrate project id for ci commits
   up     20150930001110  Merge request error field
   up     20150930095736  Add null to name for ci projects
   up     20150930110012  Add group share lock
   up     20151002112914  Add stage idx to builds
   up     20151002121400  Add index for builds
   up     20151002122929  Add ref and tag to builds
   up     20151002122943  Migrate ref and tag to build
   up     20151005075649  Add user id to build
   up     20151005150751  Add layout option for users
   up     20151005162154  Remove ci enabled from application settings
   up     20151007120511  Namespaces projects path lower indexes
   up     20151008110232  Add users lower username email indexes
   up     20151008123042  Add type and description to builds
   up     20151008130321  Migrate name to description for builds
   up     20151008143519  Add admin notification email setting
   up     20151012173029  Set jira service api url
   up     20151013092124  Add artifacts file to builds
   up     20151016131433  Add ci projects gl project id index
   up     20151016195451  Add ci builds and projects indexes
   up     20151016195706  Add notes line code index
   up     20151019111551  Fix build tags
   up     20151019111703  Fail build without names
   up     20151020145526  Add services template index
   up     20151020173516  Ci limits to mysql
   up     20151020173906  Add ci builds index for status
   up     20151023112551  Fail build with empty name
   up     20151023144219  Remove satellites
   up     20151026182941  Add project path index
   up     20151028152939  Add merge when build succeeds to merge request
   up     20151103001141  Add public to group
   up     20151103133339  Add shared runners setting
   up     20151103134857  Create lfs objects
   up     20151103134958  Create lfs objects projects
   up     20151104105513  Add file to lfs objects
   up     20151105094515  Create releases
   up     20151106000015  Add is award to notes
   up     20151109100728  Add max artifacts size to application settings
   up     20151109134526  Add issues state index
   up     20151109134916  Add projects visibility level index
   up     20151110125604  Add import error to project
   up     20151114113410  Add index for lfs oid and size
   up     20151116144118  Add unique for lfs oid index
   up     20151118162244  Add projects public index
   up     20151201203948  Raise hook url limit
   up     20151203162133  Add hide project limit to users
   up     20151203162134  Add build events to services
   up     20151209144329  Migrate ci web hooks
   up     20151209145909  Migrate ci emails
   up     20151210030143  Add unlock token to user
   up     20151210072243  Add runners registration token to application settings
   up     20151210125232  Migrate ci slack service
   up     20151210125927  Migrate ci hip chat service
   up     20151210125928  Add ci to project
   up     20151210125929  Add project id to ci
   up     20151210125930  Migrate ci to project
   up     20151210125931  Add index to ci tables
   up     20151210125932  Drop null for ci tables
   up     20151218154042  Add tfa to application settings
   up     20151221234414  Add tfa additional fields
   up     20151224123230  Rename emojis
   up     20151228111122  Remove public from namespace
   up     20151228150906  Influxdb settings
   up     20151228175719  Add recaptcha to application settings
   up     20151229102248  Influxdb udp port setting
   up     20151229112614  Influxdb remote database setting
   up     20151230132518  Add artifacts metadata to ci build
   up     20151231152326  Add akismet to application settings
   up     20151231202530  Remove alert type from broadcast messages
   up     20160106162223  Add index milestones title
   up     20160106164438  Remove influxdb credentials
   up     20160109054846  Create spam logs
   up     20160113111034  Add metrics sample interval
   up     20160118155830  Add sentry to application settings
   up     20160118232755  Add ip blocking settings to application settings
   up     20160119111158  Add services category
   up     20160119112418  Add services default
   up     20160119145451  Add ldap email to users
   up     20160120172143  Add base commit sha to merge request diffs
   up     20160121030729  Add email author in body to application settings
   up     20160122185421  Add pending delete to project
   up     20160128212447  Remove ip blocking settings from application settings
   up     20160128233227  Change lfs objects size column
   up     20160129135155  Remove dot atom path ending of projects
   up     20160129155512  Add merge commit sha to merge requests
   up     20160202091601  Add erasable to ci build
   up     20160202164642  Add allow guest to access builds project
   up     20160204144558  Add real size to merge request diffs
   up     20160209130428  Add index to snippet
   up     20160212123307  Create tasks
   up     20160217100506  Add description to label
   up     20160217174422  Add note to tasks
   up     20160220123949  Rename tasks to todos
   up     20160222153918  Create appearances ce
   up     20160223192159  Add confidential to issues
   up     20160225090018  Add delete at to issues
   up     20160225101956  Add delete at to merge requests
   up     20160226114608  Add trigram indexes for searching
   up     20160227120001  Add event field for web hook
   up     20160227120047  Add event to services
   up     20160229193553  Add main language to repository
   up     20160301124843  Add visibility level to groups
   up     20160302151724  Add import credentials to project import data
   up     20160302152808  Remove wrong import url from projects
   up     20160305220806  Remove expires at from snippets
   up     20160307221555  Disallow blank line code on note
   up     20160308212903  Add default group visibility to application settings
   up     20160309140734  Fix todos
   up     20160310124959  Add due date to issues
   up     20160310185910  Add external flag to users
   up     20160314143402  Projects add pushes since gc
   up     20160315135439  Project add repository check
   up     20160316123110  Ci runners token index
   up     20160316192622  Change target id to null on todos
   up     20160316204731  Add commit id to todos
   up     20160317092222  Add moved to to issue
   up     20160320204112  Index namespaces on visibility level
   up     20160324020319  Remove todos for deleted issues
   up     20160328112808  Create notification settings
   up     20160328115649  Migrate new notification setting
   up     20160328121138  Add notification setting index
   up     20160329144452  Add index on pending delete projects
   up     20160331133914  Remove todos for deleted merge requests
   up     20160331223143  Remove twitter sharing enabled from application settings
   up     20160412140240  Add repository checks enabled setting
   up     20160415133440  Add shared runners text to application settings
   up     20160419120017  Add metrics packet size
   up     20160421130527  Disable repository checks

Jeśli są wszystkie up to jest ok. Jak nie trzeba je przemigrować ponownie:

gitlab-rake db:migrate

Następnie sprawdzamy poprawność całej "instancji" GitLaba:

gitlab-rake gitlab:check SANITIZE=true
Checking GitLab Shell ...

GitLab Shell version >= 2.7.2 ? ... OK (2.7.2)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
hooks directories in repos are links: ...
7/1 ... repository is empty
11/3 ... repository is empty
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Check directories and files:
        /var/opt/gitlab/git-data/repositories: OK
        /var/opt/gitlab/.ssh/authorized_keys: OK
Test redis-cli executable: redis-cli 2.8.24
Send ping to redis server: PONG
gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking Reply by email ...

Reply by email is disabled in config/gitlab.yml

Checking Reply by email ... Finished

Checking LDAP ...

LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab ...

Git configured with autocrlf=input? ... yes
Database config exists? ... yes
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory setup correctly? ... yes
Init script exists? ... skipped (omnibus-gitlab has no init script)
Init script up-to-date? ... skipped (omnibus-gitlab has no init script)
projects have namespace: ...
7/1 ... yes
11/3 ... yes
Redis version >= 2.8.0? ... yes
Ruby version >= 2.1.0 ? ... yes (2.1.8)
Your git bin path is "/opt/gitlab/embedded/bin/git"
Git version >= 2.7.3 ? ... yes (2.7.4)
Active users: 6

Checking GitLab ... Finished

Jak tu nam wywali na czerwono jakiś błąd to od razu podpowie jak go naprawić. Naprawiamy puszczamy polecenie jeszcze raz i weryfikujemy. Jeśli to nie pomoże to zabieramy się za naprawę błędu. Edytujemy plik : /opt/gitlab/embedded/service/gitlab-rails/app/models/project_wiki.rb.

linie 158:

   "#{@user.username} #{action} page: #{title}"

modyfikujemy tak:

   "#{@user.name} #{action} page: #{title}"


Następnie edytujemy plik: /opt/gitlab/embedded/service/gitlab-rails/app/services/wiki_pages/create_service.rb

module WikiPages
  class CreateService < WikiPages::BaseService
    def execute
      page = WikiPage.new(@project.wiki)

      if page.create(@params)
        execute_hooks(page, 'create')
      end

      page
    end
  end
end

Zamieniamy na:

module WikiPages
  class UpdateService < WikiPages::BaseService
    def execute(page)
      if page.update(@params[:content], @params[:format], @params[:message])
        execute_hooks(page, 'update')
      end

      page
    end
  end
end

Restartujemy GitLaba testujemy i powinno być Ok. źródło do rozwiązania (szczegóły w komentarzach są):
https://gitlab.com/gitlab-org/gitlab-ce/issues/15623#note_5054714
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3924/diffs#diff-2


piątek, 8 kwietnia 2016

Wyłączenie pojedynczych katalogów z zabezpieczenia hasłem w .htaccess

Tak się czasami za dzieje, że musimy witrynę zabezpieczyć hasłem całą, ale do malutkiego podfolderu musi być normalny dostęp. Przedstawię poniżej najprostszy sposób wprowadzony i przetestowany na Apache2 2.4.x. Tworzymy/modyfikujemy plik .htaccess który zabezpiecza naszą witrynę (nie będę opisywał składni pliku do zabezpieczania witryny). Jak już przy wchodzeniu na stronę wszędzie pyta się nam o hasło przechodzimy do odbezpieczania interesujących nas katalogów.
W subfolderach, które chcemy mieć wolne umieszczamy plik .htaccess o następującej składni:

Order Allow,Deny
Allow from all
Satisfy any

To powinno wystarczyć. Jeśli jednak ciągle prosi o hasło, to należy zobaczyć, czy po anulowaniu żądania hasła wyświetla nam jakiekolwiek treści. Jeśli tak to znaczy, że strona odwołuje się także do innych folderów, w których także powinniśmy umieścić powyższy plik .htaccess np folder z grafiką, lub stylem css.

czwartek, 26 lutego 2015

Jak usunąć adware right coupon/myapps, oraz inne "wirusy" ze swojego komputera

Ostatnio miałem nieprzyjemność spotkać się z tego typu adware, wobec którego adwcleaner, adblock ghostery i różnego rodzaju oprogramowanie nie potrafiło go usunąć. Na pewno jak piszą na wielu rodzaju stronach należy odinstalować z systemu wszelakiego rodzaju oprogramowanie, które wydaje się nam niepotrzebne lub niechciane. W przeglądarkach następnie należy usunąć niepotrzebne, nieużywane i niepożądane dodatki. Przechodzimy teraz do czyszczenia. Zrobimy to kompleksowo i pewnie przy okazji usuniemy dodatkowe niechciane programy szpiegujące, odpowiedzialne za dziwne zachowanie komputera i niechciane reklamy.
Najpierw ściągamy najnowszą wersję AdwCleaner`a ze strony: http://www.bleepingcomputer.com/download/adwcleaner/ i go uruchamiamy:
Zamykamy wszystkie otwarte przeglądarki internetowe, zapisujemy prace, których nie chcemy utracić i naciskamy "Scan" w aplikacji, a następnie cierpliwie czekamy na wyniki skanowania. Po ukończonym skanowaniu w zakładkach (Service, Folders, Files, itp) możemy sobie sprawdzić co nam program znalazł. Żeby wyczyścić komputer wciskamy "Clean". Po skończonym czyszczeniu komputer będzie się restartował. Jak już się ponownie uruchomi pokaże się nam raport z tego co usunął.
Następnym krokiem/aplikacją, której użyjemy jest RKill do pobrania ze strony: http://www.bleepingcomputer.com/download/rkill/ po uruchomieniu ukaże się nam okno:
Czekamy, az program skończy i przechodzimy do następnej aplikacji JRT dostępnej na stronie: http://www.bleepingcomputer.com/download/junkware-removal-tool/ Uruchamiamy aplikację:
Wciskamy "Spację". W trakcie skanowanie pozamyka przeglądarki internetowe jak są uruchomione.
Ostatnim programem, który posprzątać powinien całą resztę jest ComboFix dostępny: http://www.bleepingcomputer.com/download/combofix/
Dobrze przed uruchomieniem wyłączyć program antywirusowy, a najlepiej jeszcze uruchamiać go w trybie awaryjnym systemu Windows. Uruchamiamy aplikację:
Potwierdzamy "Zgadzam się"
Jeśli nie wyłączyliśmy antywirusa pojawi się nam taki komunikat:
Oraz "standardowy błąd" - potwierdzamy Ok
 W tym miejscu jeśli nie mamy zainstalowanej konsoli odzyskiwanie systemu Windoww program będzie proponował ściągnięcie jej i instalację.




Po tych zabiegach uruchamiamy ponownie komputer i sprawdzamy czy pozbyliśmy sie nieproszonych gości. Powyższe programy przed użyciem powinny być "świeżo" ściągnięte z internetu ze względu, na to że nasze na dysku mogą być już nieaktualne i zainfekowane. Tą procedurę warto raz na jakiś czas profilaktycznie powtarzać na naszym komputerze. Dodatkowo warto zaopatrzyć nasze przeglądarki o wcześniej wspominane dodatki jak AdBlock i Ghostery, przez które komfort i bezpieczeństwo przeglądania internetu będzie poprawione, nie wspominając już o instalowaniu najnowszych poprawek do programów antywirusowych i systemu Windows. Nie zabezpieczymy sie tym nigdy na 100%, ale zawsze zmniejszymy prawdopodobieństwo załapania niechcianego typu adware itp.






czwartek, 29 stycznia 2015

Samsung Galaxy Core Plus (SM-G3500) czyszczenie partycji Cache i dodawanie uprawnień root

Z czasem staje się tak, że telefon staje się zamulony aplikacje fiksują itp. Zanim wyczyścimy nasz telefon od nowa i będziemy męczyć się z konfiguracją i instalacją aplikacji, to w pierwszej kolejności warto wyczyścić partycje Cache. Ta operacja nie wiąże się z utratą danych. Żeby wykonać czyszczenie należy:

  1. Wyłączyć telefon
  2. Wcisnąć i przytrzymać przyciski: "Volume Up", "Home" and "Power" naraz
  3. Trzymamy je do czasu jak się pojawi logo Samsung, wtedy puszczamy przycisk "Power"
  4. Po chwili powinien ukazać się obrazek robocika z wykrzyknikiem i wtedy puszczamy wszystkie wciśnięte przyciski
  5. Wciskamy przycisk "Volume Up", "Home" i pojawia nam się Menu Recovery
  6. Za pomocą przycisku "Volume Down" zaznaczamy "wipe cache partition"
  7. Wciskamy przycisk "Power" żeby potwierdzić wybór
  8. Telefon po wykonanej operacji sam się zrestartuje
Zostaje nam tylko sprawdzić czy po tej operacji uzyskaliśmy żądany przez na efekt. Jeśli nie i dalej mamy problemy powtarzamy powyższą procedurę, lecz zamiast "wipe cache"  wybieramy opcje formatu partycji cache i factory reset.
Lecz jeśli jednak ciągle żal nam danych i chcielibyśmy jednak zarchiwizować WSZYSTKIE dane, aplikacje i ustawienia, to potrzebujemy uprawnień root, żeby można było skorzystać z Titanium Backup.

Żeby zainstalować roota (szczególnie w najnowszej wersji systemu) to w pierwszej kolejności w systemie (Ustawienia -> Zabezpieczenia -> Nieznane źródła) zezwalamy na instalację aplikacji z poza Sklepu Play. Następnie ze strony: http://www.mgyun.com/m/en ściągamy aplikację iRoot i wgrywamy ją na kartę pamięci urządzenia i następnie instalujemy. Powita nas ekran z  azjatyckimi znaczkami i klikamy na przycisk w którym pojawia się słowo "ROOT" i czekamy jak skończy i buźka będzie uśmiechnięta to znaczy, że się udało. Można doinstalować aplikację "SuperSu" do kompletu jakby się okazało, że jakaś aplikacja jej potrzebuje. Po tym instalujemy Titanium Backup i możemy sobie wykonać kopie danych (pamiętajmy, żeby pliki backupu wykonywały się na Karcie SD, więc trzeba to w programie ustawić), aplikacji i ustawień przed przywróceniem telefonu do ustawień fabrycznych. Po wyczyszczeniu telefony ponownie instalujemy iRoot i Titanium backup i odzyskujemy dane i aplikacje z backupu.
I cieszymy się odmuloną komórką

środa, 22 października 2014

CentOS 7 problem z autostartem klienta NRPE z innym użytkownikiem niż nrpe

CentOS 7 momentami przekleństwo, bo coś co zawsze działało nie działa wcale, albo od d***y strony. Jak zwykle coś musi być nie tak. Mamy zainstalowanego nrpe na hoście wszystko ładnie działa Nagios zbiera wszystko tak jak trzeba , ale .... do momentu restartu maszyny. Okazuje się, że usługa nie wstaje automatycznie. Sprawdzamy co się dzieje:

[root@localhost ~]# service nrpe start
[root@localhost ~]# systemctl status  nrpe.service
nrpe.service - NRPE
   Loaded: loaded (/usr/lib/systemd/system/nrpe.service; enabled)
   Active: active (running) since Tue 2014-10-21 08:02:23 CEST; 1 day 1h ago
 Main PID: 31220 (nrpe)
   CGroup: /system.slice/nrpe.service
           └─31220 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d

Oct 21 08:02:22 localhost.localdomain nrpe[31220]: Starting up daemon
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Warning: Could not set effective GID=997
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Warning: Unable to change supplementary groups using initgroups()
Oct 21 08:02:23 dlocalhost.localdomain nrpe[31220]: Warning: Could not set effective UID=998

Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Server listening on xxx.xxx.xxx.xxx port 5666.
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Listening for connections on port 0
Oct 21 08:02:23 localhost.localdomain nrpe[31220]: Allowing connections from: xxx.xxx.xxx.xxx
Oct 21 08:02:23 localhost.localdomain systemd[1]: Started NRPE.


Wychodzi na to, że NRPE nie może sobie poradzić, z uruchomieniem z innym użytkownikiem niż nrpe. Odpalmy wtakim razie nrpe z poziomu xinetd:

yum install xinetd
cd /etc/xintetd.d

Tworzymy plik startowy dla nrpe:
 vi nrpe

service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/sbin/nrpe
        server_args     = -c /etc/nagios/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 xxx.xxx.xxx.xxx
}

Musimy dodać jeszcze odpowiedni wpis w /etc/services, żeby xinetd odpowiedniouruchomił
vi /etc/services

Szukamy takiej linijki:

###UNAUTHORIZED USE: Port 5666 used by SAIC NRPE############

Jeśli jest to pod nią wpisujemy (jak nie to wpisujemy na wysokości, gdzie nasz port powinien się znaleźć):
nrpe<--><------>5666/tcp<------><------>#NRPE


Wyłączamy klasyczne startowanie nrpe i uruchamiamy je z poziomu xinetd, oraz automatyczny jej start:

chkconfig nrpe off
chkconfig xinetd on
service xinetd start

Sprawdzamy czy usługa odpowiednio wstała:
netstat -tulpn

jak pokazuje się wpis:
tcp6       0      0 :::5666                 :::*                    LISTEN      807/xinetd

jest ok. Profilaktycznie można zrestartować maszynę i sprawdzić, czy wszystko działa tak jak potrzeba.

środa, 1 października 2014

Monitoring macierzy LSI MEGARAID SAS w Nagiosie.

Wracamy do kwestii macierzy RAID, teraz zajmiemy się rozwiązaniem firmy LSI MEGARAID SAS. Mamy już wcześniej zainstalowane MegaCli i chcemy teraz na bieżąco monitorować stan dysków w Nagiosie. Mega Cli może my poprać, ze strony: http://www.thomas-krenn.com/de/download.html I instalujemy. Instalacje jest prosta, więc nie będę opisywał tu tej procedury.
Pierwsze próby podpięcia wtyczki check_megaraid_sas zakończyły się tym, że po stronie serwera monitorowanego dostajemy prawidłowy output, lecz po stronie serwera nagiosa wynik się nie pokrywa (pokazuje, że jest ok, ale nie pokazuje stanu kontrolerów). Winne temu jest sudo. Musimy zmodyfikować odpowiednio plik sudoers.
Dodajemodpowiednie wpisy do sudo (pamiętajmy o sprawdzeniu ścieżki do MegaCli/MegaCli64):

visudo

Defaults:nagios !requiretty
nagios  ALL=(ALL)       NOPASSWD: /usr/lib/nagios/plugins/
nagios  ALL=(ALL)       NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64

Następnie instalujemy plugin do nagiosa z:

wget http://www.techno-obscura.com/~delgado/code/check_megaraid_sas


Żeby prawidłowo nam zadziałał musimy zmodyfikować w nim linię:

my $megaclibin = '/opt/MegaRAID/MegaCli/MegaCli64';  # the full path to your MegaCli binary

na taką jak powyżej, lub inną ścieżkę w zależności, gdzie znajduje się plik MegaCli64/Megacli.

Wgrywamy go do katalogu pluginów Nagios`a /usr/lib/nagios/plugins/ lub /usr/lib64/nagios/plugins (w zależności od architektury)

W pliku /etc/nagios/nrpe.cfg na kliencie dodajemy (pamiętajmy, żeby nazwa użytkownika w tym pliku zgadzała się z nazwą użytkownika w sudoers, no i oczywiście prawidłowa ścieżka do pluginu):

command[check_megaraid_sas]=/usr/lib/nagios/plugins/check_megaraid_sas



Jeśli są pokazywane jakiekolwiek błędy dysków, a nie chcemy, żeby wiecznie wisiały w Nagiosie musimy w poleceniu użyć przełącznika, za pomocą którego je zignorujemy:

Usage: [-s number] [-m number] [-o number]
-s is how many hotspares are attached to the controller
-m is the number of media errors to ignore
-p is the predictive error count to ignore
-o is the number of other disk errors to ignore

Teraz po stronie serwera Nagios`a tworzymy/modyfikujemy plik konfiguracyjny hosta i zamieszczamy w nim wpis::

define service{
        use             graphed-service     ; Name of service template to use
        host_name         Nasza_Nazwa
        service_description    Raid Status
        check_command     check_nrpe!5666!check_megaraid_sas
        }


Może się jeszcze po stronie serwera nagios pojawić taka niespodzianka:

NRPE: Unable to read output

Po sprawdzeniu plików konfiguracyjnych, sudoers i pliku pluiginu i tam jest ok, to problem może tkwić po stronie sellinuxa to polecenie powinno naprawić (jak zwykle zwracamy uwagę na ścieżke do pliku):

restorecon -R -v /usr/lib64/nagios/plugins/check_megaraid_sas


Po tych zabiegach wszytko u mnie wróciło do normy i Nagios prawidłowo odczytuje wyniki z pluginu.
Następnym razem opisze w jaki sposób diagnozować dyski, w których pojawiają się błędy, a także jak rozwiąże jeden przypadek braku chęci współpracy sudo z pluginem.
       
       

piątek, 19 września 2014

Apache + Tomcat + Cartyfikaty SSL (+ ew Alfresco) + htaccess = łatwo

Mamy już zainstalowane Alfresco (w tym przypadku wersja 5 Community Edition + system operacyjny CentOS 7), więc nie będę zagłębiał się w szczegóły instalacji i jego wstępnej konfiguracji. Na chwile obecną chcemy to ustawić, żeby wyglądało po ludzku i dodatkowo to zabezpieczyć, oraz nie męczyć się z zawiłościami konfiguracyjnymi certyfikatów i zabezpieczenia katalogów w Tomcat.
W pierwszej kolejności wywalamy zawartość katalogu /opt/alfresco/tomcat/webapps/ROOT i tworzymy tam plik index.jsp o następującej zawartości:

<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Page Redirection</title>
</head>
<body>
<center>
<h1>Page Redirection</h1>
</center>
<%
   // New location to be redirected
      String site = new String("https://alfresco.domain.com");
     response.setStatus(response.SC_MOVED_TEMPORARILY);
    response.setHeader("Location", site);.
%>
</body>
</html>


Co przekieruje nam każde zapytanie z głównego katalogu Tomcata na wskazaną przez nas lokalizację.

Następnie instalujemy apache i konfigurujemy https i mod_jk.so, które pełni role łącznika pomiędzy Apachem a Tomcatem

To instalujemy z paczki:
yum install httpd httpd-devel mod_ssl gcc

A to musimy teraz ściągnąć i skompilować - tomcat connectors:
wget http://ftp.ps.pl/pub/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz

rozpakowywujemy:
tar xzf tomcat-connectors-1.2.40-src.tar.gz
cd tomcat-connectors-1.2.40-src
cd native


i kompilujemy (warto sprawdzic wcześniej lokalizacje pliku apxs):
./configure --with-apxs=/usr/bin/apxs
make
cd apache-2.0


Kopiujemy skompilowany moduł do odpowiedniej lokalizacji:
cp mod_jk.so /etc/httpd/modules/

Następnie konfigurujemy Apache tak, żeby nasza instalacja Alfresco działała w bezpiecznym połączeniu. Musimy dodać następujące wpisy do /etc/htps/conf.d/ssl.conf:

LoadModule    jk_module  /etc/httpd/modules/mod_jk.so
JkWorkersFile /opt/alfresco/tomcat/conf/workers.properties
JkLogFile     /var/log/httpd/mod_jk.log
JkLogLevel    info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
LoadModule auth_basic_module modules/mod_auth_basic.so


<VirtualHost alfresco.domain.com:443>

    ServerName alfresco.domain.com
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/certyfikat.cert
    SSLCertificateKeyFile /etc/httpd/ssl/certyfikat.key
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
              #   JkOptions indicate to send SSL KEY SIZE,
                  JkOptions +ForwardKeySize -ForwardDirectories

                   JkMount /* tomcat
                   JkMount / tomcat

                   <Location "/share">
                       Order allow,deny
                       Allow from all
                       AuthType Basic
                       AuthName "Restricted Files"
                       AuthUserFile /opt/alfresco/tomcat/webapps/share/users
                       Require user some_user
                     </Location>.

                   JkMount /share/* tomcat
                   JkMount /share tomcat

                   <Location "/alfresco">
                       Order allow,deny
                       Allow from all
                       AuthType Basic
                       AuthName "Restricted Files"
                       AuthUserFile /opt/alfresco/tomcat/webapps/alfresco/users
                       Require user some_user
                     </Location>.

                   JkMount /alfresco tomcat
                   JkMount /alfresco/* tomcat

</VirtualHost>




Tworzymy plik workera dla Tomcata(trzeba zwrócić uwagę na port czy wpisujemy odpowiedni):
/opt/alfresco/tomcat.conf/worker.properties:

worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1


Tworzymy pliki users w lokalizacjach:
/opt/alfresco/tomcat/webapps/share/
/opt/alfresco/tomcat/webapps/alfresco/


A jego zawartość powinna wyglądać:
some_user:haslo_htpasswd

Restartujemy Apache:
service https restart
 
Teraz za pomocą ulubionej przeglądarki sprawdzamy, czy nasza konfiguracja działa tak jak potrzeba i jak chcieliśmy. W ten sposób mamy działającego Tomcat`a na warunkach Apache. Możemy teraz np. dodatkowo ustawić firewalla i przepuścić ruch tylko dla portów 80 i 443 i całkowicie odciąć od świata porty Tomcat`a.

piątek, 12 września 2014

Problem z sshd - no such device

Siedzimy sobie grzebiemy w pliku sshd_config np zezwalamy nowemu userowi korzystać z dobrodziejstw logowania się przez demona sshd. Zapisujemy plik wydajemy polecenie:

/etc/init.d/sshd restart

Demon niby wstaje , ale ......... ssh nie działa. Patrzymy w logi a tam widzimy:

server sshd[11115]: fatal: daemon() failed: No such device

Sprawdzamy plik konfiguracyjny, cuda nie widy ...... ciągle nic.

Po małym rekonesansie w sieci znajdujemy winowajcę. Jest nim /dev/null.
Zeby naprawic problem wystarczy go skasowac i na nowo wygenerować:

rm /dev/null
mknod /dev/null c 1 3

sprawdżmy jeszcze czy plik ma odpowiednie prawa:

ls -l /dev/null
crw-rw-rw-. 1 root root 1, 3 Sep 11 13:54 /dev/null

to jest ok. Następnie restartujemy demona SSHD.

/etc/init.d/ssdh restart

Sprawdzamy czy proces sie odpalił np:

ps auxf | grep sshd

I jeśli mamy go na liście to problem z głowy.

poniedziałek, 9 czerwca 2014

Fail2ban i exim czyli jak zaprzęgnąć kombajn do walki ze spamerami.

Na przykładzie Centos.
Spamerzy to zmora każdego admina trzeba sprawdzać co jakiś czas czy nowe adresy się nie pojawiły i je blokować, co na dłuższą metę jest upierdliwe. Postanowiłem zaprząc do tego zadania fail2ban (posiada on już domyślnie wiele opcji więc polecam pokombinować z innymi - tu opisze tylko pod exima konfigurację). Fail2ban ma za zadanie przeglądać logi i na ich podstawie zablokować na określony czas za pomocą iptables delikwenta który chce na siłę zrobić coś, czego akurat nie chcemy, żeby robił.
W pierwszej kolejności instalujemy fail2ban
yum install fail2ban
następnie go konfigurujemy /etc/faul2ban/jail.conf:

[DEFAULT]
ignoreip = 127.0.0.1/8 # adresacja ip do wykluczenia z reguł
bantime  = 600 # jak długo ma trwać
findtime  = 600 # czas w którym muszą nastąpić błędne logowania określone w Maxretry w ilości bantime, żeby reguła się załączyła
maxretry = 20 # ilośc prób do zabanowania

backend = auto

[smtpauth-iptables] #Reguła dla exim
enabled  = true
filter   = smtpauth
action   = iptables[name=SMTP, port=smtp, protocol=tcp]
logpath  = /var/log/exim/main.log
maxretry = 3



Następnie musimy stworzyć regułę smtpauth
nano /etc/fail2ban/filterd/smtpauth.conf:

# Fail2Ban configuration file
#
# Author: Christoph Haas
# Modified by: Cyril Jaquier
#
# $Revision: 510 $
#

[Definition]

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>\S+)
# Values:  TEXT
#

failregex = \[<HOST>\]: 535 Incorrect authentication data


Jak już mamy to skonfigurowane uruchamiamy fail2ban:

service fail2ban start

jeśli wszystko jest ok (trzeba sobie wyeksperymentować optymalne ustawienia), to uruchamiamy fail2ban na stałe:
chkconfig fail2ban on

Następnie obserwujemy sobie działanie programu w celu analizy konfiguracji:

tail -f /var/log/fail2ban.conf
2014-06-09 08:19:11,343 fail2ban.actions: WARNING [smtpauth-iptables] Ban 190.117.212.81
2014-06-09 08:19:12,355 fail2ban.actions: WARNING [smtpauth-iptables] Ban 178.127.149.245
2014-06-09 08:19:35,374 fail2ban.actions: WARNING [smtpauth-iptables] Ban 112.163.8.4
2014-06-09 08:19:47,389 fail2ban.actions: WARNING [smtpauth-iptables] Ban 110.175.241.141
2014-06-09 08:19:49,417 fail2ban.actions: WARNING [smtpauth-iptables] Ban 122.163.1.132
2014-06-09 08:19:52,436 fail2ban.actions: WARNING [smtpauth-iptables] Ban 36.238.173.119
2014-06-09 08:20:07,454 fail2ban.actions: WARNING [smtpauth-iptables] Ban 113.165.209.9
2014-06-09 08:20:10,470 fail2ban.actions: WARNING [smtpauth-iptables] Ban 190.226.38.61
2014-06-09 08:20:14,485 fail2ban.actions: WARNING [smtpauth-iptables] Ban 115.242.158.139
2014-06-09 08:20:14,504 fail2ban.actions: WARNING [smtpauth-iptables] Ban 118.165.207.142
2014-06-09 08:20:59,531 fail2ban.actions: WARNING [smtpauth-iptables] Unban 202.72.245.42
2014-06-09 08:21:53,558 fail2ban.actions: WARNING [smtpauth-iptables] Ban 113.172.20.62
2014-06-09 08:21:55,584 fail2ban.actions: WARNING [smtpauth-iptables] Unban 188.115.204.36
2014-06-09 08:21:55,596 fail2ban.actions: WARNING [smtpauth-iptables] Unban 115.74.75.131
2014-06-09 08:22:00,605 fail2ban.actions: WARNING [smtpauth-iptables] 92.47.46.222 already banned
2014-06-09 08:22:12,608 fail2ban.actions: WARNING [smtpauth-iptables] Ban 151.74.66.254
2014-06-09 08:22:24,624 fail2ban.actions: WARNING [smtpauth-iptables] Unban 113.186.89.228
2014-06-09 08:22:25,634 fail2ban.actions: WARNING [smtpauth-iptables] Ban 46.62.246.30
2014-06-09 08:22:25,645 fail2ban.actions: WARNING [smtpauth-iptables] Ban 222.254.10.105
2014-06-09 08:22:36,658 fail2ban.actions: WARNING [smtpauth-iptables] Ban 59.176.64.47
2014-06-09 08:22:42,671 fail2ban.actions: WARNING [smtpauth-iptables] Ban 201.255.40.43
2014-06-09 08:22:53,688 fail2ban.actions: WARNING [smtpauth-iptables] Ban 87.236.233.68
2014-06-09 08:22:58,702 fail2ban.actions: WARNING [smtpauth-iptables] Unban 81.21.97.199
2014-06-09 08:23:04,721 fail2ban.actions: WARNING [smtpauth-iptables] Ban 120.61.190.243
2014-06-09 08:23:11,737 fail2ban.actions: WARNING [smtpauth-iptables] Unban 182.68.65.167
2014-06-09 08:23:13,754 fail2ban.actions: WARNING [smtpauth-iptables] Ban 171.255.47.104
2014-06-09 08:23:33,772 fail2ban.actions: WARNING [smtpauth-iptables] Ban 183.81.45.125
2014-06-09 08:23:36,788 fail2ban.actions: WARNING [smtpauth-iptables] Ban 117.0.161.53
2014-06-09 08:23:44,812 fail2ban.actions: WARNING [smtpauth-iptables] Unban 123.21.192.65
2014-06-09 08:23:47,836 fail2ban.actions: WARNING [smtpauth-iptables] Unban 14.163.236.24
2014-06-09 08:24:09,856 fail2ban.actions: WARNING [smtpauth-iptables] Ban 181.66.156.21









Jeśli wszystko działa tak jak powinno to mamy święty spokój i "ajzatyckimi" spamerami.
Powodzenia.



środa, 28 listopada 2012

Jak rozpakować plik img z clockworkmod`a stworzony podczas backupu systemu Android

Przezornie przed instalacją nowego romu (CM, MIUI, czy jakiś inny) za pomocą  clockworkmod zrobiliśmy sobie pełen backup systemu, backup niektórych aplikacji pewnie też, ale załóżmy, że, zapomnieliśmy zbackupować sobie jeden program, a dokładniej jego dane, itp. System nowy wgrany backupem jak go nadpiszemy nie wiadomo jak to wyjdzie trzeba się dobrać do pliku img zapisanego na karcie pamięci w katalogu /clockworkmod/backup/katalog_z_data/ tu znajdują się pliki img z obrazem naszego starego systemu. Nas interesuje w tym przypadku plik: data.img. W pierwszej kolejności musimy ściągnąć program, który nam go rozpakuje. Program do pobrania TUTAJ, trzeba także pobrać plik cygwin1.dll i umieścić go
 w katalogu C:\Windows\System32 do pobrania TUTAJ (najpierw trzeba wypakować plik dll z archiwum). Tworzymy teraz folder na komputerze, w którym umieszczamy plik programu (unyaffs.exe) i nasz plik img. Uruchomiamy wiersz poleceń (Start -> Uruchom -> cmd) i przechodzimy do katalogu z programem i naszym plikem img: "cd c:\ścieżka_do_programu\". Następnie wydajemy polecenie "unyaffs.exe data.img" i czekamy, aż program przestanie działać. W katalogu w którym mieliśmy plik img i działał program znajdziemy jego rozpakowaną zawartość. Teraz wystarczy znaleźć interesujące nas pliki i wgrać na partycję systemową Androida w odpowiednie miejsca. Musimy pamiętać, że do wgrania czegokolwiek na partycje systemową potrzebne są nam prawa ROOT`a, no i oczywiście trzeba pamiętać, żeby robić to na spokojnie, bo inaczej skutki mogą być takie, że trzeba będzie cały system od nowa wgrywać.

wtorek, 27 listopada 2012

Ati2Dvag, czyli jak się pozbyć niebieskiego ekranu bez marnowania tygodni z serwisem.

Nowy (no prawie nowy) laptop system postawiony (Windows XP) od  nowa instalujemy sterowniki i niezbędne oprogramowanie, poprawki do systemu. Reset ....... BSOD!!! Ati2Dvag się pojawia jako przyczyna naszego problemu. Zdarzyło mi się to wielokrotnie na laptopach firmy HP. Serwis po tygodniach wysyłania logów, zrzutów pamięci itp. nie był w stanie pomóc, dlatego dojście do winowajcy i rozwiązanie problemu nie było takie proste. Winowajcą był konflikt sterowników graficznych z oprogramowaniem antywirusowym. Sterownik sam w sobie pracuje bez zarzutu, a np. z oprogramowaniem Symantec Endpoint Protection już nie i wywala niebieski ekran przy każdorazowym uruchomieniu komputera. Rozwiązania są w sumie dwa. Pierwsze zmiana klienta antywirusowego na inny, a drugie to po prostu instalacja najnowszych sterowników graficznych i to na pewno nie ze strony producenta komputera/laptopa, lecz ze strony  producenta układu graficznego. Na chwilę obecną wyleczalność problemu (problem ten dotyczył jak na razie 3 modeli laptopów HP - czyli kilku/kilkunastu sztuk) za pomocą odpowiednich sterowników wyniosła 100%. Serwis HP nie był wstanie dojść do przyczyny problemu, a na wieść o konflikcie umył ręce jako, że problem dotyczył SYMANTEC`a.

środa, 17 października 2012

Jak wyeksportować nie exportowalnie certyfikaty z Windowsa XP do importu w Windowsie 7

Czasem zdarza się potrzeba zrobienia rzeczy nie do zrobienia. Czyli exportu certyfikatu użytkownika w Windowsie XP, którego system nie pozwala zrobić. Z pomocą przychodzi nam program mimikatz 1.0 do pobrania tutaj: http://blog.gentilkiwi.com/mimikatz. Pobieramy program, następnie wyłączamy oprogramowanie antywirusowe. Dodajemy usera do grupy administratorów lokalnych i logujemy się na jego koncie (w systemie Windows XP). Teraz trzeba rozpakować pobrany program. W zależności z jakiej architektury korzystamy wybieramy katalog "x64", lub "win32" i uruchamiamy plik "mimikatz.exe". Teraz wystarczą dwa polecenia, żeby program wyeksportował nam zabezpieczone certyfikaty. W pierwszej kolejności wykonujemy komendę: crypto::patchcapi, która jest odpowiedzialna za to, żeby program zapisał certyfikaty, a następnie komenda: crypto::exportCertificates, która wydłubie je nam z systemu. Plików certyfikatu szukamy w katalogu, z którego uruchomiliśmy program. Wystarczy je skopiować np. na pendrive i zaimportować z poziomu danego usera (tego samego co w Windowsie XP) do systemu (Windows 7). Przy imporcie certyfikatu będzie się system pytał o hasło, wystarczy wpisać: mimikatz, i import zostanie dokończony.

piątek, 20 lipca 2012

Windows 7 problem z kopiowaniem większych plików przez sieć lokalną

Może się zdarzyć, że próbując skopiować sobie plik z udostępnionego katalogu w sieci komputer odmówi wam operacji takim oto komunikatem:
Problem został opisany dokładnie na stronie Microsoftu: http://support.microsoft.com/kb/900900/pl.
Ja poniżej opisz w jaki sposób szybko pozbyć się problemu i zwiększyć ograniczenie pliku do 2,5 GB.

1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz regedit i kliknij przycisk OK.
2. Zlokalizuj i kliknij następujący podklucz rejestru:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
3. W prawym okienku kliknij prawym przyciskiem myszy wartość FileSizeLimitInBytes , a następnie kliknij przycisk Modyfikuj.
Jeśli wartość FileSizeLimitInBytes jest niewidoczny, kliknij prawym przyciskiem myszy pusty obszar w prawym okienku, kliknij przycisk Nowy, kliknij polecenie Wartość DWORD, wpisz FileSizeLimitInBytesi kliknij przycisk OK.
4. W polu Edytowanie wartości DWORD , kliknij opcję dziesiętny . W polu Dane wartości wpisz wartość, która jest większy niż rozmiar pliku, który chcesz pobrać. Kliknij przycisk OK.
Uwaga Domyślna wartość limitu rozmiaru pliku jest 50000000 bajtów.
Zamknij Edytor rejestru. Uruchom ponownie komputer.
Tak ja pisze powyżej domyślna wartość po przeliczeniu na MB daje nam 50MB maksymalnej wielkości pliku. Żeby zwiększyć sobie rozmiar do założonych wcześniej 2,5 GB (w sam raz, żeby przegrać sobie plik pst z Outlooka po sieci) to musimy przeliczyć sobie:
"2,5 GB = 2684354560 bajtów = A0000000".
 Jeśli interesuje nas inny zakres wielkości pliku to korzystając z przelicznika on line przeliczamy sobie dana wartość na bajty, a później za pomocą kalkulatora systemowego (widok naukowy) przeliczamy Bin na Hex.
I wprowadzamy zwróconą wartość do rejestru. Reset komputera i można kopiować większe pliki.

czwartek, 28 czerwca 2012

Pobieranie aplikacji z marketu na dysk komputera w postaci pliku.

Android Market/Sklep Play to taki twór, który czasem twierdzi, że dana aplikacja nie może działać na naszym telefonie/tablecie pomimo, że są pewne szanse, że jednak zadziała. Co wtedy? Wtedy bierzemy urządzenie, które ma interesującą nas aplikacje w markecie.
Potrzebna będzie nam przeglądarka CHROME i dodatek APK DOWNLOADER. Za pomocą przeglądarki Chrome wchodzimy na stronę: http://apps.evozi.com/apk-downloader/ i instalujemy dodatek. Po instalacji pojawi się nam ekran proszący o parametry do Sklepu Play:
Musimy tu podać nazwę konta powiązanego z marketem i hasło no i Android Device ID. Żeby uzyskać nasze ID wystarczy z marketu zainstalować sobie aplikacje Device ID https://play.google.com/store/apps/details?id=com.redphx.deviceid&hl=pl po uruchomieniu której wyświetli się nam 16 znakowe ID i adres e-mail przypisany do telefonu/marketu. Wypełniamy te parametry i możemy ściągać pliki z marketu. Dla przykładu posłużymy się darmową nawigacją na Androida. Wchodzimy na stronę: https://play.google.com/store/apps/details?id=com.mapfactor.navigator. I klikamy na rysunek robota.
Otworzy się nam strona z takim komunikatem:
I rozpocznie się ściąganie pliku apk. Wystarczy później ten plik umieścić na karcie telefonu interesującego nas urządzenia (należy pamiętać, żeby w ustawieniach mieć zaznaczoną w zakładce aplikacje opcje pozwalającą na instalowanie aplikacji z nieznanych źródeł). I możemy się wtedy cieszyć aplikacjami, które niby nie są przeznaczone dla naszych urządzeń.

poniedziałek, 11 czerwca 2012

Zmiana w BIOS nr seryjnego i product number w komputerach/laptopach HP

Jako, że czasem się zdarza, że pada coś tak istotnego jak płyta główna i trzeba ją wymienić, a takie rzeczy jak S/N i P/N są ważne z punktu ew dalszej gwarancji. Serwisanci są tez rożni i z różnym zasobem wiedzy. Sam ostatnio byłem świadkiem jak pan próbował te ustawienia zmienić i pomimo wskazówek wcześniej otrzymanych nie ogarnął tematu. Ten sposób powinien zadziałać na części komputerów/laptopów firmy HP. Osobiście przeprowadzałem tą operacje na komputerze serii HP Compaq 8000. Więc od początku. Uruchamiamy komputer i wciskamy klawisz F10 w celu wejścia do BIOS. Wybieramy język i wybieramy zakładkę "Security"
Interesować będzie nas w tym przypadku pozycja "System IDs", ale zanim wejdziemy w tą funkcję wciskamy najpierw kombinacje klawiszy "Ctrl+A", a następnie wchodzimy we wspomnianą funkcje.
Pierwsza pozycja "Enter Chassis Serial #" tam wpisujemy nr seryjny taki jaki powinniśmy mieć (starej płyty głównej), a w pozycji "Enter Product Name" wpisujemy Product Number/Model Number też ze starej płyty głównej. Zatwierdzamy klawiszem F10, wychodzimy z BIOS`u i mamy zmienione parametry.

piątek, 1 czerwca 2012

Zdalne wyłączenie komputera w sieci LAN z Windowsem.

Pracując w sieci mamy czasem sporo komputerów, a niektóre ze względu na swoją wykonywaną prace czasem nie posiadają klawiatury, myszki i monitora, albo po prostu jesteśmy leniwi i nie chce nam się lecieć na drugi koniec sieci :). Windows ma to do siebie, ze czasem się zawiesza, wtedy nie mamy także dostępu do zdalnego pulpitu, ale może udać się próba zdalnego zresetowania maszyny, bez potrzeby udawania się na miejsce. Z pomoca przychodzi nam linia komend systemu Windows. Musimy posiadać uprawnienia administratora, i wtedy wydajemy polecenie:

shutdown /m \\NAZWA_SERWERA /r /c “Komentarz - przyczyna restartu serwera” /t 01

gdzie /m wskazuje z jaka maszyna będziemy działać, a /t 01 ustalamy czas  po jakim nastąpi restart maszyny,  /r mówi o tym, że chcemy aby maszyna się "zrestartowała", a /c pozwala na umieszczenie komentarza. Pozostałe parametry to:
-l Wylogowuje (nie można używać z opcją -m)
-s Zamyka komputer
-f Wymusza zamknięcie działających aplikacji bez ostrzeżenia

Pełny opis wszystkich opcji i składni uzyskamy wpisując z linii komend polecenie "shutdown /?"

poniedziałek, 7 maja 2012

Usuwanie hasła z pliku pst dla MS OFFICE 2003

Zapomniane hasło do pliku pst jak zwykle jest upierdliwe, ale takie sytuacje się zdarzają. Co dalej? Sciągamy program z tego linku: http://www.slipstick.com/files/pst19upg.zip. W pierwszej kolejności zamykamy Outlooka i zabezpieczony hasłem plik pst kopiujemy sobie w inne miejsce np. na pulpit i będziemy działać na kopii pliku. No to zaczynamy. Uruchamiamy za pomocą Start -> uruchom -> cmd linie komend. Następnie przechodzimy do katalogu, gdzie mamy rozpakowany już program pst19upg i wydajemy polecenie: pst19upg.exe -x filename.pst zostanie wykonana kopia pliku pst do pliku psx, następnie wykonujemy polecenie pst19upg.exe -i filename.psx, co stworzy nam plik bak, który już hasła nie posiada. Możemy się także posiłkować przed i po uruchomieniem pst19upg programem dołączonym do office o nazwie "scanpst.exe" w opcji repair. Program wyszukac można najszybciej za pomocą "wyszukaj pliki i foldery" w systemie Windows. Wystarczy zmienić mu nazwę na pst i skopiować go na swoje miejsce. Jeśli nie zadziała, mamy kopie oryginalnego pliku pst i możemy wtedy próbować innych sposobów. Innych czyli próbie wyłuskania hasła z pliku pst. Do  tego pomocny jest program PstPassword do pobrania ze strony:  www.nirsoft.net/utils/pst_password.html po ściągnięciu program uruchamiamy i wskazujemy plik pst, program pokaże nam opcjonalne hasła, w moim przypadku Password2 było prawidłowym hasłem do pliku poczty. No i następna osoba uszczęśliwiona.

czwartek, 26 kwietnia 2012

Jak dodać polskie sprawdzanie pisowni w Angielskim MS Office XP

Wreszcie coś co dało trochę do myślenia. Jak zrobić w angielskim Office, żeby po polsku sprawdzało pisownie? Potrzebować będziemy polskiej instalacji Office XP gdzieś, żeby skopiować sobie potrzebne pliki. Z komputera na którym jest zainstalowany Office XP kopiujemy cały katalog:
C:\Program Files\Common Files\Microsoft Shared\Proof na komputer z angielską wersją office (nie zapomnijmy o kopii zapasowej). Następnie na komputerze z angielską wersją uruchamiamy notatnik i wklejamy poniższą zawartość:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Grammar\1045]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Grammar\1045\Normal]
"Engine"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\1045\\MSGRPL32.DLL"
"Dictionary"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSGR_PL.LEX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Grammar\1045\Normal\Clients]
"c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\1045\\MSGRPL32.DLL"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Grammar\Vendor]
"Informatic"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\1045\\MSGRPL32.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Hyphenation]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Hyphenation\1045]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Hyphenation\1045\Normal]
"Engine"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSHYPL32.DLL"
"Dictionary"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSHY_PL.LEX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Hyphenation\1045\Normal\Clients]
"c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSHYPL32.DLL"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Hyphenation\Vendor]
"Informatic"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSHYPL32.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Spelling]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Spelling\1045]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Spelling\1045\Normal]
"Engine"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSPPL32.DLL"
"Dictionary"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSSP_PL.LEX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Spelling\1045\Normal\Clients]
"c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSPPL32.DLL"=""
@="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSPPL32.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Spelling\Vendor]
"Informatic"="c:\Program Files\Common Files\Microsoft Shared\Proof\MSPPL32.DLL"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Thesaurus]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Thesaurus\1045]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Thesaurus\1045\Normal]
"Engine"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSTHPL32.DLL"
"Dictionary"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSTH_PL.LEX"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Thesaurus\1045\Normal\Clients]
"c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSTHPL32.DLL"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Proofing Tools\Thesaurus\Vendor]
"Informatic"="c:\\Program Files\\Common Files\\Microsoft Shared\\Proof\\MSTHPL32.DLL"


i zapisujemy plik jako np. slownik_pl.reg, a następnie go uruchamiamy. Uruchamiamy World`a i wykonuemy następujące kroki: tools - > language -> set language -> zaznaczamy polish. I mamy sprawdzanie pisowni w języku polskim